title: Update Agent url: https://platform.claude.com/docs/en/api/beta/agents/update
Update Agent
POST /v1/agents/{agent_id}
Update Agent
Path parameters
agent_id: string
Headers
-
"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 43 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" -
"user-profiles-2026-08-18" -
"user-profiles-2026-09-04" -
"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" -
"mid-conversation-output-config-2026-07-01" -
"thinking-binding-controls-2026-08-01" -
"mid-conversation-system-clear-at-2026-08-21" -
"compact-2026-09-04"
-
-
-
"anthropic-workspace-id": optional string
Body parameters
-
description: optional string or nullDescription. Omit to preserve; send empty string or null to clear.
maxLength: 2048
-
mcp_servers: optional array of BetaManagedAgentsURLMCPServerParams or nullMCP servers. Full replacement. Omit to preserve; send empty array or
nullto clear. Names must be unique. Maximum 20. Every server must be referenced by anmcp_toolsetin the agent's resultingtools; unreferenced servers are rejected. See the MCP connector guide.-
type: "url" -
name: stringUnique name for this server, referenced by mcp_toolset configurations. 1-255 characters.
minLength: 1, maxLength: 255
-
url: stringEndpoint URL for the MCP server.
maxLength: 2048
-
-
metadata: optional map[string] or nullMetadata 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-5, or amodel_configobject for additional configuration control. Omit to preserve. Cannot be cleared.-
BetaManagedAgentsModel = "claude-fable-5-1" or "claude-sonnet-5" or "claude-fable-5" or 11 more or stringThe model that will power your agent.
See models for additional details and options.
-
"claude-fable-5-1" or "claude-sonnet-5" or "claude-fable-5" or 11 moreThe model that will power your agent.
See models for additional details and options.
-
"claude-fable-5-1"Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows
-
"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
-
-
string
-
-
BetaManagedAgentsModelConfigParams objectAn object that defines additional configuration control over model use
-
id: BetaManagedAgentsModelThe model that will power your agent.
See models for additional details and options.
-
effort: optional "low" or "medium" or "high" or 2 more or BetaManagedAgentsEffortLow or BetaManagedAgentsEffortMedium or 3 more or nullHow hard Claude works on each inference call. Accepts a bare level string (
"high") or{"type": "high"}. On create, omitting it resolves the per-model default; on update, omitting it leaves the stored value unchanged.-
BetaManagedAgentsEffortLevel = "low" or "medium" or "high" or 2 moreHow hard Claude works on each turn. Higher levels favor reasoning depth over latency. Not all models accept every level; invalid combinations are rejected at create time.
-
"low" -
"medium" -
"high" -
"xhigh" -
"max"
-
-
BetaManagedAgentsEffortLow objectLow effort. Favors latency over reasoning depth.
type: "low"
-
BetaManagedAgentsEffortMedium objectMedium effort. Balances latency and reasoning depth.
type: "medium"
-
BetaManagedAgentsEffortHigh objectHigh effort. Favors reasoning depth.
type: "high"
-
BetaManagedAgentsEffortXhigh objectExtra-high effort. Not all models accept this level.
type: "xhigh"
-
BetaManagedAgentsEffortMax objectMaximum effort. Favors reasoning depth over latency.
type: "max"
-
-
inference_geo: optional string or nullGeographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo. On update,
modelis whole-object replacement — omitting inference_geo clears it. -
speed: optional "standard" or "fast" or nullInference 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 BetaManagedAgentsMultiagentParams or nullA coordinator topology: the session's primary thread orchestrates work by spawning session threads, each running an agent drawn from the
agentsroster.-
type: "coordinator" -
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 objectSpecification for an Agent. Provide a specific
versionor use the short-formagent="agent_id"for the most recent version-
type: "agent" -
id: stringThe
agentID.minLength: 1, maxLength: 128
-
version: optional numberThe specific
agentversion to use. Omit to use the latest version. Must be at least 1 if specified.format: int32
-
-
BetaManagedAgentsMultiagentSelfParams objectSentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.
type: "self"
-
BetaManagedAgentsAdvisorParams objectPlatform advisor roster entry: a model the session's primary thread may consult mid-turn. At most one per roster; the entry occupies the roster name
anthropic.advisor.-
type: "advisor" -
model: stringA Claude model id. The model must be permitted as an advisor for this agent's model — see the sessions/threads/advisor spec.
minLength: 1, maxLength: 256
-
-
-
-
name: optional stringHuman-readable name. Must be non-empty. Omit to preserve. Cannot be cleared.
maxLength: 256
-
skills: optional array of BetaManagedAgentsSkillParams or nullSkills. Full replacement. Omit to preserve; send empty array or null to clear.
-
BetaManagedAgentsAnthropicSkillParams objectAn Anthropic-managed skill.
-
type: "anthropic" -
skill_id: stringIdentifier of the Anthropic skill (e.g., "xlsx").
minLength: 1, maxLength: 64
-
version: optional string or nullVersion to pin. Defaults to latest if omitted.
minLength: 1, maxLength: 64
-
-
BetaManagedAgentsCustomSkillParams objectA user-created custom skill.
-
type: "custom" -
skill_id: stringTagged ID of the custom skill (e.g., "skill_01XJ5...").
minLength: 1, maxLength: 64
-
version: optional string or nullVersion to pin. Defaults to latest if omitted.
minLength: 1, maxLength: 64
-
-
-
system: optional string or nullSystem prompt. Omit to preserve; send empty string or null to clear.
maxLength: 100000
-
tools: optional array of BetaManagedAgentsAgentToolset20260401Params or BetaManagedAgentsMCPToolsetParams or BetaManagedAgentsCustomToolParams or nullTool 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 objectConfiguration for built-in agent tools. Use this to enable or disable groups of tools available to the agent.
-
type: "agent_toolset_20260401" -
configs: optional array of BetaManagedAgentsAgentToolConfigParamsPer-tool configuration overrides.
-
BetaManagedAgentsBashToolConfigParams objectConfiguration override for the bash tool.
-
type: optional "bash" -
name: "bash"Must be "bash".
-
enabled: optional boolean or nullWhether this tool is enabled and available to Claude. Overrides the default_config setting.
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy or nullPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
type: "always_allow"
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
type: "always_ask"
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
type: "auto"
-
-
-
BetaManagedAgentsEditToolConfigParams objectConfiguration override for the edit tool.
-
type: optional "edit" -
name: "edit"Must be "edit".
-
enabled: optional boolean or nullWhether this tool is enabled and available to Claude. Overrides the default_config setting.
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy or nullPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsReadToolConfigParams objectConfiguration override for the read tool.
-
type: optional "read" -
name: "read"Must be "read".
-
enabled: optional boolean or nullWhether this tool is enabled and available to Claude. Overrides the default_config setting.
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy or nullPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsWriteToolConfigParams objectConfiguration override for the write tool.
-
type: optional "write" -
name: "write"Must be "write".
-
enabled: optional boolean or nullWhether this tool is enabled and available to Claude. Overrides the default_config setting.
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy or nullPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsGlobToolConfigParams objectConfiguration override for the glob tool.
-
type: optional "glob" -
name: "glob"Must be "glob".
-
enabled: optional boolean or nullWhether this tool is enabled and available to Claude. Overrides the default_config setting.
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy or nullPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsGrepToolConfigParams objectConfiguration override for the grep tool.
-
type: optional "grep" -
name: "grep"Must be "grep".
-
enabled: optional boolean or nullWhether this tool is enabled and available to Claude. Overrides the default_config setting.
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy or nullPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsWebFetchToolConfigParams objectConfiguration override for the web_fetch tool.
-
type: optional "web_fetch" -
name: "web_fetch"Must be "web_fetch".
-
allowed_domains: optional array of stringOnly fetch URLs whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "docs.example.com" (no scheme, port, or path). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with blocked_domains.
-
blocked_domains: optional array of stringNever fetch URLs whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "ads.example.com" (no scheme, port, or path). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with allowed_domains.
-
enabled: optional boolean or nullWhether this tool is enabled and available to Claude. Overrides the default_config setting.
-
max_content_tokens: optional number or nullMaximum number of tokens of fetched text content to include in context per call. Does not apply to binary content such as PDFs.
format: int32
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy or nullPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsWebSearchToolConfigParams objectConfiguration override for the web_search tool.
-
type: optional "web_search" -
name: "web_search"Must be "web_search".
-
allowed_domains: optional array of stringOnly return search results whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "docs.example.com" (no scheme or port; an optional path suffix is accepted). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with blocked_domains.
-
blocked_domains: optional array of stringNever return search results whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "ads.example.com" (no scheme or port; an optional path suffix is accepted). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with allowed_domains.
-
enabled: optional boolean or nullWhether this tool is enabled and available to Claude. Overrides the default_config setting.
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy or nullPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
user_location: optional BetaManagedAgentsUserLocation or nullApproximate user location for search result localization.
-
type: "approximate"Location precision. Only "approximate" is supported.
-
city: optional string or nullCity name.
minLength: 1, maxLength: 255
-
country: optional string or nullTwo-letter ISO 3166-1 country code, uppercase.
-
region: optional string or nullRegion or state name.
minLength: 1, maxLength: 255
-
timezone: optional string or nullIANA timezone identifier, e.g. "America/Los_Angeles".
minLength: 1, maxLength: 255
-
-
-
-
default_config: optional BetaManagedAgentsAgentToolsetDefaultConfigParams or nullDefault configuration for all tools in a toolset.
-
enabled: optional boolean or nullWhether tools are enabled and available to Claude by default. Defaults to true if not specified.
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy or nullPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
-
BetaManagedAgentsMCPToolsetParams objectConfiguration for tools from an MCP server defined in
mcp_servers.-
type: "mcp_toolset" -
mcp_server_name: stringName of the MCP server. Must match a server name from the mcp_servers array. 1-255 characters.
minLength: 1, maxLength: 255
-
configs: optional array of BetaManagedAgentsMCPToolConfigParamsPer-tool configuration overrides.
-
name: stringName of the MCP tool to configure. 1-128 characters.
minLength: 1, maxLength: 128
-
enabled: optional boolean or nullWhether this tool is enabled. Overrides the
default_configsetting. -
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy or nullPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
default_config: optional BetaManagedAgentsMCPToolsetDefaultConfigParams or nullDefault configuration for all tools from an MCP server.
-
enabled: optional boolean or nullWhether tools are enabled by default. Defaults to true if not specified.
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy or nullPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
-
BetaManagedAgentsCustomToolParams objectA 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.-
type: "custom" -
description: stringDescription of what the tool does, shown to the agent to help it decide when to use the tool.
minLength: 1
-
input_schema: BetaManagedAgentsCustomToolInputSchemaJSON Schema for custom tool input parameters.
-
type: "object" -
properties: optional map[unknown] or null -
required: optional array of string or null
-
-
name: stringUnique name for the tool. 1-128 characters; letters, digits, underscores, and hyphens.
minLength: 1, maxLength: 128
-
-
-
version: optional numberThe 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.
format: int32
Returns
-
BetaManagedAgentsAgent objectA Managed Agents
agent.-
type: "agent" -
id: string -
archived_at: string or nullA timestamp in RFC 3339 format
format: date-time
-
created_at: stringA timestamp in RFC 3339 format
format: date-time
-
description: string or null -
mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition-
type: "url" -
name: string -
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-fable-5-1" or "claude-sonnet-5" or "claude-fable-5" or 11 moreThe model that will power your agent.
See models for additional details and options.
-
"claude-fable-5-1"Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows
-
"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
-
-
string
-
-
effort: optional BetaManagedAgentsEffortLow or BetaManagedAgentsEffortMedium or BetaManagedAgentsEffortHigh or 2 moreHow hard Claude works on each turn. Sets
output_config.efforton every Messages call the session makes.-
BetaManagedAgentsEffortLow objectLow effort. Favors latency over reasoning depth.
type: "low"
-
BetaManagedAgentsEffortMedium objectMedium effort. Balances latency and reasoning depth.
type: "medium"
-
BetaManagedAgentsEffortHigh objectHigh effort. Favors reasoning depth.
type: "high"
-
BetaManagedAgentsEffortXhigh objectExtra-high effort. Not all models accept this level.
type: "xhigh"
-
BetaManagedAgentsEffortMax objectMaximum effort. Favors reasoning depth over latency.
type: "max"
-
-
inference_geo: optional stringGeographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.
-
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: BetaManagedAgentsMultiagent or nullResolved coordinator topology with a concrete agent roster.
-
type: "coordinator" -
agents: array of BetaManagedAgentsAgentReference or BetaManagedAgentsAdvisorAgents the coordinator may spawn as session threads, each resolved to a specific version.
-
BetaManagedAgentsAgentReference objectA resolved agent reference with a concrete version.
-
type: "agent" -
id: string -
version: numberformat: int32
-
-
BetaManagedAgentsAdvisor objectPlatform advisor roster entry: a model the session's primary thread may consult mid-turn.
-
type: "advisor" -
model: stringThe advisor model id.
-
-
-
-
name: string -
skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill-
BetaManagedAgentsAnthropicSkill objectA resolved Anthropic-managed skill.
-
type: "anthropic" -
skill_id: string -
version: string
-
-
BetaManagedAgentsCustomSkill objectA resolved user-created custom skill.
-
type: "custom" -
skill_id: string -
version: string
-
-
-
system: string or null -
tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool-
BetaManagedAgentsAgentToolset20260401 object-
type: "agent_toolset_20260401" -
configs: array of BetaManagedAgentsAgentToolConfig-
BetaManagedAgentsBashToolConfig objectConfiguration for the bash tool.
-
type: "bash" -
enabled: boolean -
name: "bash" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
type: "always_allow"
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
type: "always_ask"
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
type: "auto"
-
-
-
BetaManagedAgentsEditToolConfig objectConfiguration for the edit tool.
-
type: "edit" -
enabled: boolean -
name: "edit" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsReadToolConfig objectConfiguration for the read tool.
-
type: "read" -
enabled: boolean -
name: "read" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsWriteToolConfig objectConfiguration for the write tool.
-
type: "write" -
enabled: boolean -
name: "write" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsGlobToolConfig objectConfiguration for the glob tool.
-
type: "glob" -
enabled: boolean -
name: "glob" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsGrepToolConfig objectConfiguration for the grep tool.
-
type: "grep" -
enabled: boolean -
name: "grep" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsWebFetchToolConfig objectConfiguration for the web_fetch tool.
-
type: "web_fetch" -
enabled: boolean -
name: "web_fetch" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
allowed_domains: optional array of string -
blocked_domains: optional array of string -
max_content_tokens: optional number or nullformat: int32
-
-
BetaManagedAgentsWebSearchToolConfig objectConfiguration for the web_search tool.
-
type: "web_search" -
enabled: boolean -
name: "web_search" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
allowed_domains: optional array of string -
blocked_domains: optional array of string -
user_location: optional BetaManagedAgentsUserLocation or nullApproximate user location for search result localization.
-
type: "approximate"Location precision. Only "approximate" is supported.
-
city: optional string or nullCity name.
minLength: 1, maxLength: 255
-
country: optional string or nullTwo-letter ISO 3166-1 country code, uppercase.
-
region: optional string or nullRegion or state name.
minLength: 1, maxLength: 255
-
timezone: optional string or nullIANA timezone identifier, e.g. "America/Los_Angeles".
minLength: 1, maxLength: 255
-
-
-
-
default_config: BetaManagedAgentsAgentToolsetDefaultConfigResolved default configuration for agent tools.
-
enabled: boolean -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
-
BetaManagedAgentsMCPToolset object-
type: "mcp_toolset" -
configs: array of BetaManagedAgentsMCPToolConfig-
enabled: boolean -
name: string -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
default_config: BetaManagedAgentsMCPToolsetDefaultConfigResolved default configuration for all tools from an MCP server.
-
enabled: boolean -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
mcp_server_name: string
-
-
BetaManagedAgentsCustomTool objectA custom tool as returned in API responses.
-
type: "custom" -
description: string -
input_schema: BetaManagedAgentsCustomToolInputSchemaJSON Schema for custom tool input parameters.
-
type: "object" -
properties: optional map[unknown] or null -
required: optional array of string or null
-
-
name: string
-
-
-
updated_at: stringA timestamp in RFC 3339 format
format: date-time
-
version: numberThe agent's current version. Starts at 1 and increments when the agent is modified.
format: int32
-
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 '{
"description": "updated",
"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.",
"version": 1
}'Response (200)
{
"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
}