---
title: Update Agent
url: https://platform.claude.com/docs/en/api/go/beta/agents/update
---

# Update Agent

`client.Beta.Agents.Update(ctx, agentID, params) (*BetaManagedAgentsAgent, error)`

**POST** `/v1/agents/{agent_id}`

Update Agent

## Parameters

- `agentID string` (path parameter)

  Unique identifier of the agent to update.

- `params BetaAgentUpdateParams`

  - `Description param.Opt[string] Optional`

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

    maxLength: 2048

  - `ExecutionIdentity BetaManagedAgentsExecutionIdentityParamsUnion Optional`

    Execution principal for runs of this agent. Full replacement. Omit to preserve; send null or `{"type": "service_account"}` to restore the default.

  - `MCPServers []BetaManagedAgentsURLMCPServerParams Optional`

    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](https://platform.claude.com/docs/en/managed-agents/mcp-connector?sdk_languages=go).

    - `Type BetaManagedAgentsURLMCPServerParamsType`

    - `Name string`

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

      minLength: 1, maxLength: 255

    - `URL string`

      Endpoint URL for the MCP server.

      maxLength: 2048

  - `Metadata map[string, string] Optional`

    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 BetaManagedAgentsModelConfigParams Optional`

    Model identifier. Accepts the [model string](https://platform.claude.com/docs/en/about-claude/models/overview?sdk_languages=go#latest-models-comparison), e.g. `claude-opus-5-5`, or a `model_config` object for additional configuration control. Omit to preserve. Cannot be cleared.

    - `type BetaManagedAgentsModelConfigParams`

      An object that defines additional configuration control over model use

      - `ID BetaManagedAgentsModel`

        The model that will power your agent.

        See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

        - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

          Fastest model for high-volume, real-time tasks

        - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

          Efficient model for coding and agents

        - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

          Powerful intelligence for coding, knowledge work, and long-running agents

        - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

          Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

        - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

          Efficient model for coding and agents

        - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

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

        - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

          Best combination of speed and intelligence

        - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

        - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

        - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

          **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

          High-performance model for agents and coding

        - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

          **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

          High-performance model for agents and coding

      - `Effort BetaManagedAgentsModelConfigParamsEffortUnion Optional`

        How 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.

        - `type BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel string`

          How 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.

          - `const BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevelLow BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel = "low"`

            Low effort. Favors latency over reasoning depth.

          - `const BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevelMedium BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel = "medium"`

            Medium effort. Balances latency and reasoning depth.

          - `const BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevelHigh BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel = "high"`

            High effort. Favors reasoning depth.

          - `const BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevelXhigh BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel = "xhigh"`

            Extra-high effort. Not all models accept this level.

          - `const BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevelMax BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel = "max"`

            Maximum effort. Favors reasoning depth over latency.

        - `type BetaManagedAgentsEffortLow`

          Low effort. Favors latency over reasoning depth.

          - `Type BetaManagedAgentsEffortLowType`

        - `type BetaManagedAgentsEffortMedium`

          Medium effort. Balances latency and reasoning depth.

          - `Type BetaManagedAgentsEffortMediumType`

        - `type BetaManagedAgentsEffortHigh`

          High effort. Favors reasoning depth.

          - `Type BetaManagedAgentsEffortHighType`

        - `type BetaManagedAgentsEffortXhigh`

          Extra-high effort. Not all models accept this level.

          - `Type BetaManagedAgentsEffortXhighType`

        - `type BetaManagedAgentsEffortMax`

          Maximum effort. Favors reasoning depth over latency.

          - `Type BetaManagedAgentsEffortMaxType`

      - `InferenceGeo string Optional`

        Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo. On update, `model` is whole-object replacement — omitting inference_geo clears it.

      - `Speed BetaManagedAgentsModelConfigParamsSpeed Optional`

        Inference speed mode. Defaults to `standard`.

        - `const BetaManagedAgentsModelConfigParamsSpeedStandard BetaManagedAgentsModelConfigParamsSpeed = "standard"`

        - `const BetaManagedAgentsModelConfigParamsSpeedFast BetaManagedAgentsModelConfigParamsSpeed = "fast"`

  - `Multiagent BetaManagedAgentsMultiagentParamsUnion Optional`

    Multiagent orchestration configuration. Full replacement. Omit to preserve; send null to clear.

  - `Name param.Opt[string] Optional`

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

    maxLength: 256

  - `Skills []BetaManagedAgentsSkillParamsUnion Optional`

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

    - `type BetaManagedAgentsAnthropicSkillParams`

      An Anthropic-managed skill.

      - `Type BetaManagedAgentsAnthropicSkillParamsType`

      - `SkillID string`

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

        minLength: 1, maxLength: 64

      - `Version string Optional`

        Version to pin. Defaults to latest if omitted.

        minLength: 1, maxLength: 64

    - `type BetaManagedAgentsCustomSkillParams`

      A user-created custom skill.

      - `Type BetaManagedAgentsCustomSkillParamsType`

      - `SkillID string`

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

        minLength: 1, maxLength: 64

      - `Version string Optional`

        Version to pin. Defaults to latest if omitted.

        minLength: 1, maxLength: 64

  - `System param.Opt[string] Optional`

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

    maxLength: 100000

  - `Tools []BetaAgentUpdateParamsToolUnion Optional`

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

    - `type BetaManagedAgentsAgentToolset20260401Params`

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

      - `Type BetaManagedAgentsAgentToolset20260401ParamsType`

      - `Configs []BetaManagedAgentsAgentToolConfigParamsUnion Optional`

        Per-tool configuration overrides.

        - `type BetaManagedAgentsBashToolConfigParams`

          Configuration override for the bash tool.

          - `Type BetaManagedAgentsBashToolConfigParamsType Optional`

          - `Name Bash`

            Must be "bash".

          - `Enabled bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `PermissionPolicy BetaManagedAgentsBashToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

              - `Type BetaManagedAgentsAlwaysAllowPolicyType`

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

              - `Type BetaManagedAgentsAlwaysAskPolicyType`

            - `type BetaManagedAgentsAutoPolicy`

              The 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`

        - `type BetaManagedAgentsEditToolConfigParams`

          Configuration override for the edit tool.

          - `Type BetaManagedAgentsEditToolConfigParamsType Optional`

          - `Name Edit`

            Must be "edit".

          - `Enabled bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `PermissionPolicy BetaManagedAgentsEditToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The 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 BetaManagedAgentsReadToolConfigParams`

          Configuration override for the read tool.

          - `Type BetaManagedAgentsReadToolConfigParamsType Optional`

          - `Name Read`

            Must be "read".

          - `Enabled bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `PermissionPolicy BetaManagedAgentsReadToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The 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 BetaManagedAgentsWriteToolConfigParams`

          Configuration override for the write tool.

          - `Type BetaManagedAgentsWriteToolConfigParamsType Optional`

          - `Name Write`

            Must be "write".

          - `Enabled bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `PermissionPolicy BetaManagedAgentsWriteToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The 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 BetaManagedAgentsGlobToolConfigParams`

          Configuration override for the glob tool.

          - `Type BetaManagedAgentsGlobToolConfigParamsType Optional`

          - `Name Glob`

            Must be "glob".

          - `Enabled bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `PermissionPolicy BetaManagedAgentsGlobToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The 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 BetaManagedAgentsGrepToolConfigParams`

          Configuration override for the grep tool.

          - `Type BetaManagedAgentsGrepToolConfigParamsType Optional`

          - `Name Grep`

            Must be "grep".

          - `Enabled bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `PermissionPolicy BetaManagedAgentsGrepToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The 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 BetaManagedAgentsWebFetchToolConfigParams`

          Configuration override for the web_fetch tool.

          - `Type BetaManagedAgentsWebFetchToolConfigParamsType Optional`

          - `Name WebFetch`

            Must be "web_fetch".

          - `AllowedDomains []string Optional`

            Only 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.

          - `BlockedDomains []string Optional`

            Never 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 bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `MaxContentTokens int64 Optional`

            Maximum number of tokens of fetched text content to include in context per call. Does not apply to binary content such as PDFs.

            format: int32

          - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The 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.

          - `URLSources BetaManagedAgentsWebFetchURLSourcesParams Optional`

            Which sources contribute URLs the tool may fetch. Omit to allow every source.

            - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterParamsUnion Optional`

              Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array.

              - `type BetaManagedAgentsWebFetchURLSourceShorthand string`

                String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}.

                - `const BetaManagedAgentsWebFetchURLSourceShorthandAll BetaManagedAgentsWebFetchURLSourceShorthand = "all"`

                - `const BetaManagedAgentsWebFetchURLSourceShorthandNone BetaManagedAgentsWebFetchURLSourceShorthand = "none"`

              - `type BetaManagedAgentsWebFetchURLSourceToolFilterUnion interface{…}`

                Which tools' results contribute URLs that may be fetched.

                - `type BetaManagedAgentsWebFetchURLSourceAll`

                  Every URL from this source may be fetched. This is the default.

                  - `Type All`

                - `type BetaManagedAgentsWebFetchURLSourceNone`

                  This source contributes no URLs that may be fetched.

                  - `Type None`

                - `type BetaManagedAgentsWebFetchURLSourceOnly`

                  Only the named tools' results contribute URLs that may be fetched.

                  - `Type Only`

                  - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                    The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                    - `Type ToolReference`

                      Must be "tool_reference".

                    - `Name string`

                      Name of the tool. Compared exactly, so upper and lower case letters are different.

                      minLength: 1, maxLength: 128

                - `type BetaManagedAgentsWebFetchURLSourceExcept`

                  Every tool's results contribute URLs that may be fetched, except the named tools' results.

                  - `Type Except`

                  - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                    The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                    - `Type ToolReference`

                      Must be "tool_reference".

                    - `Name string`

                      Name of the tool. Compared exactly, so upper and lower case letters are different.

                      minLength: 1, maxLength: 128

            - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterParamsUnion Optional`

              Which of the web_search and web_fetch tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be "web_search" or "web_fetch".

            - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputParamsUnion Optional`

              Whether URLs in the text of user messages may be fetched: "all" (the default) or "none".

              - `type BetaManagedAgentsWebFetchURLSourceShorthand string`

                String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}.

              - `type BetaManagedAgentsWebFetchURLSourceUserInputUnion interface{…}`

                Whether URLs in the text of user messages may be fetched.

                - `type BetaManagedAgentsWebFetchURLSourceAll`

                  Every URL from this source may be fetched. This is the default.

                - `type BetaManagedAgentsWebFetchURLSourceNone`

                  This source contributes no URLs that may be fetched.

        - `type BetaManagedAgentsWebSearchToolConfigParams`

          Configuration override for the web_search tool.

          - `Type BetaManagedAgentsWebSearchToolConfigParamsType Optional`

          - `Name WebSearch`

            Must be "web_search".

          - `AllowedDomains []string Optional`

            Only 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.

          - `BlockedDomains []string Optional`

            Never 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 bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The 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.

          - `UserLocation BetaManagedAgentsUserLocationParam Optional`

            Approximate user location for search result localization.

            - `Type Approximate`

              Location precision. Only "approximate" is supported.

            - `City string Optional`

              City name.

              minLength: 1, maxLength: 255

            - `Country string Optional`

              Two-letter ISO 3166-1 country code, uppercase.

            - `Region string Optional`

              Region or state name.

              minLength: 1, maxLength: 255

            - `Timezone string Optional`

              IANA timezone identifier, e.g. "America/Los_Angeles".

              minLength: 1, maxLength: 255

      - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfigParams Optional`

        Default configuration applied to all tools in this set.

        - `Enabled bool Optional`

          Whether tools are enabled and available to Claude by default. Defaults to true if not specified.

        - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigParamsPermissionPolicyUnion Optional`

          Default permission policy for tools. Controls whether tool calls are auto-approved or require confirmation.

          - `type BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `type BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `type BetaManagedAgentsAutoPolicy`

            The 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 BetaManagedAgentsMCPToolsetParams`

      Configuration for tools from an MCP server defined in `mcp_servers`.

      - `Type BetaManagedAgentsMCPToolsetParamsType`

      - `MCPServerName string`

        Name of the MCP server. Must match a server name from the mcp_servers array. 1-255 characters.

        minLength: 1, maxLength: 255

      - `Configs []BetaManagedAgentsMCPToolConfigParams Optional`

        Per-tool configuration overrides.

        - `Name string`

          Name of the MCP tool to configure. 1-128 characters.

          minLength: 1, maxLength: 128

        - `Enabled bool Optional`

          Whether this tool is enabled. Overrides the `default_config` setting.

        - `PermissionPolicy BetaManagedAgentsMCPToolConfigParamsPermissionPolicyUnion Optional`

          Permission policy for this tool. Overrides the `default_config` setting.

          - `type BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `type BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `type BetaManagedAgentsAutoPolicy`

            The 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.

      - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfigParams Optional`

        Default configuration for all tools from this server.

        - `Enabled bool Optional`

          Whether tools are enabled by default. Defaults to true if not specified.

        - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigParamsPermissionPolicyUnion Optional`

          Default permission policy for tools from this server.

          - `type BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `type BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `type BetaManagedAgentsAutoPolicy`

            The 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 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.

      - `Type BetaManagedAgentsCustomToolParamsType`

      - `Description string`

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

        minLength: 1

      - `InputSchema BetaManagedAgentsCustomToolInputSchemaParam`

        JSON Schema defining the expected input parameters for the tool.

        - `Type Object`

        - `Properties map[string, any] Optional`

        - `Required []string Optional`

      - `Name string`

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

        minLength: 1, maxLength: 128

  - `Version param.Opt[int64] Optional`

    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.

    format: int32

  - `Betas []AnthropicBeta Optional` (header parameter)

    This endpoint is in beta: requests must send `managed-agents-2026-04-01` in this header.

    - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"`

    - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"`

    - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"`

    - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"`

    - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"`

    - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"`

    - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"`

    - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"`

    - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"`

    - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"`

    - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"`

    - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"`

    - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"`

    - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"`

    - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"`

    - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"`

    - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"`

    - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"`

    - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"`

    - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"`

    - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"`

    - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"`

    - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"`

    - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"`

    - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"`

    - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"`

    - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"`

    - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"`

    - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"`

    - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"`

    - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"`

    - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"`

    - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"`

    - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"`

    - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"`

    - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"`

    - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"`

    - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"`

    - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"`

    - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"`

    - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"`

    - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"`

    - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"`

    - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"`

    - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"`

    - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"`

    - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"`

    - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"`

    - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"`

  - `WorkspaceID param.Opt[string] Optional` (header parameter)

    Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).

    Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

## Returns

- `type BetaManagedAgentsAgent`

  A Managed Agents `agent`.

  - `Type BetaManagedAgentsAgentType`

  - `ID string`

  - `ArchivedAt Time`

    When the agent was archived. Null if not archived.

    format: date-time

  - `CreatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

  - `Description string`

  - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

    Execution principal for runs of this agent. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

    - `type BetaManagedAgentsAWSRoleExecutionIdentity`

      An AWS IAM role principal as returned in API responses.

      - `Type AWSRole`

      - `RoleARN string`

        The IAM role's ARN.

    - `type BetaManagedAgentsServiceAccountExecutionIdentity`

      The Anthropic-managed service account as returned in API responses.

      - `Type ServiceAccount`

  - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

    - `Type BetaManagedAgentsMCPServerURLDefinitionType`

    - `Name string`

    - `URL string`

  - `Metadata map[string, string]`

  - `Model BetaManagedAgentsModelConfig`

    Model identifier and configuration.

    - `ID BetaManagedAgentsModel`

      The model that will power your agent.

      See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

      - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

        Fastest model for high-volume, real-time tasks

      - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

        Efficient model for coding and agents

      - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

        Powerful intelligence for coding, knowledge work, and long-running agents

      - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

        Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

      - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

        Efficient model for coding and agents

      - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

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

      - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

        Powerful intelligence for long-running agents and coding

      - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

        Powerful intelligence for long-running agents and coding

      - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

        Powerful intelligence for long-running agents and coding

      - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

        Powerful intelligence for long-running agents and coding

      - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

        Best combination of speed and intelligence

      - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

      - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

      - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

        Powerful intelligence for long-running agents and coding

      - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

        Powerful intelligence for long-running agents and coding

      - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

        **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

        High-performance model for agents and coding

      - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

        **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

        High-performance model for agents and coding

    - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

      How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

      - `type BetaManagedAgentsEffortLow`

        Low effort. Favors latency over reasoning depth.

        - `Type BetaManagedAgentsEffortLowType`

      - `type BetaManagedAgentsEffortMedium`

        Medium effort. Balances latency and reasoning depth.

        - `Type BetaManagedAgentsEffortMediumType`

      - `type BetaManagedAgentsEffortHigh`

        High effort. Favors reasoning depth.

        - `Type BetaManagedAgentsEffortHighType`

      - `type BetaManagedAgentsEffortXhigh`

        Extra-high effort. Not all models accept this level.

        - `Type BetaManagedAgentsEffortXhighType`

      - `type BetaManagedAgentsEffortMax`

        Maximum effort. Favors reasoning depth over latency.

        - `Type BetaManagedAgentsEffortMaxType`

    - `InferenceGeo string Optional`

      Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

    - `Speed BetaManagedAgentsModelConfigSpeed Optional`

      Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

      - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

      - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

  - `Multiagent BetaManagedAgentsMultiagentUnion`

    Multiagent orchestration configuration. Null when the agent is single-threaded.

    - `type BetaManagedAgentsMultiagentCoordinator`

      Resolved coordinator topology with a concrete agent roster.

      - `Type BetaManagedAgentsMultiagentCoordinatorType`

      - `Agents []BetaManagedAgentsMultiagentCoordinatorAgentUnion`

        Agents the coordinator may spawn as session threads, each resolved to a specific version.

        - `type BetaManagedAgentsAgentReference`

          A resolved agent reference with a concrete version.

          - `Type BetaManagedAgentsAgentReferenceType`

          - `ID string`

          - `Version int64`

            format: int32

        - `type BetaManagedAgentsAdvisor`

          Platform advisor roster entry: a model the session's primary thread may consult mid-turn.

          - `Type BetaManagedAgentsAdvisorType`

          - `Model string`

            The advisor model id.

    - `type BetaManagedAgentsMultiagent20261001`

      Resolved multiagent configuration with three members, each enabled or disabled on its own.

      - `Type Multiagent20261001`

      - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

        Whether the session's primary thread can consult an advisor model.

        - `type BetaManagedAgentsMultiagentAdvisorEnabled`

          The session's primary thread can consult `model` mid-turn.

          - `Type Enabled`

          - `Model string`

            The advisor model id.

        - `type BetaManagedAgentsMultiagentAdvisorDisabled`

          The agent has no advisor.

          - `Type Disabled`

      - `Subagents BetaManagedAgentsMultiagentSubagentsUnion`

        Whether the agent can spawn session threads.

        - `type BetaManagedAgentsMultiagentSubagentsEnabled`

          The agent can spawn session threads.

          - `Type Enabled`

          - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

            Whether the agent can define inline agents, which are not saved, when it spawns session threads.

            - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

              The agent can define inline agents.

              - `Type Enabled`

            - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

              The agent cannot define inline agents.

              - `Type Disabled`

          - `PredefinedAgents []BetaManagedAgentsAgentReference`

            Predefined agents, which are saved agents that this agent can spawn as session threads, each resolved to a specific version.

            - `Type BetaManagedAgentsAgentReferenceType`

            - `ID string`

            - `Version int64`

              format: int32

        - `type BetaManagedAgentsMultiagentSubagentsDisabled`

          The agent cannot spawn session threads.

          - `Type Disabled`

      - `Workflows BetaManagedAgentsMultiagentWorkflowsUnion`

        Whether the agent can start workflow runs.

        - `type BetaManagedAgentsMultiagentWorkflowsEnabled`

          The agent can start workflow runs.

          - `Type Enabled`

          - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

            Whether a run's plan can define inline agents, which are not saved.

          - `PredefinedAgents []BetaManagedAgentsAgentReference`

            Predefined agents, which are saved agents that a run's plan can use, each resolved to a specific version.

            - `Type BetaManagedAgentsAgentReferenceType`

            - `ID string`

            - `Version int64`

              format: int32

        - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

          The agent cannot start workflow runs.

          - `Type Disabled`

  - `Name string`

  - `Skills []BetaManagedAgentsAgentSkillUnion`

    - `type BetaManagedAgentsAnthropicSkill`

      A resolved Anthropic-managed skill.

      - `Type BetaManagedAgentsAnthropicSkillType`

      - `SkillID string`

      - `Version string`

    - `type BetaManagedAgentsCustomSkill`

      A resolved user-created custom skill.

      - `Type BetaManagedAgentsCustomSkillType`

      - `SkillID string`

      - `Version string`

  - `System string`

  - `Tools []BetaManagedAgentsAgentToolUnion`

    - `type BetaManagedAgentsAgentToolset20260401`

      - `Type BetaManagedAgentsAgentToolset20260401Type`

      - `Configs []BetaManagedAgentsAgentToolConfigUnion`

        - `type BetaManagedAgentsBashToolConfig`

          Configuration for the bash tool.

          - `Type Bash`

          - `Enabled bool`

          - `Name Bash`

          - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

            Permission policy for tool execution.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

              - `Type BetaManagedAgentsAlwaysAllowPolicyType`

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

              - `Type BetaManagedAgentsAlwaysAskPolicyType`

            - `type BetaManagedAgentsAutoPolicy`

              The 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`

        - `type BetaManagedAgentsEditToolConfig`

          Configuration for the edit tool.

          - `Type Edit`

          - `Enabled bool`

          - `Name Edit`

          - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

            Permission policy for tool execution.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The 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 BetaManagedAgentsReadToolConfig`

          Configuration for the read tool.

          - `Type Read`

          - `Enabled bool`

          - `Name Read`

          - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

            Permission policy for tool execution.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The 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 BetaManagedAgentsWriteToolConfig`

          Configuration for the write tool.

          - `Type Write`

          - `Enabled bool`

          - `Name Write`

          - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

            Permission policy for tool execution.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The 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 BetaManagedAgentsGlobToolConfig`

          Configuration for the glob tool.

          - `Type Glob`

          - `Enabled bool`

          - `Name Glob`

          - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

            Permission policy for tool execution.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The 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 BetaManagedAgentsGrepToolConfig`

          Configuration for the grep tool.

          - `Type Grep`

          - `Enabled bool`

          - `Name Grep`

          - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

            Permission policy for tool execution.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The 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 BetaManagedAgentsWebFetchToolConfig`

          Configuration for the web_fetch tool.

          - `Type WebFetch`

          - `Enabled bool`

          - `Name WebFetch`

          - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

            Permission policy for tool execution.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The 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.

          - `URLSources BetaManagedAgentsWebFetchURLSources`

            Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

            - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

              Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

              - `type BetaManagedAgentsWebFetchURLSourceAll`

                Every URL from this source may be fetched. This is the default.

                - `Type All`

              - `type BetaManagedAgentsWebFetchURLSourceNone`

                This source contributes no URLs that may be fetched.

                - `Type None`

              - `type BetaManagedAgentsWebFetchURLSourceOnly`

                Only the named tools' results contribute URLs that may be fetched.

                - `Type Only`

                - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                  The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                  - `Type ToolReference`

                    Must be "tool_reference".

                  - `Name string`

                    Name of the tool. Compared exactly, so upper and lower case letters are different.

                    minLength: 1, maxLength: 128

              - `type BetaManagedAgentsWebFetchURLSourceExcept`

                Every tool's results contribute URLs that may be fetched, except the named tools' results.

                - `Type Except`

                - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                  The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                  - `Type ToolReference`

                    Must be "tool_reference".

                  - `Name string`

                    Name of the tool. Compared exactly, so upper and lower case letters are different.

                    minLength: 1, maxLength: 128

            - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

              Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

            - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

              Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

              - `type BetaManagedAgentsWebFetchURLSourceAll`

                Every URL from this source may be fetched. This is the default.

              - `type BetaManagedAgentsWebFetchURLSourceNone`

                This source contributes no URLs that may be fetched.

          - `AllowedDomains []string Optional`

          - `BlockedDomains []string Optional`

          - `MaxContentTokens int64 Optional`

            format: int32

        - `type BetaManagedAgentsWebSearchToolConfig`

          Configuration for the web_search tool.

          - `Type WebSearch`

          - `Enabled bool`

          - `Name WebSearch`

          - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

            Permission policy for tool execution.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The 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.

          - `AllowedDomains []string Optional`

          - `BlockedDomains []string Optional`

          - `UserLocation BetaManagedAgentsUserLocation Optional`

            Approximate user location for search result localization.

            - `Type Approximate`

              Location precision. Only "approximate" is supported.

            - `City string Optional`

              City name.

              minLength: 1, maxLength: 255

            - `Country string Optional`

              Two-letter ISO 3166-1 country code, uppercase.

            - `Region string Optional`

              Region or state name.

              minLength: 1, maxLength: 255

            - `Timezone string Optional`

              IANA timezone identifier, e.g. "America/Los_Angeles".

              minLength: 1, maxLength: 255

      - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

        Resolved default configuration for agent tools.

        - `Enabled bool`

        - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

          Permission policy for tool execution.

          - `type BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `type BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `type BetaManagedAgentsAutoPolicy`

            The 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 BetaManagedAgentsMCPToolset`

      - `Type BetaManagedAgentsMCPToolsetType`

      - `Configs []BetaManagedAgentsMCPToolConfig`

        - `Enabled bool`

        - `Name string`

        - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

          Permission policy for tool execution.

          - `type BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `type BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `type BetaManagedAgentsAutoPolicy`

            The 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.

      - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

        Resolved default configuration for all tools from an MCP server.

        - `Enabled bool`

        - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

          Permission policy for tool execution.

          - `type BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `type BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `type BetaManagedAgentsAutoPolicy`

            The 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.

      - `MCPServerName string`

    - `type BetaManagedAgentsCustomTool`

      A custom tool as returned in API responses.

      - `Type BetaManagedAgentsCustomToolType`

      - `Description string`

      - `InputSchema BetaManagedAgentsCustomToolInputSchema`

        JSON Schema for custom tool input parameters.

        - `Type Object`

        - `Properties map[string, any] Optional`

        - `Required []string Optional`

      - `Name string`

  - `UpdatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

  - `Version int64`

    The agent's current version. Starts at 1 and increments when the agent is modified.

    format: int32

## Example

```go
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	betaManagedAgentsAgent, err := client.Beta.Agents.Update(
		context.TODO(),
		"agent_011CZkYpogX7uDKUyvBTophP",
		anthropic.BetaAgentUpdateParams{
			Description: anthropic.String("updated"),
		},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", betaManagedAgentsAgent.ID)
}
```

### Response (200)

```json
{
  "id": "agent_011CZkYpogX7uDKUyvBTophP",
  "archived_at": null,
  "created_at": "2026-03-15T10:00:00Z",
  "description": "A general-purpose starter agent.",
  "execution_identity": {
    "type": "service_account"
  },
  "mcp_servers": [
    {
      "name": "example-mcp",
      "type": "url",
      "url": "https://example-server.modelcontextprotocol.io/sse"
    }
  ],
  "metadata": {
    "foo": "bar"
  },
  "model": {
    "id": "claude-opus-5-5",
    "effort": {
      "type": "low"
    },
    "inference_geo": "inference_geo",
    "speed": "standard"
  },
  "multiagent": {
    "advisor": {
      "type": "disabled"
    },
    "subagents": {
      "inline_agents": {
        "type": "enabled"
      },
      "predefined_agents": [
        {
          "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
          "type": "agent",
          "version": 1
        }
      ],
      "type": "enabled"
    },
    "type": "multiagent_20261001",
    "workflows": {
      "inline_agents": {
        "type": "enabled"
      },
      "predefined_agents": [
        {
          "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
          "type": "agent",
          "version": 1
        }
      ],
      "type": "enabled"
    }
  },
  "name": "My First Agent",
  "skills": [
    {
      "skill_id": "xlsx",
      "type": "anthropic",
      "version": "1"
    },
    {
      "skill_id": "skill_011CZkZFNu9hAbo3jZPRgTmx",
      "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
}
```
