Claude Platform Docs

Update Agent

beta.agents.update(stragent_id, AgentUpdateParams**kwargs) -> BetaManagedAgentsAgent
POST/v1/agents/{agent_id}

Update Agent

Parameters
agent_id: str
description: Optional[str]

Description. Omit to preserve; send empty string or null to clear.

maxLength2048
mcp_servers: Optional[Iterable[BetaManagedAgentsURLMCPServerParams]]

MCP servers. Full replacement. Omit to preserve; send empty array or null to clear. Names must be unique. Maximum 20. Every server must be referenced by an mcp_toolset in the agent's resulting tools; unreferenced servers are rejected. See the MCP connector guide.

name: str

Unique name for this server, referenced by mcp_toolset configurations. 1-255 characters.

minLength1
maxLength255
type: Literal["url"]
url: str

Endpoint URL for the MCP server.

maxLength2048
metadata: Optional[Dict[str, Optional[str]]]

Metadata patch. Set a key to a string to upsert it, or to null to delete it. Omit the field to preserve. The stored bag is limited to 16 keys (up to 64 chars each) with values up to 512 chars.

model: Optional[Model]

Model identifier. Accepts the model string, e.g. claude-opus-5, or a model_config object for additional configuration control. Omit to preserve. Cannot be cleared.

One of the following:
Union[Literal["claude-sonnet-5", "claude-fable-5", "claude-opus-5", 10 more], str]
One of the following:
Literal["claude-sonnet-5", "claude-fable-5", "claude-opus-5", 10 more]

The model that will power your agent.

See models for additional details and options.

  • claude-sonnet-5 - High-performance model for coding and agents
  • claude-fable-5 - Next generation of intelligence for the hardest knowledge work and coding problems
  • claude-opus-5 - Powerful intelligence for long-running agents and coding
  • claude-opus-4-8 - Powerful intelligence for long-running agents and coding
  • claude-opus-4-7 - Powerful intelligence for long-running agents and coding
  • claude-opus-4-6 - Powerful intelligence for long-running agents and coding
  • claude-sonnet-4-6 - Best combination of speed and intelligence
  • claude-haiku-4-5 - Fastest model with near-frontier intelligence
  • claude-haiku-4-5-20251001 - Fastest model with near-frontier intelligence
  • claude-opus-4-5 - Powerful intelligence for long-running agents and coding
  • claude-opus-4-5-20251101 - Powerful intelligence for long-running agents and coding
  • claude-sonnet-4-5 - High-performance model for agents and coding
  • claude-sonnet-4-5-20250929 - High-performance model for agents and coding
One of the following:
"claude-sonnet-5"

High-performance model for coding and agents

"claude-fable-5"

Next generation of intelligence for the hardest knowledge work and coding problems

"claude-opus-5"

Powerful intelligence for long-running agents and coding

"claude-opus-4-8"

Powerful intelligence for long-running agents and coding

"claude-opus-4-7"

Powerful intelligence for long-running agents and coding

"claude-opus-4-6"

Powerful intelligence for long-running agents and coding

"claude-sonnet-4-6"

Best combination of speed and intelligence

"claude-haiku-4-5"

Fastest model with near-frontier intelligence

"claude-haiku-4-5-20251001"

Fastest model with near-frontier intelligence

"claude-opus-4-5"

Powerful intelligence for long-running agents and coding

"claude-opus-4-5-20251101"

Powerful intelligence for long-running agents and coding

"claude-sonnet-4-5"

High-performance model for agents and coding

"claude-sonnet-4-5-20250929"

High-performance model for agents and coding

str
class BetaManagedAgentsModelConfigParams:

An object that defines additional configuration control over model use

multiagent: Optional[BetaManagedAgentsMultiagentParams]

A coordinator topology: the session's primary thread orchestrates work by spawning session threads, each running an agent drawn from the agents roster.

name: Optional[str]

Human-readable name. Must be non-empty. Omit to preserve. Cannot be cleared.

maxLength256
skills: Optional[Iterable[BetaManagedAgentsSkillParams]]

Skills. Full replacement. Omit to preserve; send empty array or null to clear.

One of the following:
class BetaManagedAgentsAnthropicSkillParams:

An Anthropic-managed skill.

skill_id: str

Identifier of the Anthropic skill (e.g., "xlsx").

minLength1
maxLength64
type: Literal["anthropic"]
version: Optional[str]

Version to pin. Defaults to latest if omitted.

minLength1
maxLength64
class BetaManagedAgentsCustomSkillParams:

A user-created custom skill.

skill_id: str

Tagged ID of the custom skill (e.g., "skill_01XJ5...").

minLength1
maxLength64
type: Literal["custom"]
version: Optional[str]

Version to pin. Defaults to latest if omitted.

minLength1
maxLength64
system: Optional[str]

System prompt. Omit to preserve; send empty string or null to clear.

maxLength100000
tools: Optional[Iterable[Tool]]

Tool configurations available to the agent. Full replacement. Omit to preserve; send empty array or null to clear. Maximum of 128 tools across all toolsets allowed.

One of the following:
class BetaManagedAgentsAgentToolset20260401Params:

Configuration for built-in agent tools. Use this to enable or disable groups of tools available to the agent.

class BetaManagedAgentsMCPToolsetParams:

Configuration for tools from an MCP server defined in mcp_servers.

class BetaManagedAgentsCustomToolParams:

A custom tool that is executed by the API client rather than the agent. When the agent calls this tool, an agent.custom_tool_use event is emitted and the session goes idle, waiting for the client to provide the result via a user.custom_tool_result event.

description: str

Description of what the tool does, shown to the agent to help it decide when to use the tool.

minLength1

JSON Schema for custom tool input parameters.

type: Literal["object"]
properties: Optional[Dict[str, object]]
required: Optional[List[str]]
name: str

Unique name for the tool. 1-128 characters; letters, digits, underscores, and hyphens.

minLength1
maxLength128
type: Literal["custom"]
version: Optional[int]

The agent's current version, used to prevent concurrent overwrites. Obtain this value from a create or retrieve response. Must be at least 1 if specified. When supplied, the request fails if it does not match the server's current version; omit to apply the update unconditionally.

formatint32
betas: Optional[List[AnthropicBetaParam]]

Optional header to specify the beta version(s) you want to use.

One of the following:
str
Literal["message-batches-2024-09-24", "prompt-caching-2024-07-31", "computer-use-2024-10-22", 38 more]
One of the following:
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"skills-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
Returns
class BetaManagedAgentsAgent:

A Managed Agents agent.

Update Agent

import os
from anthropic import Anthropic

client = Anthropic(
    api_key=os.environ.get(
        "ANTHROPIC_API_KEY"
    ),  # This is the default and can be omitted
)
beta_managed_agents_agent = client.beta.agents.update(
    agent_id="agent_011CZkYpogX7uDKUyvBTophP",
    description="updated",
)
print(beta_managed_agents_agent.id)
{
  "id": "agent_011CZkYpogX7uDKUyvBTophP",
  "archived_at": null,
  "created_at": "2026-03-15T10:00:00Z",
  "description": "A general-purpose starter agent.",
  "mcp_servers": [
    {
      "name": "example-mcp",
      "type": "url",
      "url": "https://example-server.modelcontextprotocol.io/sse"
    }
  ],
  "metadata": {
    "foo": "bar"
  },
  "model": {
    "id": "claude-opus-5",
    "effort": {
      "type": "low"
    },
    "inference_geo": "inference_geo",
    "speed": "standard"
  },
  "multiagent": {
    "agents": [
      {
        "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
        "type": "agent",
        "version": 1
      }
    ],
    "type": "coordinator"
  },
  "name": "My First Agent",
  "skills": [
    {
      "skill_id": "xlsx",
      "type": "anthropic",
      "version": "1"
    },
    {
      "skill_id": "skill_011CZkZFNu9hAbo3jZPRgTlx",
      "type": "custom",
      "version": "2"
    }
  ],
  "system": "You are a general-purpose agent that can research, write code, run commands, and use connected tools to complete the user's task end to end.",
  "tools": [
    {
      "configs": [
        {
          "enabled": true,
          "name": "bash",
          "permission_policy": {
            "type": "always_allow"
          },
          "type": "bash"
        }
      ],
      "default_config": {
        "enabled": true,
        "permission_policy": {
          "type": "always_ask"
        }
      },
      "type": "agent_toolset_20260401"
    }
  ],
  "type": "agent",
  "updated_at": "2026-03-15T10:00:00Z",
  "version": 1
}
Returns Examples
{
  "id": "agent_011CZkYpogX7uDKUyvBTophP",
  "archived_at": null,
  "created_at": "2026-03-15T10:00:00Z",
  "description": "A general-purpose starter agent.",
  "mcp_servers": [
    {
      "name": "example-mcp",
      "type": "url",
      "url": "https://example-server.modelcontextprotocol.io/sse"
    }
  ],
  "metadata": {
    "foo": "bar"
  },
  "model": {
    "id": "claude-opus-5",
    "effort": {
      "type": "low"
    },
    "inference_geo": "inference_geo",
    "speed": "standard"
  },
  "multiagent": {
    "agents": [
      {
        "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
        "type": "agent",
        "version": 1
      }
    ],
    "type": "coordinator"
  },
  "name": "My First Agent",
  "skills": [
    {
      "skill_id": "xlsx",
      "type": "anthropic",
      "version": "1"
    },
    {
      "skill_id": "skill_011CZkZFNu9hAbo3jZPRgTlx",
      "type": "custom",
      "version": "2"
    }
  ],
  "system": "You are a general-purpose agent that can research, write code, run commands, and use connected tools to complete the user's task end to end.",
  "tools": [
    {
      "configs": [
        {
          "enabled": true,
          "name": "bash",
          "permission_policy": {
            "type": "always_allow"
          },
          "type": "bash"
        }
      ],
      "default_config": {
        "enabled": true,
        "permission_policy": {
          "type": "always_ask"
        }
      },
      "type": "agent_toolset_20260401"
    }
  ],
  "type": "agent",
  "updated_at": "2026-03-15T10:00:00Z",
  "version": 1
}