Skip to main content
Glama

Update agent config

agents_update
Destructive

Replaces an active agent's configuration without restarting its conversation; send the full config, not a patch. Model and tool changes apply next model call; machine changes apply immediately.

Instructions

Replaces an active agent's config without restarting its conversation and returns the new agent_config. Model, instruction, and tool changes apply at the agent's next model call; machine changes apply immediately, stopping processes on removed machines and deleting the agent's machines from removed pools. Send the complete config, not a patch.

Input Schema

NameRequiredDescriptionDefault
orgIDYesOrganization ID (org_...).
sourceYesAgent config source as YAML or JSON text, or, with source_format json, as a JSON object.
agentIDYesAgent ID (agt_...).
projectIDYesProject ID (proj_...).
source_formatYesFormat of source: yaml or json.
expected_current_config_idNoAgent config ID (acfg_...).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.4
    • removedInput schema / $defs / AgentConfigDefinition / properties / event_webhook
      Removed value: -{
      -  "$ref": "#/$defs/AgentConfigDefinitionEventWebhook"
      -}
    • removedInput schema / $defs / AgentConfigDefinitionEventWebhook
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "events": {
      -      "items": {
      -        "enum": [
      -          "agent_input",
      -          "model_output",
      -          "tool_result",
      -          "context_checkpoint",
      -          "tool_call_update"
      -        ]
      -      },
      -      "minItems": 1,
      -      "type": "array",
      -      "uniqueItems": true
      -    },
      -    "signing_secret_id": {
      -      "minLength": 1,
      -      "type": "string"
      -    },
      -    "url": {
      -      "minLength": 1,
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "url",
      -    "events"
      -  ],
      -  "type": "object",
      -  "x-go-type": "json.RawMessage"
      -}
  2. Changed2 schema fields changedv0.1.2
    • addedInput schema / $defs / AgentConfigDefinitionGitCredentials / properties / read_only
      Added value: +{
      +  "description": "Prevents pushing, even if the integration allows it.",
      +  "type": "boolean"
      +}
    • addedInput schema / $defs / AgentConfigDefinitionGitCredentials / properties / repository_ids
      Added value: +{
      +  "description": "GitHub repository IDs the credentials can access. Defaults to every repository the installation can access.",
      +  "items": {
      +    "minimum": 1,
      +    "type": "integer"
      +  },
      +  "maxItems": 500,
      +  "minItems": 1,
      +  "type": "array",
      +  "uniqueItems": true
      +}
  3. Changed5 schema fields changedv0.1.1
    • addedInput schema / properties / agentID / description
      Added value: +"Agent ID (agt_...)."
    • addedInput schema / properties / expected_current_config_id / description
      Added value: +"Agent config ID (acfg_...)."
    • addedInput schema / properties / orgID / description
      Added value: +"Organization ID (org_...)."
    • addedInput schema / properties / projectID / description
      Added value: +"Project ID (proj_...)."
    • addedInput schema / properties / source_format / description
      Added value: +"Format of source: yaml or json."
  4. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations flag it destructive and non-idempotent, but the description adds the operationally critical detail: it is a full replacement, not a patch. It also discloses change timing (model/instruction/tool changes apply at the next model call; machine changes apply immediately) and the concrete destruction (processes stopped on removed machines, machines deleted from removed pools). That is exactly what an agent needs beyond the hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each carrying a distinct fact: what it replaces and what it returns, when changes take effect and what gets destroyed, and the full-config requirement. Front-loaded with the operation, with the critical "not a patch" constraint placed at the end for emphasis.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, full-replace mutation on a complex nested config, the description covers return value, timing, and side effects, so no output schema is needed. It omits preconditions such as whether the agent must be running rather than archived and how a stale expected_current_config_id is handled, which slightly weakens it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so 3 is the baseline, but "Send the complete config, not a patch" materially changes how the `source` parameter must be populated and is not stated in the schema. The description does not explain source vs source_format interplay or expected_current_config_id's optimistic-concurrency role, so it stops short of a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb and resource ("Replaces an active agent's config"), plus a scope clarifier that separates it from agents_launch (new agent) and configs_create/configs_update (org-level configs): this edits a live agent in place. An agent can identify the operation without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Replaces an active agent's config without restarting its conversation" gives clear context for when this tool applies and implicitly excludes launching a new agent. It does not name alternatives explicitly or state exclusions (e.g. archived agents, or when to use configs_update instead), which keeps it below a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.