Update Agent
post /v1/agents/{agent_id}
Update Agent
Path Parameters
agent_id: string
Header Parameters
-
"anthropic-beta": optional array of AnthropicBetaOptional header to specify the beta version(s) you want to use.
-
string -
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more-
"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" -
"advisor-tool-2026-03-01" -
"managed-agents-2026-04-01" -
"cache-diagnosis-2026-04-07"
-
-
Body Parameters
-
version: numberThe agent's current version, used to prevent concurrent overwrites. Obtain this value from a create or retrieve response. The request fails if this does not match the server's current version.
-
description: optional stringDescription. Up to 2048 characters. Omit to preserve; send empty string or null to clear.
-
mcp_servers: optional array of BetaManagedAgentsURLMCPServerParamsMCP servers. Full replacement. Omit to preserve; send empty array or null to clear. Names must be unique. Maximum 20.
-
name: stringUnique name for this server, referenced by mcp_toolset configurations. 1-255 characters.
-
type: "url""url"
-
url: stringEndpoint URL for the MCP server.
-
-
metadata: optional map[string]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 BetaManagedAgentsModel or BetaManagedAgentsModelConfigParamsModel identifier. Accepts the model string, e.g.
claude-opus-4-6, or amodel_configobject for additional configuration control. Omit to preserve. Cannot be cleared.-
BetaManagedAgentsModel = "claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 more or stringThe model that will power your agent.
See models for additional details and options.
-
"claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 moreThe model that will power your agent.
See models for additional details and options.
-
"claude-opus-4-7"Frontier intelligence for long-running agents and coding
-
"claude-opus-4-6"Most intelligent model for building 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"Premium model combining maximum intelligence with practical performance
-
"claude-opus-4-5-20251101"Premium model combining maximum intelligence with practical performance
-
"claude-sonnet-4-5"High-performance model for agents and coding
-
"claude-sonnet-4-5-20250929"High-performance model for agents and coding
-
-
string
-
-
BetaManagedAgentsModelConfigParams object { id, speed }An object that defines additional configuration control over model use
-
id: BetaManagedAgentsModelThe model that will power your agent.
See models for additional details and options.
-
speed: optional "standard" or "fast"Inference speed mode.
fastprovides significantly faster output token generation at premium pricing. Not all models supportfast; invalid combinations are rejected at create time.-
"standard" -
"fast"
-
-
-
-
multiagent: optional BetaManagedAgentsMultiagentParamsA coordinator topology: the session's primary thread orchestrates work by spawning session threads, each running an agent drawn from the
agentsroster.-
agents: array of BetaManagedAgentsMultiagentRosterEntryParamsAgents the coordinator may spawn as session threads. 1–20 entries. Each entry is an agent ID string, a versioned
{"type":"agent","id","version"}reference, or{"type":"self"}to allow recursive self-invocation. Entries must reference distinct agents (after resolvingselfand string forms); at most oneself. Referenced agents must exist, must not be archived, and must not themselves havemultiagentset (depth limit 1).-
string -
BetaManagedAgentsAgentParams object { id, type, version }Specification for an Agent. Provide a specific
versionor use the short-formagent="agent_id"for the most recent version-
id: stringThe
agentID. -
type: "agent""agent"
-
version: optional numberThe specific
agentversion to use. Omit to use the latest version. Must be at least 1 if specified.
-
-
BetaManagedAgentsMultiagentSelfParams object { type }Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.
-
type: "self""self"
-
-
-
type: "coordinator""coordinator"
-
-
name: optional stringHuman-readable name. 1-256 characters. Omit to preserve. Cannot be cleared.
-
skills: optional array of BetaManagedAgentsSkillParamsSkills. Full replacement. Omit to preserve; send empty array or null to clear. Maximum 20.
-
BetaManagedAgentsAnthropicSkillParams object { skill_id, type, version }An Anthropic-managed skill.
-
skill_id: stringIdentifier of the Anthropic skill (e.g., "xlsx").
-
type: "anthropic""anthropic"
-
version: optional stringVersion to pin. Defaults to latest if omitted.
-
-
BetaManagedAgentsCustomSkillParams object { skill_id, type, version }A user-created custom skill.
-
skill_id: stringTagged ID of the custom skill (e.g., "skill_01XJ5...").
-
type: "custom""custom"
-
version: optional stringVersion to pin. Defaults to latest if omitted.
-
-
-
system: optional stringSystem prompt. Up to 100,000 characters. Omit to preserve; send empty string or null to clear.
-
tools: optional array of BetaManagedAgentsAgentToolset20260401Params or BetaManagedAgentsMCPToolsetParams or BetaManagedAgentsCustomToolParamsTool 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.
-
BetaManagedAgentsAgentToolset20260401Params object { type, configs, default_config }Configuration for built-in agent tools. Use this to enable or disable groups of tools available to the agent.
-
type: "agent_toolset_20260401""agent_toolset_20260401"
-
configs: optional array of BetaManagedAgentsAgentToolConfigParamsPer-tool configuration overrides.
-
name: "bash" or "edit" or "read" or 5 moreBuilt-in agent tool identifier.
-
"bash" -
"edit" -
"read" -
"write" -
"glob" -
"grep" -
"web_fetch" -
"web_search"
-
-
enabled: optional booleanWhether this tool is enabled and available to Claude. Overrides the default_config setting.
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
type: "always_allow""always_allow"
-
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
type: "always_ask""always_ask"
-
-
-
-
default_config: optional BetaManagedAgentsAgentToolsetDefaultConfigParamsDefault configuration for all tools in a toolset.
-
enabled: optional booleanWhether tools are enabled and available to Claude by default. Defaults to true if not specified.
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
-
-
-
BetaManagedAgentsMCPToolsetParams object { mcp_server_name, type, configs, default_config }Configuration for tools from an MCP server defined in
mcp_servers.-
mcp_server_name: stringName of the MCP server. Must match a server name from the mcp_servers array. 1-255 characters.
-
type: "mcp_toolset""mcp_toolset"
-
configs: optional array of BetaManagedAgentsMCPToolConfigParamsPer-tool configuration overrides.
-
name: stringName of the MCP tool to configure. 1-128 characters.
-
enabled: optional booleanWhether this tool is enabled. Overrides the
default_configsetting. -
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
-
-
default_config: optional BetaManagedAgentsMCPToolsetDefaultConfigParamsDefault configuration for all tools from an MCP server.
-
enabled: optional booleanWhether tools are enabled by default. Defaults to true if not specified.
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
-
-
-
BetaManagedAgentsCustomToolParams object { description, input_schema, name, type }A custom tool that is executed by the API client rather than the agent. When the agent calls this tool, an
agent.custom_tool_useevent is emitted and the session goes idle, waiting for the client to provide the result via auser.custom_tool_resultevent.-
description: stringDescription of what the tool does, shown to the agent to help it decide when to use the tool. 1-1024 characters.
-
input_schema: BetaManagedAgentsCustomToolInputSchemaJSON Schema for custom tool input parameters.
-
properties: optional map[unknown]JSON Schema properties defining the tool's input parameters.
-
required: optional array of stringList of required property names.
-
type: optional "object"Must be 'object' for tool input schemas.
"object"
-
-
name: stringUnique name for the tool. 1-128 characters; letters, digits, underscores, and hyphens.
-
type: "custom""custom"
-
-
Returns
-
BetaManagedAgentsAgent object { id, archived_at, created_at, 12 more }A Managed Agents
agent.-
id: string -
archived_at: stringA timestamp in RFC 3339 format
-
created_at: stringA timestamp in RFC 3339 format
-
description: string -
mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition-
name: string -
type: "url""url"
-
url: string
-
-
metadata: map[string] -
model: BetaManagedAgentsModelConfigModel identifier and configuration.
-
id: BetaManagedAgentsModelThe model that will power your agent.
See models for additional details and options.
-
"claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 moreThe model that will power your agent.
See models for additional details and options.
-
"claude-opus-4-7"Frontier intelligence for long-running agents and coding
-
"claude-opus-4-6"Most intelligent model for building 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"Premium model combining maximum intelligence with practical performance
-
"claude-opus-4-5-20251101"Premium model combining maximum intelligence with practical performance
-
"claude-sonnet-4-5"High-performance model for agents and coding
-
"claude-sonnet-4-5-20250929"High-performance model for agents and coding
-
-
string
-
-
speed: optional "standard" or "fast"Inference speed mode.
fastprovides significantly faster output token generation at premium pricing. Not all models supportfast; invalid combinations are rejected at create time.-
"standard" -
"fast"
-
-
-
multiagent: BetaManagedAgentsMultiagentResolved coordinator topology with a concrete agent roster.
-
agents: array of BetaManagedAgentsAgentReferenceAgents the coordinator may spawn as session threads, each resolved to a specific version.
-
id: string -
type: "agent""agent"
-
version: number
-
-
type: "coordinator""coordinator"
-
-
name: string -
skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill-
BetaManagedAgentsAnthropicSkill object { skill_id, type, version }A resolved Anthropic-managed skill.
-
skill_id: string -
type: "anthropic""anthropic"
-
version: string
-
-
BetaManagedAgentsCustomSkill object { skill_id, type, version }A resolved user-created custom skill.
-
skill_id: string -
type: "custom""custom"
-
version: string
-
-
-
system: string -
tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool-
BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }-
configs: array of BetaManagedAgentsAgentToolConfig-
enabled: boolean -
name: "bash" or "edit" or "read" or 5 moreBuilt-in agent tool identifier.
-
"bash" -
"edit" -
"read" -
"write" -
"glob" -
"grep" -
"web_fetch" -
"web_search"
-
-
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
type: "always_allow""always_allow"
-
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
type: "always_ask""always_ask"
-
-
-
-
default_config: BetaManagedAgentsAgentToolsetDefaultConfigResolved default configuration for agent tools.
-
enabled: boolean -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
-
-
type: "agent_toolset_20260401""agent_toolset_20260401"
-
-
BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }-
configs: array of BetaManagedAgentsMCPToolConfig-
enabled: boolean -
name: string -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
-
-
default_config: BetaManagedAgentsMCPToolsetDefaultConfigResolved default configuration for all tools from an MCP server.
-
enabled: boolean -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
-
-
mcp_server_name: string -
type: "mcp_toolset""mcp_toolset"
-
-
BetaManagedAgentsCustomTool object { description, input_schema, name, type }A custom tool as returned in API responses.
-
description: string -
input_schema: BetaManagedAgentsCustomToolInputSchemaJSON Schema for custom tool input parameters.
-
properties: optional map[unknown]JSON Schema properties defining the tool's input parameters.
-
required: optional array of stringList of required property names.
-
type: optional "object"Must be 'object' for tool input schemas.
"object"
-
-
name: string -
type: "custom""custom"
-
-
-
type: "agent""agent"
-
updated_at: stringA timestamp in RFC 3339 format
-
version: numberThe agent's current version. Starts at 1 and increments when the agent is modified.
-
Example
curl https://api.anthropic.com/v1/agents/$AGENT_ID \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d "{
\"version\": 1,
\"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.\"
}"
Response
{
"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-sonnet-4-6",
"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"
}
}
],
"default_config": {
"enabled": true,
"permission_policy": {
"type": "always_ask"
}
},
"type": "agent_toolset_20260401"
}
],
"type": "agent",
"updated_at": "2026-03-15T10:00:00Z",
"version": 1
}