---
title: Agents
url: https://platform.claude.com/docs/en/api/csharp/beta/agents
---

# Agents

## Create Agent

`BetaManagedAgentsAgent Beta.Agents.Create(parameters, cancellationToken = default)`

**POST** `/v1/agents`

Create Agent

### Parameters

- `AgentCreateParams parameters`

  - `required Model model`

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

    - `enum BetaManagedAgentsModel`

      The model that will power your agent.

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

      - `ClaudeHaiku5_5("claude-haiku-5-5")`

        Fastest model for high-volume, real-time tasks

      - `ClaudeSonnet5_5("claude-sonnet-5-5")`

        Efficient model for coding and agents

      - `ClaudeOpus5_5("claude-opus-5-5")`

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

      - `ClaudeFable5_1("claude-fable-5-1")`

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

      - `ClaudeSonnet5("claude-sonnet-5")`

        Efficient model for coding and agents

      - `ClaudeFable5("claude-fable-5")`

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

      - `ClaudeOpus5("claude-opus-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_8("claude-opus-4-8")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_7("claude-opus-4-7")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_6("claude-opus-4-6")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_6("claude-sonnet-4-6")`

        Best combination of speed and intelligence

      - `ClaudeHaiku4_5("claude-haiku-4-5")`

      - `ClaudeHaiku4_5_20251001("claude-haiku-4-5-20251001")`

      - `ClaudeOpus4_5("claude-opus-4-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_5_20251101("claude-opus-4-5-20251101")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_5("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

      - `ClaudeSonnet4_5_20250929("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

    - `class BetaManagedAgentsModelConfigParams`

      An object that defines additional configuration control over model use

      - `required BetaManagedAgentsModel ID`

        The model that will power your agent.

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

        - `ClaudeHaiku5_5("claude-haiku-5-5")`

          Fastest model for high-volume, real-time tasks

        - `ClaudeSonnet5_5("claude-sonnet-5-5")`

          Efficient model for coding and agents

        - `ClaudeOpus5_5("claude-opus-5-5")`

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

        - `ClaudeFable5_1("claude-fable-5-1")`

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

        - `ClaudeSonnet5("claude-sonnet-5")`

          Efficient model for coding and agents

        - `ClaudeFable5("claude-fable-5")`

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

        - `ClaudeOpus5("claude-opus-5")`

          Powerful intelligence for long-running agents and coding

        - `ClaudeOpus4_8("claude-opus-4-8")`

          Powerful intelligence for long-running agents and coding

        - `ClaudeOpus4_7("claude-opus-4-7")`

          Powerful intelligence for long-running agents and coding

        - `ClaudeOpus4_6("claude-opus-4-6")`

          Powerful intelligence for long-running agents and coding

        - `ClaudeSonnet4_6("claude-sonnet-4-6")`

          Best combination of speed and intelligence

        - `ClaudeHaiku4_5("claude-haiku-4-5")`

        - `ClaudeHaiku4_5_20251001("claude-haiku-4-5-20251001")`

        - `ClaudeOpus4_5("claude-opus-4-5")`

          Powerful intelligence for long-running agents and coding

        - `ClaudeOpus4_5_20251101("claude-opus-4-5-20251101")`

          Powerful intelligence for long-running agents and coding

        - `ClaudeSonnet4_5("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

        - `ClaudeSonnet4_5_20250929("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? Effort`

        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.

        - `enum BetaManagedAgentsEffortLevel`

          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.

          - `Low("low")`

            Low effort. Favors latency over reasoning depth.

          - `Medium("medium")`

            Medium effort. Balances latency and reasoning depth.

          - `High("high")`

            High effort. Favors reasoning depth.

          - `Xhigh("xhigh")`

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

          - `Max("max")`

            Maximum effort. Favors reasoning depth over latency.

        - `class BetaManagedAgentsEffortLow`

          Low effort. Favors latency over reasoning depth.

          - `JsonElement Type = "low"`

        - `class BetaManagedAgentsEffortMedium`

          Medium effort. Balances latency and reasoning depth.

          - `JsonElement Type = "medium"`

        - `class BetaManagedAgentsEffortHigh`

          High effort. Favors reasoning depth.

          - `JsonElement Type = "high"`

        - `class BetaManagedAgentsEffortXhigh`

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

          - `JsonElement Type = "xhigh"`

        - `class BetaManagedAgentsEffortMax`

          Maximum effort. Favors reasoning depth over latency.

          - `JsonElement Type = "max"`

      - `string? InferenceGeo`

        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? Speed`

        Inference speed mode. Defaults to `standard`.

        - `Standard("standard")`

        - `Fast("fast")`

  - `required string name`

    Human-readable name for the agent.

    minLength: 1, maxLength: 256

  - `string? description`

    Description of what the agent does.

    maxLength: 2048

  - `BetaManagedAgentsExecutionIdentityParams? executionIdentity`

    Execution principal for runs of this agent. Omitting it, sending null, or sending `{"type": "service_account"}` stores the default.

  - `IReadOnlyList<BetaManagedAgentsUrlMcpServerParams> mcpServers`

    MCP servers this agent connects to. Maximum 20. Names must be unique within the array. Every server must be referenced by an `mcp_toolset` in `tools`; unreferenced servers are rejected. See the [MCP connector guide](https://platform.claude.com/docs/en/managed-agents/mcp-connector?sdk_languages=csharp).

    - `JsonElement Type = "url"`

    - `required string Name`

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

      minLength: 1, maxLength: 255

    - `required string Url`

      Endpoint URL for the MCP server.

      maxLength: 2048

  - `IReadOnlyDictionary<string, string> metadata`

    Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.

  - `BetaManagedAgentsMultiagentParams? multiagent`

    Multiagent orchestration configuration.

  - `IReadOnlyList<BetaManagedAgentsSkillParams> skills`

    Skills available to the agent.

    - `class BetaManagedAgentsAnthropicSkillParams`

      An Anthropic-managed skill.

      - `JsonElement Type = "anthropic"`

      - `required string SkillID`

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

        minLength: 1, maxLength: 64

      - `string? Version`

        Version to pin. Defaults to latest if omitted.

        minLength: 1, maxLength: 64

    - `class BetaManagedAgentsCustomSkillParams`

      A user-created custom skill.

      - `JsonElement Type = "custom"`

      - `required string SkillID`

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

        minLength: 1, maxLength: 64

      - `string? Version`

        Version to pin. Defaults to latest if omitted.

        minLength: 1, maxLength: 64

  - `string? system`

    System prompt for the agent.

    maxLength: 100000

  - `IReadOnlyList<Tool> tools`

    Tool configurations available to the agent. Maximum of 256 tools across all toolsets allowed.

    - `class BetaManagedAgentsAgentToolset20260401Params`

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

      - `JsonElement Type = "agent_toolset_20260401"`

      - `IReadOnlyList<BetaManagedAgentsAgentToolConfigParams> Configs`

        Per-tool configuration overrides.

        - `class BetaManagedAgentsBashToolConfigParams`

          Configuration override for the bash tool.

          - `Type Type`

          - `JsonElement Name = "bash"`

            Must be "bash".

          - `bool? Enabled`

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

          - `PermissionPolicy? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

              - `JsonElement Type = "always_allow"`

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

              - `JsonElement Type = "always_ask"`

            - `class 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.

              - `JsonElement Type = "auto"`

        - `class BetaManagedAgentsEditToolConfigParams`

          Configuration override for the edit tool.

          - `Type Type`

          - `JsonElement Name = "edit"`

            Must be "edit".

          - `bool? Enabled`

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

          - `PermissionPolicy? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsReadToolConfigParams`

          Configuration override for the read tool.

          - `Type Type`

          - `JsonElement Name = "read"`

            Must be "read".

          - `bool? Enabled`

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

          - `PermissionPolicy? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWriteToolConfigParams`

          Configuration override for the write tool.

          - `Type Type`

          - `JsonElement Name = "write"`

            Must be "write".

          - `bool? Enabled`

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

          - `PermissionPolicy? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGlobToolConfigParams`

          Configuration override for the glob tool.

          - `Type Type`

          - `JsonElement Name = "glob"`

            Must be "glob".

          - `bool? Enabled`

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

          - `PermissionPolicy? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGrepToolConfigParams`

          Configuration override for the grep tool.

          - `Type Type`

          - `JsonElement Name = "grep"`

            Must be "grep".

          - `bool? Enabled`

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

          - `PermissionPolicy? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWebFetchToolConfigParams`

          Configuration override for the web_fetch tool.

          - `Type Type`

          - `JsonElement Name = "web_fetch"`

            Must be "web_fetch".

          - `IReadOnlyList<string> AllowedDomains`

            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.

          - `IReadOnlyList<string> BlockedDomains`

            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.

          - `bool? Enabled`

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

          - `int? MaxContentTokens`

            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? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `BetaManagedAgentsWebFetchUrlSourcesParams? UrlSources`

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

            - `BetaManagedAgentsWebFetchUrlSourceToolFilterParams? ClientToolResults`

              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.

              - `enum BetaManagedAgentsWebFetchUrlSourceShorthand`

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

                - `All("all")`

                - `None("none")`

              - `class BetaManagedAgentsWebFetchUrlSourceToolFilter: union`

                Which tools' results contribute URLs that may be fetched.

                - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

                  - `JsonElement Type = "all"`

                - `class BetaManagedAgentsWebFetchUrlSourceNone`

                  This source contributes no URLs that may be fetched.

                  - `JsonElement Type = "none"`

                - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

                  - `JsonElement Type = "only"`

                  - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                    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.

                    - `JsonElement Type = "tool_reference"`

                      Must be "tool_reference".

                    - `required string Name`

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

                      minLength: 1, maxLength: 128

                - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

                  - `JsonElement Type = "except"`

                  - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                    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.

                    - `JsonElement Type = "tool_reference"`

                      Must be "tool_reference".

                    - `required string Name`

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

                      minLength: 1, maxLength: 128

            - `BetaManagedAgentsWebFetchUrlSourceToolFilterParams? ServerToolResults`

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

            - `BetaManagedAgentsWebFetchUrlSourceUserInputParams? UserInput`

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

              - `enum BetaManagedAgentsWebFetchUrlSourceShorthand`

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

              - `class BetaManagedAgentsWebFetchUrlSourceUserInput: union`

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

                - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

                - `class BetaManagedAgentsWebFetchUrlSourceNone`

                  This source contributes no URLs that may be fetched.

        - `class BetaManagedAgentsWebSearchToolConfigParams`

          Configuration override for the web_search tool.

          - `Type Type`

          - `JsonElement Name = "web_search"`

            Must be "web_search".

          - `IReadOnlyList<string> AllowedDomains`

            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.

          - `IReadOnlyList<string> BlockedDomains`

            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.

          - `bool? Enabled`

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

          - `PermissionPolicy? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `BetaManagedAgentsUserLocation? UserLocation`

            Approximate user location for search result localization.

            - `JsonElement Type = "approximate"`

              Location precision. Only "approximate" is supported.

            - `string? City`

              City name.

              minLength: 1, maxLength: 255

            - `string? Country`

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

            - `string? Region`

              Region or state name.

              minLength: 1, maxLength: 255

            - `string? Timezone`

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

              minLength: 1, maxLength: 255

      - `BetaManagedAgentsAgentToolsetDefaultConfigParams? DefaultConfig`

        Default configuration applied to all tools in this set.

        - `bool? Enabled`

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

        - `PermissionPolicy? PermissionPolicy`

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

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

    - `class BetaManagedAgentsMcpToolsetParams`

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

      - `JsonElement Type = "mcp_toolset"`

      - `required string McpServerName`

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

        minLength: 1, maxLength: 255

      - `IReadOnlyList<BetaManagedAgentsMcpToolConfigParams> Configs`

        Per-tool configuration overrides.

        - `required string Name`

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

          minLength: 1, maxLength: 128

        - `bool? Enabled`

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

        - `PermissionPolicy? PermissionPolicy`

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

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `BetaManagedAgentsMcpToolsetDefaultConfigParams? DefaultConfig`

        Default configuration for all tools from this server.

        - `bool? Enabled`

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

        - `PermissionPolicy? PermissionPolicy`

          Default permission policy for tools from this server.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

    - `class BetaManagedAgentsCustomToolParams`

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

      - `JsonElement Type = "custom"`

      - `required string Description`

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

        minLength: 1

      - `required BetaManagedAgentsCustomToolInputSchema InputSchema`

        JSON Schema defining the expected input parameters for the tool.

        - `JsonElement Type = "object"`

        - `IReadOnlyDictionary<string, JsonElement>? Properties`

        - `IReadOnlyList<string>? Required`

      - `required string Name`

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

        minLength: 1, maxLength: 128

  - `IReadOnlyList<AnthropicBeta> betas` (header parameter)

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

    - `MessageBatches2024_09_24("message-batches-2024-09-24")`

    - `PromptCaching2024_07_31("prompt-caching-2024-07-31")`

    - `ComputerUse2024_10_22("computer-use-2024-10-22")`

    - `ComputerUse2025_01_24("computer-use-2025-01-24")`

    - `Pdfs2024_09_25("pdfs-2024-09-25")`

    - `TokenCounting2024_11_01("token-counting-2024-11-01")`

    - `TokenEfficientTools2025_02_19("token-efficient-tools-2025-02-19")`

    - `Output128k2025_02_19("output-128k-2025-02-19")`

    - `FilesApi2025_04_14("files-api-2025-04-14")`

    - `McpClient2025_04_04("mcp-client-2025-04-04")`

    - `McpClient2025_11_20("mcp-client-2025-11-20")`

    - `DevFullThinking2025_05_14("dev-full-thinking-2025-05-14")`

    - `InterleavedThinking2025_05_14("interleaved-thinking-2025-05-14")`

    - `CodeExecution2025_05_22("code-execution-2025-05-22")`

    - `ExtendedCacheTtl2025_04_11("extended-cache-ttl-2025-04-11")`

    - `Context1m2025_08_07("context-1m-2025-08-07")`

    - `ContextManagement2025_06_27("context-management-2025-06-27")`

    - `ModelContextWindowExceeded2025_08_26("model-context-window-exceeded-2025-08-26")`

    - `Skills2025_10_02("skills-2025-10-02")`

    - `FastMode2026_02_01("fast-mode-2026-02-01")`

    - `Output300k2026_03_24("output-300k-2026-03-24")`

    - `UserProfiles2026_03_24("user-profiles-2026-03-24")`

    - `UserProfiles2026_08_18("user-profiles-2026-08-18")`

    - `UserProfiles2026_09_04("user-profiles-2026-09-04")`

    - `AdvisorTool2026_03_01("advisor-tool-2026-03-01")`

    - `ManagedAgents2026_04_01("managed-agents-2026-04-01")`

    - `CacheDiagnosis2026_04_07("cache-diagnosis-2026-04-07")`

    - `Dreaming2026_04_21("dreaming-2026-04-21")`

    - `ThinkingTokenCount2026_05_13("thinking-token-count-2026-05-13")`

    - `ServerSideFallback2026_06_01("server-side-fallback-2026-06-01")`

    - `ServerSideFallback2026_07_01("server-side-fallback-2026-07-01")`

    - `FallbackCredit2026_06_01("fallback-credit-2026-06-01")`

    - `FallbackCredit2026_07_01("fallback-credit-2026-07-01")`

    - `AgentMemory2026_07_22("agent-memory-2026-07-22")`

    - `MidConversationToolChanges2026_07_01("mid-conversation-tool-changes-2026-07-01")`

    - `Compact2026_01_12("compact-2026-01-12")`

    - `ComputerUse2025_11_24("computer-use-2025-11-24")`

    - `McpTunnels2026_06_22("mcp-tunnels-2026-06-22")`

    - `StructuredOutputs2025_11_13("structured-outputs-2025-11-13")`

    - `TaskBudgets2026_03_13("task-budgets-2026-03-13")`

    - `ThinkingDisplayUpdates2026_08_18("thinking-display-updates-2026-08-18")`

    - `CEUserManagement2026_07_13("ce-user-management-2026-07-13")`

    - `MidConversationOutputConfig2026_07_01("mid-conversation-output-config-2026-07-01")`

    - `ThinkingBindingControls2026_08_01("thinking-binding-controls-2026-08-01")`

    - `MidConversationSystemClearAt2026_08_21("mid-conversation-system-clear-at-2026-08-21")`

    - `Compact2026_09_04("compact-2026-09-04")`

    - `InlineTools2026_09_15("inline-tools-2026-09-15")`

    - `McpClient2026_09_15("mcp-client-2026-09-15")`

    - `CEPlugins2026_09_01("ce-plugins-2026-09-01")`

    - `SpendLimitReads2026_09_26("spend-limit-reads-2026-09-26")`

    - `TelemetryDestinations2026_08_11("telemetry-destinations-2026-08-11")`

    - `Webhooks2026_10_07("webhooks-2026-10-07")`

    - `MessageThreads2026_08_12("message-threads-2026-08-12")`

    - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")`

    - `ExperimentalClaudeTag2026_10_21("experimental-claude-tag-2026-10-21")`

  - `string workspaceID` (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

- `class BetaManagedAgentsAgent`

  A Managed Agents `agent`.

  - `JsonElement Type = "agent"`

  - `required string ID`

  - `required DateTimeOffset? ArchivedAt`

    When the agent was archived. Null if not archived.

    format: date-time

  - `required DateTimeOffset CreatedAt`

    A timestamp in RFC 3339 format

    format: date-time

  - `required string? Description`

  - `required BetaManagedAgentsExecutionIdentity ExecutionIdentity`

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

    - `class BetaManagedAgentsAwsRoleExecutionIdentity`

      An AWS IAM role principal as returned in API responses.

      - `JsonElement Type = "aws_role"`

      - `required string RoleArn`

        The IAM role's ARN.

    - `class BetaManagedAgentsServiceAccountExecutionIdentity`

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

      - `JsonElement Type = "service_account"`

  - `required IReadOnlyList<BetaManagedAgentsMcpServerUrlDefinition> McpServers`

    - `JsonElement Type = "url"`

    - `required string Name`

    - `required string Url`

  - `required IReadOnlyDictionary<string, string> Metadata`

  - `required BetaManagedAgentsModelConfig Model`

    Model identifier and configuration.

    - `required BetaManagedAgentsModel ID`

      The model that will power your agent.

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

      - `ClaudeHaiku5_5("claude-haiku-5-5")`

        Fastest model for high-volume, real-time tasks

      - `ClaudeSonnet5_5("claude-sonnet-5-5")`

        Efficient model for coding and agents

      - `ClaudeOpus5_5("claude-opus-5-5")`

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

      - `ClaudeFable5_1("claude-fable-5-1")`

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

      - `ClaudeSonnet5("claude-sonnet-5")`

        Efficient model for coding and agents

      - `ClaudeFable5("claude-fable-5")`

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

      - `ClaudeOpus5("claude-opus-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_8("claude-opus-4-8")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_7("claude-opus-4-7")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_6("claude-opus-4-6")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_6("claude-sonnet-4-6")`

        Best combination of speed and intelligence

      - `ClaudeHaiku4_5("claude-haiku-4-5")`

      - `ClaudeHaiku4_5_20251001("claude-haiku-4-5-20251001")`

      - `ClaudeOpus4_5("claude-opus-4-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_5_20251101("claude-opus-4-5-20251101")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_5("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

      - `ClaudeSonnet4_5_20250929("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 Effort`

      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.

      - `class BetaManagedAgentsEffortLow`

        Low effort. Favors latency over reasoning depth.

        - `JsonElement Type = "low"`

      - `class BetaManagedAgentsEffortMedium`

        Medium effort. Balances latency and reasoning depth.

        - `JsonElement Type = "medium"`

      - `class BetaManagedAgentsEffortHigh`

        High effort. Favors reasoning depth.

        - `JsonElement Type = "high"`

      - `class BetaManagedAgentsEffortXhigh`

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

        - `JsonElement Type = "xhigh"`

      - `class BetaManagedAgentsEffortMax`

        Maximum effort. Favors reasoning depth over latency.

        - `JsonElement Type = "max"`

    - `string InferenceGeo`

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

    - `Speed Speed`

      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.

      - `Standard("standard")`

      - `Fast("fast")`

  - `required BetaManagedAgentsMultiagent? Multiagent`

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

    - `class BetaManagedAgentsMultiagentCoordinator`

      Resolved coordinator topology with a concrete agent roster.

      - `JsonElement Type = "coordinator"`

      - `required IReadOnlyList<Agent> Agents`

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

        - `class BetaManagedAgentsAgentReference`

          A resolved agent reference with a concrete version.

          - `JsonElement Type = "agent"`

          - `required string ID`

          - `required int Version`

            format: int32

        - `class BetaManagedAgentsAdvisor`

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

          - `JsonElement Type = "advisor"`

          - `required string Model`

            The advisor model id.

    - `class BetaManagedAgentsMultiagent20261001`

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

      - `JsonElement Type = "multiagent_20261001"`

      - `required BetaManagedAgentsMultiagentAdvisor Advisor`

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

        - `class BetaManagedAgentsMultiagentAdvisorEnabled`

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

          - `JsonElement Type = "enabled"`

          - `required string Model`

            The advisor model id.

        - `class BetaManagedAgentsMultiagentAdvisorDisabled`

          The agent has no advisor.

          - `JsonElement Type = "disabled"`

      - `required BetaManagedAgentsMultiagentSubagents Subagents`

        Whether the agent can spawn session threads.

        - `class BetaManagedAgentsMultiagentSubagentsEnabled`

          The agent can spawn session threads.

          - `JsonElement Type = "enabled"`

          - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

            - `class BetaManagedAgentsMultiagentInlineAgentsEnabled`

              The agent can define inline agents.

              - `JsonElement Type = "enabled"`

            - `class BetaManagedAgentsMultiagentInlineAgentsDisabled`

              The agent cannot define inline agents.

              - `JsonElement Type = "disabled"`

          - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

            - `JsonElement Type = "agent"`

            - `required string ID`

            - `required int Version`

              format: int32

        - `class BetaManagedAgentsMultiagentSubagentsDisabled`

          The agent cannot spawn session threads.

          - `JsonElement Type = "disabled"`

      - `required BetaManagedAgentsMultiagentWorkflows Workflows`

        Whether the agent can start workflow runs.

        - `class BetaManagedAgentsMultiagentWorkflowsEnabled`

          The agent can start workflow runs.

          - `JsonElement Type = "enabled"`

          - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

          - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

            - `JsonElement Type = "agent"`

            - `required string ID`

            - `required int Version`

              format: int32

        - `class BetaManagedAgentsMultiagentWorkflowsDisabled`

          The agent cannot start workflow runs.

          - `JsonElement Type = "disabled"`

  - `required string Name`

  - `required IReadOnlyList<Skill> Skills`

    - `class BetaManagedAgentsAnthropicSkill`

      A resolved Anthropic-managed skill.

      - `JsonElement Type = "anthropic"`

      - `required string SkillID`

      - `required string Version`

    - `class BetaManagedAgentsCustomSkill`

      A resolved user-created custom skill.

      - `JsonElement Type = "custom"`

      - `required string SkillID`

      - `required string Version`

  - `required string? System`

  - `required IReadOnlyList<Tool> Tools`

    - `class BetaManagedAgentsAgentToolset20260401`

      - `JsonElement Type = "agent_toolset_20260401"`

      - `required IReadOnlyList<BetaManagedAgentsAgentToolConfig> Configs`

        - `class BetaManagedAgentsBashToolConfig`

          Configuration for the bash tool.

          - `JsonElement Type = "bash"`

          - `required bool Enabled`

          - `JsonElement Name = "bash"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

              - `JsonElement Type = "always_allow"`

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

              - `JsonElement Type = "always_ask"`

            - `class 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.

              - `JsonElement Type = "auto"`

        - `class BetaManagedAgentsEditToolConfig`

          Configuration for the edit tool.

          - `JsonElement Type = "edit"`

          - `required bool Enabled`

          - `JsonElement Name = "edit"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsReadToolConfig`

          Configuration for the read tool.

          - `JsonElement Type = "read"`

          - `required bool Enabled`

          - `JsonElement Name = "read"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWriteToolConfig`

          Configuration for the write tool.

          - `JsonElement Type = "write"`

          - `required bool Enabled`

          - `JsonElement Name = "write"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGlobToolConfig`

          Configuration for the glob tool.

          - `JsonElement Type = "glob"`

          - `required bool Enabled`

          - `JsonElement Name = "glob"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGrepToolConfig`

          Configuration for the grep tool.

          - `JsonElement Type = "grep"`

          - `required bool Enabled`

          - `JsonElement Name = "grep"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWebFetchToolConfig`

          Configuration for the web_fetch tool.

          - `JsonElement Type = "web_fetch"`

          - `required bool Enabled`

          - `JsonElement Name = "web_fetch"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `required BetaManagedAgentsWebFetchUrlSources? UrlSources`

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

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ClientToolResults`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

                - `JsonElement Type = "all"`

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

                - `JsonElement Type = "none"`

              - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

                - `JsonElement Type = "only"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

              - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

                - `JsonElement Type = "except"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ServerToolResults`

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

            - `required BetaManagedAgentsWebFetchUrlSourceUserInput? UserInput`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `int? MaxContentTokens`

            format: int32

        - `class BetaManagedAgentsWebSearchToolConfig`

          Configuration for the web_search tool.

          - `JsonElement Type = "web_search"`

          - `required bool Enabled`

          - `JsonElement Name = "web_search"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `BetaManagedAgentsUserLocation? UserLocation`

            Approximate user location for search result localization.

            - `JsonElement Type = "approximate"`

              Location precision. Only "approximate" is supported.

            - `string? City`

              City name.

              minLength: 1, maxLength: 255

            - `string? Country`

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

            - `string? Region`

              Region or state name.

              minLength: 1, maxLength: 255

            - `string? Timezone`

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

              minLength: 1, maxLength: 255

      - `required BetaManagedAgentsAgentToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for agent tools.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

    - `class BetaManagedAgentsMcpToolset`

      - `JsonElement Type = "mcp_toolset"`

      - `required IReadOnlyList<BetaManagedAgentsMcpToolConfig> Configs`

        - `required bool Enabled`

        - `required string Name`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required BetaManagedAgentsMcpToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for all tools from an MCP server.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required string McpServerName`

    - `class BetaManagedAgentsCustomTool`

      A custom tool as returned in API responses.

      - `JsonElement Type = "custom"`

      - `required string Description`

      - `required BetaManagedAgentsCustomToolInputSchema InputSchema`

        JSON Schema for custom tool input parameters.

        - `JsonElement Type = "object"`

        - `IReadOnlyDictionary<string, JsonElement>? Properties`

        - `IReadOnlyList<string>? Required`

      - `required string Name`

  - `required DateTimeOffset UpdatedAt`

    A timestamp in RFC 3339 format

    format: date-time

  - `required int Version`

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

    format: int32

### Example

```csharp
using System;
using Anthropic.Models.Beta.Agents;

AgentCreateParams parameters = new()
{
    Model = BetaManagedAgentsModel.ClaudeOpus5_5,
    Name = "My First Agent",
};

var betaManagedAgentsAgent = await client.Beta.Agents.Create(parameters);

Console.WriteLine(betaManagedAgentsAgent);
```

#### 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
}
```

## List Agents

`AgentListPage Beta.Agents.List(parameters, cancellationToken = default)`

**GET** `/v1/agents`

List Agents

### Parameters

- `AgentListParams parameters`

  - `DateTimeOffset createdAtGte` (query parameter)

    Return agents created at or after this time (inclusive).

    format: date-time

  - `DateTimeOffset createdAtLte` (query parameter)

    Return agents created at or before this time (inclusive).

    format: date-time

  - `bool includeArchived` (query parameter)

    Include archived agents in results. Defaults to false.

  - `int limit` (query parameter)

    Maximum results per page. Default 20, maximum 100.

    format: int32

  - `string page` (query parameter)

    Opaque pagination cursor from a previous response.

  - `IReadOnlyList<AnthropicBeta> betas` (header parameter)

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

    - `MessageBatches2024_09_24("message-batches-2024-09-24")`

    - `PromptCaching2024_07_31("prompt-caching-2024-07-31")`

    - `ComputerUse2024_10_22("computer-use-2024-10-22")`

    - `ComputerUse2025_01_24("computer-use-2025-01-24")`

    - `Pdfs2024_09_25("pdfs-2024-09-25")`

    - `TokenCounting2024_11_01("token-counting-2024-11-01")`

    - `TokenEfficientTools2025_02_19("token-efficient-tools-2025-02-19")`

    - `Output128k2025_02_19("output-128k-2025-02-19")`

    - `FilesApi2025_04_14("files-api-2025-04-14")`

    - `McpClient2025_04_04("mcp-client-2025-04-04")`

    - `McpClient2025_11_20("mcp-client-2025-11-20")`

    - `DevFullThinking2025_05_14("dev-full-thinking-2025-05-14")`

    - `InterleavedThinking2025_05_14("interleaved-thinking-2025-05-14")`

    - `CodeExecution2025_05_22("code-execution-2025-05-22")`

    - `ExtendedCacheTtl2025_04_11("extended-cache-ttl-2025-04-11")`

    - `Context1m2025_08_07("context-1m-2025-08-07")`

    - `ContextManagement2025_06_27("context-management-2025-06-27")`

    - `ModelContextWindowExceeded2025_08_26("model-context-window-exceeded-2025-08-26")`

    - `Skills2025_10_02("skills-2025-10-02")`

    - `FastMode2026_02_01("fast-mode-2026-02-01")`

    - `Output300k2026_03_24("output-300k-2026-03-24")`

    - `UserProfiles2026_03_24("user-profiles-2026-03-24")`

    - `UserProfiles2026_08_18("user-profiles-2026-08-18")`

    - `UserProfiles2026_09_04("user-profiles-2026-09-04")`

    - `AdvisorTool2026_03_01("advisor-tool-2026-03-01")`

    - `ManagedAgents2026_04_01("managed-agents-2026-04-01")`

    - `CacheDiagnosis2026_04_07("cache-diagnosis-2026-04-07")`

    - `Dreaming2026_04_21("dreaming-2026-04-21")`

    - `ThinkingTokenCount2026_05_13("thinking-token-count-2026-05-13")`

    - `ServerSideFallback2026_06_01("server-side-fallback-2026-06-01")`

    - `ServerSideFallback2026_07_01("server-side-fallback-2026-07-01")`

    - `FallbackCredit2026_06_01("fallback-credit-2026-06-01")`

    - `FallbackCredit2026_07_01("fallback-credit-2026-07-01")`

    - `AgentMemory2026_07_22("agent-memory-2026-07-22")`

    - `MidConversationToolChanges2026_07_01("mid-conversation-tool-changes-2026-07-01")`

    - `Compact2026_01_12("compact-2026-01-12")`

    - `ComputerUse2025_11_24("computer-use-2025-11-24")`

    - `McpTunnels2026_06_22("mcp-tunnels-2026-06-22")`

    - `StructuredOutputs2025_11_13("structured-outputs-2025-11-13")`

    - `TaskBudgets2026_03_13("task-budgets-2026-03-13")`

    - `ThinkingDisplayUpdates2026_08_18("thinking-display-updates-2026-08-18")`

    - `CEUserManagement2026_07_13("ce-user-management-2026-07-13")`

    - `MidConversationOutputConfig2026_07_01("mid-conversation-output-config-2026-07-01")`

    - `ThinkingBindingControls2026_08_01("thinking-binding-controls-2026-08-01")`

    - `MidConversationSystemClearAt2026_08_21("mid-conversation-system-clear-at-2026-08-21")`

    - `Compact2026_09_04("compact-2026-09-04")`

    - `InlineTools2026_09_15("inline-tools-2026-09-15")`

    - `McpClient2026_09_15("mcp-client-2026-09-15")`

    - `CEPlugins2026_09_01("ce-plugins-2026-09-01")`

    - `SpendLimitReads2026_09_26("spend-limit-reads-2026-09-26")`

    - `TelemetryDestinations2026_08_11("telemetry-destinations-2026-08-11")`

    - `Webhooks2026_10_07("webhooks-2026-10-07")`

    - `MessageThreads2026_08_12("message-threads-2026-08-12")`

    - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")`

    - `ExperimentalClaudeTag2026_10_21("experimental-claude-tag-2026-10-21")`

  - `string workspaceID` (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

- `class BetaManagedAgentsAgent`

  A Managed Agents `agent`.

  - `JsonElement Type = "agent"`

  - `required string ID`

  - `required DateTimeOffset? ArchivedAt`

    When the agent was archived. Null if not archived.

    format: date-time

  - `required DateTimeOffset CreatedAt`

    A timestamp in RFC 3339 format

    format: date-time

  - `required string? Description`

  - `required BetaManagedAgentsExecutionIdentity ExecutionIdentity`

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

    - `class BetaManagedAgentsAwsRoleExecutionIdentity`

      An AWS IAM role principal as returned in API responses.

      - `JsonElement Type = "aws_role"`

      - `required string RoleArn`

        The IAM role's ARN.

    - `class BetaManagedAgentsServiceAccountExecutionIdentity`

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

      - `JsonElement Type = "service_account"`

  - `required IReadOnlyList<BetaManagedAgentsMcpServerUrlDefinition> McpServers`

    - `JsonElement Type = "url"`

    - `required string Name`

    - `required string Url`

  - `required IReadOnlyDictionary<string, string> Metadata`

  - `required BetaManagedAgentsModelConfig Model`

    Model identifier and configuration.

    - `required BetaManagedAgentsModel ID`

      The model that will power your agent.

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

      - `ClaudeHaiku5_5("claude-haiku-5-5")`

        Fastest model for high-volume, real-time tasks

      - `ClaudeSonnet5_5("claude-sonnet-5-5")`

        Efficient model for coding and agents

      - `ClaudeOpus5_5("claude-opus-5-5")`

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

      - `ClaudeFable5_1("claude-fable-5-1")`

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

      - `ClaudeSonnet5("claude-sonnet-5")`

        Efficient model for coding and agents

      - `ClaudeFable5("claude-fable-5")`

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

      - `ClaudeOpus5("claude-opus-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_8("claude-opus-4-8")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_7("claude-opus-4-7")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_6("claude-opus-4-6")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_6("claude-sonnet-4-6")`

        Best combination of speed and intelligence

      - `ClaudeHaiku4_5("claude-haiku-4-5")`

      - `ClaudeHaiku4_5_20251001("claude-haiku-4-5-20251001")`

      - `ClaudeOpus4_5("claude-opus-4-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_5_20251101("claude-opus-4-5-20251101")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_5("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

      - `ClaudeSonnet4_5_20250929("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 Effort`

      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.

      - `class BetaManagedAgentsEffortLow`

        Low effort. Favors latency over reasoning depth.

        - `JsonElement Type = "low"`

      - `class BetaManagedAgentsEffortMedium`

        Medium effort. Balances latency and reasoning depth.

        - `JsonElement Type = "medium"`

      - `class BetaManagedAgentsEffortHigh`

        High effort. Favors reasoning depth.

        - `JsonElement Type = "high"`

      - `class BetaManagedAgentsEffortXhigh`

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

        - `JsonElement Type = "xhigh"`

      - `class BetaManagedAgentsEffortMax`

        Maximum effort. Favors reasoning depth over latency.

        - `JsonElement Type = "max"`

    - `string InferenceGeo`

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

    - `Speed Speed`

      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.

      - `Standard("standard")`

      - `Fast("fast")`

  - `required BetaManagedAgentsMultiagent? Multiagent`

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

    - `class BetaManagedAgentsMultiagentCoordinator`

      Resolved coordinator topology with a concrete agent roster.

      - `JsonElement Type = "coordinator"`

      - `required IReadOnlyList<Agent> Agents`

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

        - `class BetaManagedAgentsAgentReference`

          A resolved agent reference with a concrete version.

          - `JsonElement Type = "agent"`

          - `required string ID`

          - `required int Version`

            format: int32

        - `class BetaManagedAgentsAdvisor`

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

          - `JsonElement Type = "advisor"`

          - `required string Model`

            The advisor model id.

    - `class BetaManagedAgentsMultiagent20261001`

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

      - `JsonElement Type = "multiagent_20261001"`

      - `required BetaManagedAgentsMultiagentAdvisor Advisor`

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

        - `class BetaManagedAgentsMultiagentAdvisorEnabled`

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

          - `JsonElement Type = "enabled"`

          - `required string Model`

            The advisor model id.

        - `class BetaManagedAgentsMultiagentAdvisorDisabled`

          The agent has no advisor.

          - `JsonElement Type = "disabled"`

      - `required BetaManagedAgentsMultiagentSubagents Subagents`

        Whether the agent can spawn session threads.

        - `class BetaManagedAgentsMultiagentSubagentsEnabled`

          The agent can spawn session threads.

          - `JsonElement Type = "enabled"`

          - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

            - `class BetaManagedAgentsMultiagentInlineAgentsEnabled`

              The agent can define inline agents.

              - `JsonElement Type = "enabled"`

            - `class BetaManagedAgentsMultiagentInlineAgentsDisabled`

              The agent cannot define inline agents.

              - `JsonElement Type = "disabled"`

          - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

            - `JsonElement Type = "agent"`

            - `required string ID`

            - `required int Version`

              format: int32

        - `class BetaManagedAgentsMultiagentSubagentsDisabled`

          The agent cannot spawn session threads.

          - `JsonElement Type = "disabled"`

      - `required BetaManagedAgentsMultiagentWorkflows Workflows`

        Whether the agent can start workflow runs.

        - `class BetaManagedAgentsMultiagentWorkflowsEnabled`

          The agent can start workflow runs.

          - `JsonElement Type = "enabled"`

          - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

          - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

            - `JsonElement Type = "agent"`

            - `required string ID`

            - `required int Version`

              format: int32

        - `class BetaManagedAgentsMultiagentWorkflowsDisabled`

          The agent cannot start workflow runs.

          - `JsonElement Type = "disabled"`

  - `required string Name`

  - `required IReadOnlyList<Skill> Skills`

    - `class BetaManagedAgentsAnthropicSkill`

      A resolved Anthropic-managed skill.

      - `JsonElement Type = "anthropic"`

      - `required string SkillID`

      - `required string Version`

    - `class BetaManagedAgentsCustomSkill`

      A resolved user-created custom skill.

      - `JsonElement Type = "custom"`

      - `required string SkillID`

      - `required string Version`

  - `required string? System`

  - `required IReadOnlyList<Tool> Tools`

    - `class BetaManagedAgentsAgentToolset20260401`

      - `JsonElement Type = "agent_toolset_20260401"`

      - `required IReadOnlyList<BetaManagedAgentsAgentToolConfig> Configs`

        - `class BetaManagedAgentsBashToolConfig`

          Configuration for the bash tool.

          - `JsonElement Type = "bash"`

          - `required bool Enabled`

          - `JsonElement Name = "bash"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

              - `JsonElement Type = "always_allow"`

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

              - `JsonElement Type = "always_ask"`

            - `class 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.

              - `JsonElement Type = "auto"`

        - `class BetaManagedAgentsEditToolConfig`

          Configuration for the edit tool.

          - `JsonElement Type = "edit"`

          - `required bool Enabled`

          - `JsonElement Name = "edit"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsReadToolConfig`

          Configuration for the read tool.

          - `JsonElement Type = "read"`

          - `required bool Enabled`

          - `JsonElement Name = "read"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWriteToolConfig`

          Configuration for the write tool.

          - `JsonElement Type = "write"`

          - `required bool Enabled`

          - `JsonElement Name = "write"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGlobToolConfig`

          Configuration for the glob tool.

          - `JsonElement Type = "glob"`

          - `required bool Enabled`

          - `JsonElement Name = "glob"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGrepToolConfig`

          Configuration for the grep tool.

          - `JsonElement Type = "grep"`

          - `required bool Enabled`

          - `JsonElement Name = "grep"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWebFetchToolConfig`

          Configuration for the web_fetch tool.

          - `JsonElement Type = "web_fetch"`

          - `required bool Enabled`

          - `JsonElement Name = "web_fetch"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `required BetaManagedAgentsWebFetchUrlSources? UrlSources`

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

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ClientToolResults`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

                - `JsonElement Type = "all"`

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

                - `JsonElement Type = "none"`

              - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

                - `JsonElement Type = "only"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

              - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

                - `JsonElement Type = "except"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ServerToolResults`

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

            - `required BetaManagedAgentsWebFetchUrlSourceUserInput? UserInput`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `int? MaxContentTokens`

            format: int32

        - `class BetaManagedAgentsWebSearchToolConfig`

          Configuration for the web_search tool.

          - `JsonElement Type = "web_search"`

          - `required bool Enabled`

          - `JsonElement Name = "web_search"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `BetaManagedAgentsUserLocation? UserLocation`

            Approximate user location for search result localization.

            - `JsonElement Type = "approximate"`

              Location precision. Only "approximate" is supported.

            - `string? City`

              City name.

              minLength: 1, maxLength: 255

            - `string? Country`

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

            - `string? Region`

              Region or state name.

              minLength: 1, maxLength: 255

            - `string? Timezone`

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

              minLength: 1, maxLength: 255

      - `required BetaManagedAgentsAgentToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for agent tools.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

    - `class BetaManagedAgentsMcpToolset`

      - `JsonElement Type = "mcp_toolset"`

      - `required IReadOnlyList<BetaManagedAgentsMcpToolConfig> Configs`

        - `required bool Enabled`

        - `required string Name`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required BetaManagedAgentsMcpToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for all tools from an MCP server.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required string McpServerName`

    - `class BetaManagedAgentsCustomTool`

      A custom tool as returned in API responses.

      - `JsonElement Type = "custom"`

      - `required string Description`

      - `required BetaManagedAgentsCustomToolInputSchema InputSchema`

        JSON Schema for custom tool input parameters.

        - `JsonElement Type = "object"`

        - `IReadOnlyDictionary<string, JsonElement>? Properties`

        - `IReadOnlyList<string>? Required`

      - `required string Name`

  - `required DateTimeOffset UpdatedAt`

    A timestamp in RFC 3339 format

    format: date-time

  - `required int Version`

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

    format: int32

### Example

```csharp
using System;
using Anthropic.Models.Beta.Agents;

AgentListParams parameters = new();

var page = await client.Beta.Agents.List(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
```

#### Response (200)

```json
{
  "data": [
    {
      "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
    }
  ],
  "next_page": "next_page"
}
```

## Get Agent

`BetaManagedAgentsAgent Beta.Agents.Retrieve(parameters, cancellationToken = default)`

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

Get Agent

### Parameters

- `AgentRetrieveParams parameters`

  - `required string agentID` (path parameter)

    Unique identifier of the agent to retrieve.

  - `int version` (query parameter)

    Agent version. Omit for the most recent version. Must be at least 1 if specified.

    format: int32

  - `IReadOnlyList<AnthropicBeta> betas` (header parameter)

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

    - `MessageBatches2024_09_24("message-batches-2024-09-24")`

    - `PromptCaching2024_07_31("prompt-caching-2024-07-31")`

    - `ComputerUse2024_10_22("computer-use-2024-10-22")`

    - `ComputerUse2025_01_24("computer-use-2025-01-24")`

    - `Pdfs2024_09_25("pdfs-2024-09-25")`

    - `TokenCounting2024_11_01("token-counting-2024-11-01")`

    - `TokenEfficientTools2025_02_19("token-efficient-tools-2025-02-19")`

    - `Output128k2025_02_19("output-128k-2025-02-19")`

    - `FilesApi2025_04_14("files-api-2025-04-14")`

    - `McpClient2025_04_04("mcp-client-2025-04-04")`

    - `McpClient2025_11_20("mcp-client-2025-11-20")`

    - `DevFullThinking2025_05_14("dev-full-thinking-2025-05-14")`

    - `InterleavedThinking2025_05_14("interleaved-thinking-2025-05-14")`

    - `CodeExecution2025_05_22("code-execution-2025-05-22")`

    - `ExtendedCacheTtl2025_04_11("extended-cache-ttl-2025-04-11")`

    - `Context1m2025_08_07("context-1m-2025-08-07")`

    - `ContextManagement2025_06_27("context-management-2025-06-27")`

    - `ModelContextWindowExceeded2025_08_26("model-context-window-exceeded-2025-08-26")`

    - `Skills2025_10_02("skills-2025-10-02")`

    - `FastMode2026_02_01("fast-mode-2026-02-01")`

    - `Output300k2026_03_24("output-300k-2026-03-24")`

    - `UserProfiles2026_03_24("user-profiles-2026-03-24")`

    - `UserProfiles2026_08_18("user-profiles-2026-08-18")`

    - `UserProfiles2026_09_04("user-profiles-2026-09-04")`

    - `AdvisorTool2026_03_01("advisor-tool-2026-03-01")`

    - `ManagedAgents2026_04_01("managed-agents-2026-04-01")`

    - `CacheDiagnosis2026_04_07("cache-diagnosis-2026-04-07")`

    - `Dreaming2026_04_21("dreaming-2026-04-21")`

    - `ThinkingTokenCount2026_05_13("thinking-token-count-2026-05-13")`

    - `ServerSideFallback2026_06_01("server-side-fallback-2026-06-01")`

    - `ServerSideFallback2026_07_01("server-side-fallback-2026-07-01")`

    - `FallbackCredit2026_06_01("fallback-credit-2026-06-01")`

    - `FallbackCredit2026_07_01("fallback-credit-2026-07-01")`

    - `AgentMemory2026_07_22("agent-memory-2026-07-22")`

    - `MidConversationToolChanges2026_07_01("mid-conversation-tool-changes-2026-07-01")`

    - `Compact2026_01_12("compact-2026-01-12")`

    - `ComputerUse2025_11_24("computer-use-2025-11-24")`

    - `McpTunnels2026_06_22("mcp-tunnels-2026-06-22")`

    - `StructuredOutputs2025_11_13("structured-outputs-2025-11-13")`

    - `TaskBudgets2026_03_13("task-budgets-2026-03-13")`

    - `ThinkingDisplayUpdates2026_08_18("thinking-display-updates-2026-08-18")`

    - `CEUserManagement2026_07_13("ce-user-management-2026-07-13")`

    - `MidConversationOutputConfig2026_07_01("mid-conversation-output-config-2026-07-01")`

    - `ThinkingBindingControls2026_08_01("thinking-binding-controls-2026-08-01")`

    - `MidConversationSystemClearAt2026_08_21("mid-conversation-system-clear-at-2026-08-21")`

    - `Compact2026_09_04("compact-2026-09-04")`

    - `InlineTools2026_09_15("inline-tools-2026-09-15")`

    - `McpClient2026_09_15("mcp-client-2026-09-15")`

    - `CEPlugins2026_09_01("ce-plugins-2026-09-01")`

    - `SpendLimitReads2026_09_26("spend-limit-reads-2026-09-26")`

    - `TelemetryDestinations2026_08_11("telemetry-destinations-2026-08-11")`

    - `Webhooks2026_10_07("webhooks-2026-10-07")`

    - `MessageThreads2026_08_12("message-threads-2026-08-12")`

    - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")`

    - `ExperimentalClaudeTag2026_10_21("experimental-claude-tag-2026-10-21")`

  - `string workspaceID` (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

- `class BetaManagedAgentsAgent`

  A Managed Agents `agent`.

  - `JsonElement Type = "agent"`

  - `required string ID`

  - `required DateTimeOffset? ArchivedAt`

    When the agent was archived. Null if not archived.

    format: date-time

  - `required DateTimeOffset CreatedAt`

    A timestamp in RFC 3339 format

    format: date-time

  - `required string? Description`

  - `required BetaManagedAgentsExecutionIdentity ExecutionIdentity`

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

    - `class BetaManagedAgentsAwsRoleExecutionIdentity`

      An AWS IAM role principal as returned in API responses.

      - `JsonElement Type = "aws_role"`

      - `required string RoleArn`

        The IAM role's ARN.

    - `class BetaManagedAgentsServiceAccountExecutionIdentity`

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

      - `JsonElement Type = "service_account"`

  - `required IReadOnlyList<BetaManagedAgentsMcpServerUrlDefinition> McpServers`

    - `JsonElement Type = "url"`

    - `required string Name`

    - `required string Url`

  - `required IReadOnlyDictionary<string, string> Metadata`

  - `required BetaManagedAgentsModelConfig Model`

    Model identifier and configuration.

    - `required BetaManagedAgentsModel ID`

      The model that will power your agent.

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

      - `ClaudeHaiku5_5("claude-haiku-5-5")`

        Fastest model for high-volume, real-time tasks

      - `ClaudeSonnet5_5("claude-sonnet-5-5")`

        Efficient model for coding and agents

      - `ClaudeOpus5_5("claude-opus-5-5")`

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

      - `ClaudeFable5_1("claude-fable-5-1")`

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

      - `ClaudeSonnet5("claude-sonnet-5")`

        Efficient model for coding and agents

      - `ClaudeFable5("claude-fable-5")`

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

      - `ClaudeOpus5("claude-opus-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_8("claude-opus-4-8")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_7("claude-opus-4-7")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_6("claude-opus-4-6")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_6("claude-sonnet-4-6")`

        Best combination of speed and intelligence

      - `ClaudeHaiku4_5("claude-haiku-4-5")`

      - `ClaudeHaiku4_5_20251001("claude-haiku-4-5-20251001")`

      - `ClaudeOpus4_5("claude-opus-4-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_5_20251101("claude-opus-4-5-20251101")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_5("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

      - `ClaudeSonnet4_5_20250929("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 Effort`

      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.

      - `class BetaManagedAgentsEffortLow`

        Low effort. Favors latency over reasoning depth.

        - `JsonElement Type = "low"`

      - `class BetaManagedAgentsEffortMedium`

        Medium effort. Balances latency and reasoning depth.

        - `JsonElement Type = "medium"`

      - `class BetaManagedAgentsEffortHigh`

        High effort. Favors reasoning depth.

        - `JsonElement Type = "high"`

      - `class BetaManagedAgentsEffortXhigh`

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

        - `JsonElement Type = "xhigh"`

      - `class BetaManagedAgentsEffortMax`

        Maximum effort. Favors reasoning depth over latency.

        - `JsonElement Type = "max"`

    - `string InferenceGeo`

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

    - `Speed Speed`

      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.

      - `Standard("standard")`

      - `Fast("fast")`

  - `required BetaManagedAgentsMultiagent? Multiagent`

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

    - `class BetaManagedAgentsMultiagentCoordinator`

      Resolved coordinator topology with a concrete agent roster.

      - `JsonElement Type = "coordinator"`

      - `required IReadOnlyList<Agent> Agents`

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

        - `class BetaManagedAgentsAgentReference`

          A resolved agent reference with a concrete version.

          - `JsonElement Type = "agent"`

          - `required string ID`

          - `required int Version`

            format: int32

        - `class BetaManagedAgentsAdvisor`

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

          - `JsonElement Type = "advisor"`

          - `required string Model`

            The advisor model id.

    - `class BetaManagedAgentsMultiagent20261001`

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

      - `JsonElement Type = "multiagent_20261001"`

      - `required BetaManagedAgentsMultiagentAdvisor Advisor`

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

        - `class BetaManagedAgentsMultiagentAdvisorEnabled`

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

          - `JsonElement Type = "enabled"`

          - `required string Model`

            The advisor model id.

        - `class BetaManagedAgentsMultiagentAdvisorDisabled`

          The agent has no advisor.

          - `JsonElement Type = "disabled"`

      - `required BetaManagedAgentsMultiagentSubagents Subagents`

        Whether the agent can spawn session threads.

        - `class BetaManagedAgentsMultiagentSubagentsEnabled`

          The agent can spawn session threads.

          - `JsonElement Type = "enabled"`

          - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

            - `class BetaManagedAgentsMultiagentInlineAgentsEnabled`

              The agent can define inline agents.

              - `JsonElement Type = "enabled"`

            - `class BetaManagedAgentsMultiagentInlineAgentsDisabled`

              The agent cannot define inline agents.

              - `JsonElement Type = "disabled"`

          - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

            - `JsonElement Type = "agent"`

            - `required string ID`

            - `required int Version`

              format: int32

        - `class BetaManagedAgentsMultiagentSubagentsDisabled`

          The agent cannot spawn session threads.

          - `JsonElement Type = "disabled"`

      - `required BetaManagedAgentsMultiagentWorkflows Workflows`

        Whether the agent can start workflow runs.

        - `class BetaManagedAgentsMultiagentWorkflowsEnabled`

          The agent can start workflow runs.

          - `JsonElement Type = "enabled"`

          - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

          - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

            - `JsonElement Type = "agent"`

            - `required string ID`

            - `required int Version`

              format: int32

        - `class BetaManagedAgentsMultiagentWorkflowsDisabled`

          The agent cannot start workflow runs.

          - `JsonElement Type = "disabled"`

  - `required string Name`

  - `required IReadOnlyList<Skill> Skills`

    - `class BetaManagedAgentsAnthropicSkill`

      A resolved Anthropic-managed skill.

      - `JsonElement Type = "anthropic"`

      - `required string SkillID`

      - `required string Version`

    - `class BetaManagedAgentsCustomSkill`

      A resolved user-created custom skill.

      - `JsonElement Type = "custom"`

      - `required string SkillID`

      - `required string Version`

  - `required string? System`

  - `required IReadOnlyList<Tool> Tools`

    - `class BetaManagedAgentsAgentToolset20260401`

      - `JsonElement Type = "agent_toolset_20260401"`

      - `required IReadOnlyList<BetaManagedAgentsAgentToolConfig> Configs`

        - `class BetaManagedAgentsBashToolConfig`

          Configuration for the bash tool.

          - `JsonElement Type = "bash"`

          - `required bool Enabled`

          - `JsonElement Name = "bash"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

              - `JsonElement Type = "always_allow"`

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

              - `JsonElement Type = "always_ask"`

            - `class 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.

              - `JsonElement Type = "auto"`

        - `class BetaManagedAgentsEditToolConfig`

          Configuration for the edit tool.

          - `JsonElement Type = "edit"`

          - `required bool Enabled`

          - `JsonElement Name = "edit"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsReadToolConfig`

          Configuration for the read tool.

          - `JsonElement Type = "read"`

          - `required bool Enabled`

          - `JsonElement Name = "read"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWriteToolConfig`

          Configuration for the write tool.

          - `JsonElement Type = "write"`

          - `required bool Enabled`

          - `JsonElement Name = "write"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGlobToolConfig`

          Configuration for the glob tool.

          - `JsonElement Type = "glob"`

          - `required bool Enabled`

          - `JsonElement Name = "glob"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGrepToolConfig`

          Configuration for the grep tool.

          - `JsonElement Type = "grep"`

          - `required bool Enabled`

          - `JsonElement Name = "grep"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWebFetchToolConfig`

          Configuration for the web_fetch tool.

          - `JsonElement Type = "web_fetch"`

          - `required bool Enabled`

          - `JsonElement Name = "web_fetch"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `required BetaManagedAgentsWebFetchUrlSources? UrlSources`

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

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ClientToolResults`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

                - `JsonElement Type = "all"`

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

                - `JsonElement Type = "none"`

              - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

                - `JsonElement Type = "only"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

              - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

                - `JsonElement Type = "except"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ServerToolResults`

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

            - `required BetaManagedAgentsWebFetchUrlSourceUserInput? UserInput`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `int? MaxContentTokens`

            format: int32

        - `class BetaManagedAgentsWebSearchToolConfig`

          Configuration for the web_search tool.

          - `JsonElement Type = "web_search"`

          - `required bool Enabled`

          - `JsonElement Name = "web_search"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `BetaManagedAgentsUserLocation? UserLocation`

            Approximate user location for search result localization.

            - `JsonElement Type = "approximate"`

              Location precision. Only "approximate" is supported.

            - `string? City`

              City name.

              minLength: 1, maxLength: 255

            - `string? Country`

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

            - `string? Region`

              Region or state name.

              minLength: 1, maxLength: 255

            - `string? Timezone`

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

              minLength: 1, maxLength: 255

      - `required BetaManagedAgentsAgentToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for agent tools.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

    - `class BetaManagedAgentsMcpToolset`

      - `JsonElement Type = "mcp_toolset"`

      - `required IReadOnlyList<BetaManagedAgentsMcpToolConfig> Configs`

        - `required bool Enabled`

        - `required string Name`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required BetaManagedAgentsMcpToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for all tools from an MCP server.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required string McpServerName`

    - `class BetaManagedAgentsCustomTool`

      A custom tool as returned in API responses.

      - `JsonElement Type = "custom"`

      - `required string Description`

      - `required BetaManagedAgentsCustomToolInputSchema InputSchema`

        JSON Schema for custom tool input parameters.

        - `JsonElement Type = "object"`

        - `IReadOnlyDictionary<string, JsonElement>? Properties`

        - `IReadOnlyList<string>? Required`

      - `required string Name`

  - `required DateTimeOffset UpdatedAt`

    A timestamp in RFC 3339 format

    format: date-time

  - `required int Version`

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

    format: int32

### Example

```csharp
using System;
using Anthropic.Models.Beta.Agents;

AgentRetrieveParams parameters = new()
{
    AgentID = "agent_011CZkYpogX7uDKUyvBTophP"
};

var betaManagedAgentsAgent = await client.Beta.Agents.Retrieve(parameters);

Console.WriteLine(betaManagedAgentsAgent);
```

#### 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
}
```

## Update Agent

`BetaManagedAgentsAgent Beta.Agents.Update(parameters, cancellationToken = default)`

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

Update Agent

### Parameters

- `AgentUpdateParams parameters`

  - `required string agentID` (path parameter)

    Unique identifier of the agent to update.

  - `string? description`

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

    maxLength: 2048

  - `BetaManagedAgentsExecutionIdentityParams? executionIdentity`

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

  - `IReadOnlyList<BetaManagedAgentsUrlMcpServerParams>? mcpServers`

    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=csharp).

    - `JsonElement Type = "url"`

    - `required string Name`

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

      minLength: 1, maxLength: 255

    - `required string Url`

      Endpoint URL for the MCP server.

      maxLength: 2048

  - `IReadOnlyDictionary<string, string>? metadata`

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

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

    - `enum BetaManagedAgentsModel`

      The model that will power your agent.

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

      - `ClaudeHaiku5_5("claude-haiku-5-5")`

        Fastest model for high-volume, real-time tasks

      - `ClaudeSonnet5_5("claude-sonnet-5-5")`

        Efficient model for coding and agents

      - `ClaudeOpus5_5("claude-opus-5-5")`

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

      - `ClaudeFable5_1("claude-fable-5-1")`

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

      - `ClaudeSonnet5("claude-sonnet-5")`

        Efficient model for coding and agents

      - `ClaudeFable5("claude-fable-5")`

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

      - `ClaudeOpus5("claude-opus-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_8("claude-opus-4-8")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_7("claude-opus-4-7")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_6("claude-opus-4-6")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_6("claude-sonnet-4-6")`

        Best combination of speed and intelligence

      - `ClaudeHaiku4_5("claude-haiku-4-5")`

      - `ClaudeHaiku4_5_20251001("claude-haiku-4-5-20251001")`

      - `ClaudeOpus4_5("claude-opus-4-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_5_20251101("claude-opus-4-5-20251101")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_5("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

      - `ClaudeSonnet4_5_20250929("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

    - `class BetaManagedAgentsModelConfigParams`

      An object that defines additional configuration control over model use

      - `required BetaManagedAgentsModel ID`

        The model that will power your agent.

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

        - `ClaudeHaiku5_5("claude-haiku-5-5")`

          Fastest model for high-volume, real-time tasks

        - `ClaudeSonnet5_5("claude-sonnet-5-5")`

          Efficient model for coding and agents

        - `ClaudeOpus5_5("claude-opus-5-5")`

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

        - `ClaudeFable5_1("claude-fable-5-1")`

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

        - `ClaudeSonnet5("claude-sonnet-5")`

          Efficient model for coding and agents

        - `ClaudeFable5("claude-fable-5")`

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

        - `ClaudeOpus5("claude-opus-5")`

          Powerful intelligence for long-running agents and coding

        - `ClaudeOpus4_8("claude-opus-4-8")`

          Powerful intelligence for long-running agents and coding

        - `ClaudeOpus4_7("claude-opus-4-7")`

          Powerful intelligence for long-running agents and coding

        - `ClaudeOpus4_6("claude-opus-4-6")`

          Powerful intelligence for long-running agents and coding

        - `ClaudeSonnet4_6("claude-sonnet-4-6")`

          Best combination of speed and intelligence

        - `ClaudeHaiku4_5("claude-haiku-4-5")`

        - `ClaudeHaiku4_5_20251001("claude-haiku-4-5-20251001")`

        - `ClaudeOpus4_5("claude-opus-4-5")`

          Powerful intelligence for long-running agents and coding

        - `ClaudeOpus4_5_20251101("claude-opus-4-5-20251101")`

          Powerful intelligence for long-running agents and coding

        - `ClaudeSonnet4_5("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

        - `ClaudeSonnet4_5_20250929("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? Effort`

        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.

        - `enum BetaManagedAgentsEffortLevel`

          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.

          - `Low("low")`

            Low effort. Favors latency over reasoning depth.

          - `Medium("medium")`

            Medium effort. Balances latency and reasoning depth.

          - `High("high")`

            High effort. Favors reasoning depth.

          - `Xhigh("xhigh")`

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

          - `Max("max")`

            Maximum effort. Favors reasoning depth over latency.

        - `class BetaManagedAgentsEffortLow`

          Low effort. Favors latency over reasoning depth.

          - `JsonElement Type = "low"`

        - `class BetaManagedAgentsEffortMedium`

          Medium effort. Balances latency and reasoning depth.

          - `JsonElement Type = "medium"`

        - `class BetaManagedAgentsEffortHigh`

          High effort. Favors reasoning depth.

          - `JsonElement Type = "high"`

        - `class BetaManagedAgentsEffortXhigh`

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

          - `JsonElement Type = "xhigh"`

        - `class BetaManagedAgentsEffortMax`

          Maximum effort. Favors reasoning depth over latency.

          - `JsonElement Type = "max"`

      - `string? InferenceGeo`

        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? Speed`

        Inference speed mode. Defaults to `standard`.

        - `Standard("standard")`

        - `Fast("fast")`

  - `BetaManagedAgentsMultiagentParams? multiagent`

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

  - `string name`

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

    maxLength: 256

  - `IReadOnlyList<BetaManagedAgentsSkillParams>? skills`

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

    - `class BetaManagedAgentsAnthropicSkillParams`

      An Anthropic-managed skill.

      - `JsonElement Type = "anthropic"`

      - `required string SkillID`

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

        minLength: 1, maxLength: 64

      - `string? Version`

        Version to pin. Defaults to latest if omitted.

        minLength: 1, maxLength: 64

    - `class BetaManagedAgentsCustomSkillParams`

      A user-created custom skill.

      - `JsonElement Type = "custom"`

      - `required string SkillID`

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

        minLength: 1, maxLength: 64

      - `string? Version`

        Version to pin. Defaults to latest if omitted.

        minLength: 1, maxLength: 64

  - `string? system`

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

    maxLength: 100000

  - `IReadOnlyList<Tool>? tools`

    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.

    - `class BetaManagedAgentsAgentToolset20260401Params`

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

      - `JsonElement Type = "agent_toolset_20260401"`

      - `IReadOnlyList<BetaManagedAgentsAgentToolConfigParams> Configs`

        Per-tool configuration overrides.

        - `class BetaManagedAgentsBashToolConfigParams`

          Configuration override for the bash tool.

          - `Type Type`

          - `JsonElement Name = "bash"`

            Must be "bash".

          - `bool? Enabled`

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

          - `PermissionPolicy? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

              - `JsonElement Type = "always_allow"`

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

              - `JsonElement Type = "always_ask"`

            - `class 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.

              - `JsonElement Type = "auto"`

        - `class BetaManagedAgentsEditToolConfigParams`

          Configuration override for the edit tool.

          - `Type Type`

          - `JsonElement Name = "edit"`

            Must be "edit".

          - `bool? Enabled`

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

          - `PermissionPolicy? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsReadToolConfigParams`

          Configuration override for the read tool.

          - `Type Type`

          - `JsonElement Name = "read"`

            Must be "read".

          - `bool? Enabled`

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

          - `PermissionPolicy? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWriteToolConfigParams`

          Configuration override for the write tool.

          - `Type Type`

          - `JsonElement Name = "write"`

            Must be "write".

          - `bool? Enabled`

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

          - `PermissionPolicy? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGlobToolConfigParams`

          Configuration override for the glob tool.

          - `Type Type`

          - `JsonElement Name = "glob"`

            Must be "glob".

          - `bool? Enabled`

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

          - `PermissionPolicy? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGrepToolConfigParams`

          Configuration override for the grep tool.

          - `Type Type`

          - `JsonElement Name = "grep"`

            Must be "grep".

          - `bool? Enabled`

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

          - `PermissionPolicy? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWebFetchToolConfigParams`

          Configuration override for the web_fetch tool.

          - `Type Type`

          - `JsonElement Name = "web_fetch"`

            Must be "web_fetch".

          - `IReadOnlyList<string> AllowedDomains`

            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.

          - `IReadOnlyList<string> BlockedDomains`

            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.

          - `bool? Enabled`

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

          - `int? MaxContentTokens`

            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? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `BetaManagedAgentsWebFetchUrlSourcesParams? UrlSources`

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

            - `BetaManagedAgentsWebFetchUrlSourceToolFilterParams? ClientToolResults`

              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.

              - `enum BetaManagedAgentsWebFetchUrlSourceShorthand`

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

                - `All("all")`

                - `None("none")`

              - `class BetaManagedAgentsWebFetchUrlSourceToolFilter: union`

                Which tools' results contribute URLs that may be fetched.

                - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

                  - `JsonElement Type = "all"`

                - `class BetaManagedAgentsWebFetchUrlSourceNone`

                  This source contributes no URLs that may be fetched.

                  - `JsonElement Type = "none"`

                - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

                  - `JsonElement Type = "only"`

                  - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                    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.

                    - `JsonElement Type = "tool_reference"`

                      Must be "tool_reference".

                    - `required string Name`

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

                      minLength: 1, maxLength: 128

                - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

                  - `JsonElement Type = "except"`

                  - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                    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.

                    - `JsonElement Type = "tool_reference"`

                      Must be "tool_reference".

                    - `required string Name`

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

                      minLength: 1, maxLength: 128

            - `BetaManagedAgentsWebFetchUrlSourceToolFilterParams? ServerToolResults`

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

            - `BetaManagedAgentsWebFetchUrlSourceUserInputParams? UserInput`

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

              - `enum BetaManagedAgentsWebFetchUrlSourceShorthand`

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

              - `class BetaManagedAgentsWebFetchUrlSourceUserInput: union`

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

                - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

                - `class BetaManagedAgentsWebFetchUrlSourceNone`

                  This source contributes no URLs that may be fetched.

        - `class BetaManagedAgentsWebSearchToolConfigParams`

          Configuration override for the web_search tool.

          - `Type Type`

          - `JsonElement Name = "web_search"`

            Must be "web_search".

          - `IReadOnlyList<string> AllowedDomains`

            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.

          - `IReadOnlyList<string> BlockedDomains`

            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.

          - `bool? Enabled`

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

          - `PermissionPolicy? PermissionPolicy`

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

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `BetaManagedAgentsUserLocation? UserLocation`

            Approximate user location for search result localization.

            - `JsonElement Type = "approximate"`

              Location precision. Only "approximate" is supported.

            - `string? City`

              City name.

              minLength: 1, maxLength: 255

            - `string? Country`

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

            - `string? Region`

              Region or state name.

              minLength: 1, maxLength: 255

            - `string? Timezone`

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

              minLength: 1, maxLength: 255

      - `BetaManagedAgentsAgentToolsetDefaultConfigParams? DefaultConfig`

        Default configuration applied to all tools in this set.

        - `bool? Enabled`

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

        - `PermissionPolicy? PermissionPolicy`

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

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

    - `class BetaManagedAgentsMcpToolsetParams`

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

      - `JsonElement Type = "mcp_toolset"`

      - `required string McpServerName`

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

        minLength: 1, maxLength: 255

      - `IReadOnlyList<BetaManagedAgentsMcpToolConfigParams> Configs`

        Per-tool configuration overrides.

        - `required string Name`

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

          minLength: 1, maxLength: 128

        - `bool? Enabled`

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

        - `PermissionPolicy? PermissionPolicy`

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

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `BetaManagedAgentsMcpToolsetDefaultConfigParams? DefaultConfig`

        Default configuration for all tools from this server.

        - `bool? Enabled`

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

        - `PermissionPolicy? PermissionPolicy`

          Default permission policy for tools from this server.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

    - `class BetaManagedAgentsCustomToolParams`

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

      - `JsonElement Type = "custom"`

      - `required string Description`

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

        minLength: 1

      - `required BetaManagedAgentsCustomToolInputSchema InputSchema`

        JSON Schema defining the expected input parameters for the tool.

        - `JsonElement Type = "object"`

        - `IReadOnlyDictionary<string, JsonElement>? Properties`

        - `IReadOnlyList<string>? Required`

      - `required string Name`

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

        minLength: 1, maxLength: 128

  - `int version`

    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

  - `IReadOnlyList<AnthropicBeta> betas` (header parameter)

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

    - `MessageBatches2024_09_24("message-batches-2024-09-24")`

    - `PromptCaching2024_07_31("prompt-caching-2024-07-31")`

    - `ComputerUse2024_10_22("computer-use-2024-10-22")`

    - `ComputerUse2025_01_24("computer-use-2025-01-24")`

    - `Pdfs2024_09_25("pdfs-2024-09-25")`

    - `TokenCounting2024_11_01("token-counting-2024-11-01")`

    - `TokenEfficientTools2025_02_19("token-efficient-tools-2025-02-19")`

    - `Output128k2025_02_19("output-128k-2025-02-19")`

    - `FilesApi2025_04_14("files-api-2025-04-14")`

    - `McpClient2025_04_04("mcp-client-2025-04-04")`

    - `McpClient2025_11_20("mcp-client-2025-11-20")`

    - `DevFullThinking2025_05_14("dev-full-thinking-2025-05-14")`

    - `InterleavedThinking2025_05_14("interleaved-thinking-2025-05-14")`

    - `CodeExecution2025_05_22("code-execution-2025-05-22")`

    - `ExtendedCacheTtl2025_04_11("extended-cache-ttl-2025-04-11")`

    - `Context1m2025_08_07("context-1m-2025-08-07")`

    - `ContextManagement2025_06_27("context-management-2025-06-27")`

    - `ModelContextWindowExceeded2025_08_26("model-context-window-exceeded-2025-08-26")`

    - `Skills2025_10_02("skills-2025-10-02")`

    - `FastMode2026_02_01("fast-mode-2026-02-01")`

    - `Output300k2026_03_24("output-300k-2026-03-24")`

    - `UserProfiles2026_03_24("user-profiles-2026-03-24")`

    - `UserProfiles2026_08_18("user-profiles-2026-08-18")`

    - `UserProfiles2026_09_04("user-profiles-2026-09-04")`

    - `AdvisorTool2026_03_01("advisor-tool-2026-03-01")`

    - `ManagedAgents2026_04_01("managed-agents-2026-04-01")`

    - `CacheDiagnosis2026_04_07("cache-diagnosis-2026-04-07")`

    - `Dreaming2026_04_21("dreaming-2026-04-21")`

    - `ThinkingTokenCount2026_05_13("thinking-token-count-2026-05-13")`

    - `ServerSideFallback2026_06_01("server-side-fallback-2026-06-01")`

    - `ServerSideFallback2026_07_01("server-side-fallback-2026-07-01")`

    - `FallbackCredit2026_06_01("fallback-credit-2026-06-01")`

    - `FallbackCredit2026_07_01("fallback-credit-2026-07-01")`

    - `AgentMemory2026_07_22("agent-memory-2026-07-22")`

    - `MidConversationToolChanges2026_07_01("mid-conversation-tool-changes-2026-07-01")`

    - `Compact2026_01_12("compact-2026-01-12")`

    - `ComputerUse2025_11_24("computer-use-2025-11-24")`

    - `McpTunnels2026_06_22("mcp-tunnels-2026-06-22")`

    - `StructuredOutputs2025_11_13("structured-outputs-2025-11-13")`

    - `TaskBudgets2026_03_13("task-budgets-2026-03-13")`

    - `ThinkingDisplayUpdates2026_08_18("thinking-display-updates-2026-08-18")`

    - `CEUserManagement2026_07_13("ce-user-management-2026-07-13")`

    - `MidConversationOutputConfig2026_07_01("mid-conversation-output-config-2026-07-01")`

    - `ThinkingBindingControls2026_08_01("thinking-binding-controls-2026-08-01")`

    - `MidConversationSystemClearAt2026_08_21("mid-conversation-system-clear-at-2026-08-21")`

    - `Compact2026_09_04("compact-2026-09-04")`

    - `InlineTools2026_09_15("inline-tools-2026-09-15")`

    - `McpClient2026_09_15("mcp-client-2026-09-15")`

    - `CEPlugins2026_09_01("ce-plugins-2026-09-01")`

    - `SpendLimitReads2026_09_26("spend-limit-reads-2026-09-26")`

    - `TelemetryDestinations2026_08_11("telemetry-destinations-2026-08-11")`

    - `Webhooks2026_10_07("webhooks-2026-10-07")`

    - `MessageThreads2026_08_12("message-threads-2026-08-12")`

    - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")`

    - `ExperimentalClaudeTag2026_10_21("experimental-claude-tag-2026-10-21")`

  - `string workspaceID` (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

- `class BetaManagedAgentsAgent`

  A Managed Agents `agent`.

  - `JsonElement Type = "agent"`

  - `required string ID`

  - `required DateTimeOffset? ArchivedAt`

    When the agent was archived. Null if not archived.

    format: date-time

  - `required DateTimeOffset CreatedAt`

    A timestamp in RFC 3339 format

    format: date-time

  - `required string? Description`

  - `required BetaManagedAgentsExecutionIdentity ExecutionIdentity`

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

    - `class BetaManagedAgentsAwsRoleExecutionIdentity`

      An AWS IAM role principal as returned in API responses.

      - `JsonElement Type = "aws_role"`

      - `required string RoleArn`

        The IAM role's ARN.

    - `class BetaManagedAgentsServiceAccountExecutionIdentity`

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

      - `JsonElement Type = "service_account"`

  - `required IReadOnlyList<BetaManagedAgentsMcpServerUrlDefinition> McpServers`

    - `JsonElement Type = "url"`

    - `required string Name`

    - `required string Url`

  - `required IReadOnlyDictionary<string, string> Metadata`

  - `required BetaManagedAgentsModelConfig Model`

    Model identifier and configuration.

    - `required BetaManagedAgentsModel ID`

      The model that will power your agent.

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

      - `ClaudeHaiku5_5("claude-haiku-5-5")`

        Fastest model for high-volume, real-time tasks

      - `ClaudeSonnet5_5("claude-sonnet-5-5")`

        Efficient model for coding and agents

      - `ClaudeOpus5_5("claude-opus-5-5")`

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

      - `ClaudeFable5_1("claude-fable-5-1")`

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

      - `ClaudeSonnet5("claude-sonnet-5")`

        Efficient model for coding and agents

      - `ClaudeFable5("claude-fable-5")`

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

      - `ClaudeOpus5("claude-opus-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_8("claude-opus-4-8")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_7("claude-opus-4-7")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_6("claude-opus-4-6")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_6("claude-sonnet-4-6")`

        Best combination of speed and intelligence

      - `ClaudeHaiku4_5("claude-haiku-4-5")`

      - `ClaudeHaiku4_5_20251001("claude-haiku-4-5-20251001")`

      - `ClaudeOpus4_5("claude-opus-4-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_5_20251101("claude-opus-4-5-20251101")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_5("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

      - `ClaudeSonnet4_5_20250929("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 Effort`

      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.

      - `class BetaManagedAgentsEffortLow`

        Low effort. Favors latency over reasoning depth.

        - `JsonElement Type = "low"`

      - `class BetaManagedAgentsEffortMedium`

        Medium effort. Balances latency and reasoning depth.

        - `JsonElement Type = "medium"`

      - `class BetaManagedAgentsEffortHigh`

        High effort. Favors reasoning depth.

        - `JsonElement Type = "high"`

      - `class BetaManagedAgentsEffortXhigh`

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

        - `JsonElement Type = "xhigh"`

      - `class BetaManagedAgentsEffortMax`

        Maximum effort. Favors reasoning depth over latency.

        - `JsonElement Type = "max"`

    - `string InferenceGeo`

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

    - `Speed Speed`

      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.

      - `Standard("standard")`

      - `Fast("fast")`

  - `required BetaManagedAgentsMultiagent? Multiagent`

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

    - `class BetaManagedAgentsMultiagentCoordinator`

      Resolved coordinator topology with a concrete agent roster.

      - `JsonElement Type = "coordinator"`

      - `required IReadOnlyList<Agent> Agents`

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

        - `class BetaManagedAgentsAgentReference`

          A resolved agent reference with a concrete version.

          - `JsonElement Type = "agent"`

          - `required string ID`

          - `required int Version`

            format: int32

        - `class BetaManagedAgentsAdvisor`

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

          - `JsonElement Type = "advisor"`

          - `required string Model`

            The advisor model id.

    - `class BetaManagedAgentsMultiagent20261001`

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

      - `JsonElement Type = "multiagent_20261001"`

      - `required BetaManagedAgentsMultiagentAdvisor Advisor`

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

        - `class BetaManagedAgentsMultiagentAdvisorEnabled`

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

          - `JsonElement Type = "enabled"`

          - `required string Model`

            The advisor model id.

        - `class BetaManagedAgentsMultiagentAdvisorDisabled`

          The agent has no advisor.

          - `JsonElement Type = "disabled"`

      - `required BetaManagedAgentsMultiagentSubagents Subagents`

        Whether the agent can spawn session threads.

        - `class BetaManagedAgentsMultiagentSubagentsEnabled`

          The agent can spawn session threads.

          - `JsonElement Type = "enabled"`

          - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

            - `class BetaManagedAgentsMultiagentInlineAgentsEnabled`

              The agent can define inline agents.

              - `JsonElement Type = "enabled"`

            - `class BetaManagedAgentsMultiagentInlineAgentsDisabled`

              The agent cannot define inline agents.

              - `JsonElement Type = "disabled"`

          - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

            - `JsonElement Type = "agent"`

            - `required string ID`

            - `required int Version`

              format: int32

        - `class BetaManagedAgentsMultiagentSubagentsDisabled`

          The agent cannot spawn session threads.

          - `JsonElement Type = "disabled"`

      - `required BetaManagedAgentsMultiagentWorkflows Workflows`

        Whether the agent can start workflow runs.

        - `class BetaManagedAgentsMultiagentWorkflowsEnabled`

          The agent can start workflow runs.

          - `JsonElement Type = "enabled"`

          - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

          - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

            - `JsonElement Type = "agent"`

            - `required string ID`

            - `required int Version`

              format: int32

        - `class BetaManagedAgentsMultiagentWorkflowsDisabled`

          The agent cannot start workflow runs.

          - `JsonElement Type = "disabled"`

  - `required string Name`

  - `required IReadOnlyList<Skill> Skills`

    - `class BetaManagedAgentsAnthropicSkill`

      A resolved Anthropic-managed skill.

      - `JsonElement Type = "anthropic"`

      - `required string SkillID`

      - `required string Version`

    - `class BetaManagedAgentsCustomSkill`

      A resolved user-created custom skill.

      - `JsonElement Type = "custom"`

      - `required string SkillID`

      - `required string Version`

  - `required string? System`

  - `required IReadOnlyList<Tool> Tools`

    - `class BetaManagedAgentsAgentToolset20260401`

      - `JsonElement Type = "agent_toolset_20260401"`

      - `required IReadOnlyList<BetaManagedAgentsAgentToolConfig> Configs`

        - `class BetaManagedAgentsBashToolConfig`

          Configuration for the bash tool.

          - `JsonElement Type = "bash"`

          - `required bool Enabled`

          - `JsonElement Name = "bash"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

              - `JsonElement Type = "always_allow"`

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

              - `JsonElement Type = "always_ask"`

            - `class 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.

              - `JsonElement Type = "auto"`

        - `class BetaManagedAgentsEditToolConfig`

          Configuration for the edit tool.

          - `JsonElement Type = "edit"`

          - `required bool Enabled`

          - `JsonElement Name = "edit"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsReadToolConfig`

          Configuration for the read tool.

          - `JsonElement Type = "read"`

          - `required bool Enabled`

          - `JsonElement Name = "read"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWriteToolConfig`

          Configuration for the write tool.

          - `JsonElement Type = "write"`

          - `required bool Enabled`

          - `JsonElement Name = "write"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGlobToolConfig`

          Configuration for the glob tool.

          - `JsonElement Type = "glob"`

          - `required bool Enabled`

          - `JsonElement Name = "glob"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGrepToolConfig`

          Configuration for the grep tool.

          - `JsonElement Type = "grep"`

          - `required bool Enabled`

          - `JsonElement Name = "grep"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWebFetchToolConfig`

          Configuration for the web_fetch tool.

          - `JsonElement Type = "web_fetch"`

          - `required bool Enabled`

          - `JsonElement Name = "web_fetch"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `required BetaManagedAgentsWebFetchUrlSources? UrlSources`

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

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ClientToolResults`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

                - `JsonElement Type = "all"`

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

                - `JsonElement Type = "none"`

              - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

                - `JsonElement Type = "only"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

              - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

                - `JsonElement Type = "except"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ServerToolResults`

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

            - `required BetaManagedAgentsWebFetchUrlSourceUserInput? UserInput`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `int? MaxContentTokens`

            format: int32

        - `class BetaManagedAgentsWebSearchToolConfig`

          Configuration for the web_search tool.

          - `JsonElement Type = "web_search"`

          - `required bool Enabled`

          - `JsonElement Name = "web_search"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `BetaManagedAgentsUserLocation? UserLocation`

            Approximate user location for search result localization.

            - `JsonElement Type = "approximate"`

              Location precision. Only "approximate" is supported.

            - `string? City`

              City name.

              minLength: 1, maxLength: 255

            - `string? Country`

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

            - `string? Region`

              Region or state name.

              minLength: 1, maxLength: 255

            - `string? Timezone`

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

              minLength: 1, maxLength: 255

      - `required BetaManagedAgentsAgentToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for agent tools.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

    - `class BetaManagedAgentsMcpToolset`

      - `JsonElement Type = "mcp_toolset"`

      - `required IReadOnlyList<BetaManagedAgentsMcpToolConfig> Configs`

        - `required bool Enabled`

        - `required string Name`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required BetaManagedAgentsMcpToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for all tools from an MCP server.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required string McpServerName`

    - `class BetaManagedAgentsCustomTool`

      A custom tool as returned in API responses.

      - `JsonElement Type = "custom"`

      - `required string Description`

      - `required BetaManagedAgentsCustomToolInputSchema InputSchema`

        JSON Schema for custom tool input parameters.

        - `JsonElement Type = "object"`

        - `IReadOnlyDictionary<string, JsonElement>? Properties`

        - `IReadOnlyList<string>? Required`

      - `required string Name`

  - `required DateTimeOffset UpdatedAt`

    A timestamp in RFC 3339 format

    format: date-time

  - `required int Version`

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

    format: int32

### Example

```csharp
using System;
using Anthropic.Models.Beta.Agents;

AgentUpdateParams parameters = new()
{
    AgentID = "agent_011CZkYpogX7uDKUyvBTophP"
};

var betaManagedAgentsAgent = await client.Beta.Agents.Update(parameters);

Console.WriteLine(betaManagedAgentsAgent);
```

#### 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
}
```

## Archive Agent

`BetaManagedAgentsAgent Beta.Agents.Archive(parameters, cancellationToken = default)`

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

Archive Agent

### Parameters

- `AgentArchiveParams parameters`

  - `required string agentID` (path parameter)

    Unique identifier of the agent to archive.

  - `IReadOnlyList<AnthropicBeta> betas` (header parameter)

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

    - `MessageBatches2024_09_24("message-batches-2024-09-24")`

    - `PromptCaching2024_07_31("prompt-caching-2024-07-31")`

    - `ComputerUse2024_10_22("computer-use-2024-10-22")`

    - `ComputerUse2025_01_24("computer-use-2025-01-24")`

    - `Pdfs2024_09_25("pdfs-2024-09-25")`

    - `TokenCounting2024_11_01("token-counting-2024-11-01")`

    - `TokenEfficientTools2025_02_19("token-efficient-tools-2025-02-19")`

    - `Output128k2025_02_19("output-128k-2025-02-19")`

    - `FilesApi2025_04_14("files-api-2025-04-14")`

    - `McpClient2025_04_04("mcp-client-2025-04-04")`

    - `McpClient2025_11_20("mcp-client-2025-11-20")`

    - `DevFullThinking2025_05_14("dev-full-thinking-2025-05-14")`

    - `InterleavedThinking2025_05_14("interleaved-thinking-2025-05-14")`

    - `CodeExecution2025_05_22("code-execution-2025-05-22")`

    - `ExtendedCacheTtl2025_04_11("extended-cache-ttl-2025-04-11")`

    - `Context1m2025_08_07("context-1m-2025-08-07")`

    - `ContextManagement2025_06_27("context-management-2025-06-27")`

    - `ModelContextWindowExceeded2025_08_26("model-context-window-exceeded-2025-08-26")`

    - `Skills2025_10_02("skills-2025-10-02")`

    - `FastMode2026_02_01("fast-mode-2026-02-01")`

    - `Output300k2026_03_24("output-300k-2026-03-24")`

    - `UserProfiles2026_03_24("user-profiles-2026-03-24")`

    - `UserProfiles2026_08_18("user-profiles-2026-08-18")`

    - `UserProfiles2026_09_04("user-profiles-2026-09-04")`

    - `AdvisorTool2026_03_01("advisor-tool-2026-03-01")`

    - `ManagedAgents2026_04_01("managed-agents-2026-04-01")`

    - `CacheDiagnosis2026_04_07("cache-diagnosis-2026-04-07")`

    - `Dreaming2026_04_21("dreaming-2026-04-21")`

    - `ThinkingTokenCount2026_05_13("thinking-token-count-2026-05-13")`

    - `ServerSideFallback2026_06_01("server-side-fallback-2026-06-01")`

    - `ServerSideFallback2026_07_01("server-side-fallback-2026-07-01")`

    - `FallbackCredit2026_06_01("fallback-credit-2026-06-01")`

    - `FallbackCredit2026_07_01("fallback-credit-2026-07-01")`

    - `AgentMemory2026_07_22("agent-memory-2026-07-22")`

    - `MidConversationToolChanges2026_07_01("mid-conversation-tool-changes-2026-07-01")`

    - `Compact2026_01_12("compact-2026-01-12")`

    - `ComputerUse2025_11_24("computer-use-2025-11-24")`

    - `McpTunnels2026_06_22("mcp-tunnels-2026-06-22")`

    - `StructuredOutputs2025_11_13("structured-outputs-2025-11-13")`

    - `TaskBudgets2026_03_13("task-budgets-2026-03-13")`

    - `ThinkingDisplayUpdates2026_08_18("thinking-display-updates-2026-08-18")`

    - `CEUserManagement2026_07_13("ce-user-management-2026-07-13")`

    - `MidConversationOutputConfig2026_07_01("mid-conversation-output-config-2026-07-01")`

    - `ThinkingBindingControls2026_08_01("thinking-binding-controls-2026-08-01")`

    - `MidConversationSystemClearAt2026_08_21("mid-conversation-system-clear-at-2026-08-21")`

    - `Compact2026_09_04("compact-2026-09-04")`

    - `InlineTools2026_09_15("inline-tools-2026-09-15")`

    - `McpClient2026_09_15("mcp-client-2026-09-15")`

    - `CEPlugins2026_09_01("ce-plugins-2026-09-01")`

    - `SpendLimitReads2026_09_26("spend-limit-reads-2026-09-26")`

    - `TelemetryDestinations2026_08_11("telemetry-destinations-2026-08-11")`

    - `Webhooks2026_10_07("webhooks-2026-10-07")`

    - `MessageThreads2026_08_12("message-threads-2026-08-12")`

    - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")`

    - `ExperimentalClaudeTag2026_10_21("experimental-claude-tag-2026-10-21")`

  - `string workspaceID` (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

- `class BetaManagedAgentsAgent`

  A Managed Agents `agent`.

  - `JsonElement Type = "agent"`

  - `required string ID`

  - `required DateTimeOffset? ArchivedAt`

    When the agent was archived. Null if not archived.

    format: date-time

  - `required DateTimeOffset CreatedAt`

    A timestamp in RFC 3339 format

    format: date-time

  - `required string? Description`

  - `required BetaManagedAgentsExecutionIdentity ExecutionIdentity`

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

    - `class BetaManagedAgentsAwsRoleExecutionIdentity`

      An AWS IAM role principal as returned in API responses.

      - `JsonElement Type = "aws_role"`

      - `required string RoleArn`

        The IAM role's ARN.

    - `class BetaManagedAgentsServiceAccountExecutionIdentity`

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

      - `JsonElement Type = "service_account"`

  - `required IReadOnlyList<BetaManagedAgentsMcpServerUrlDefinition> McpServers`

    - `JsonElement Type = "url"`

    - `required string Name`

    - `required string Url`

  - `required IReadOnlyDictionary<string, string> Metadata`

  - `required BetaManagedAgentsModelConfig Model`

    Model identifier and configuration.

    - `required BetaManagedAgentsModel ID`

      The model that will power your agent.

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

      - `ClaudeHaiku5_5("claude-haiku-5-5")`

        Fastest model for high-volume, real-time tasks

      - `ClaudeSonnet5_5("claude-sonnet-5-5")`

        Efficient model for coding and agents

      - `ClaudeOpus5_5("claude-opus-5-5")`

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

      - `ClaudeFable5_1("claude-fable-5-1")`

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

      - `ClaudeSonnet5("claude-sonnet-5")`

        Efficient model for coding and agents

      - `ClaudeFable5("claude-fable-5")`

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

      - `ClaudeOpus5("claude-opus-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_8("claude-opus-4-8")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_7("claude-opus-4-7")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_6("claude-opus-4-6")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_6("claude-sonnet-4-6")`

        Best combination of speed and intelligence

      - `ClaudeHaiku4_5("claude-haiku-4-5")`

      - `ClaudeHaiku4_5_20251001("claude-haiku-4-5-20251001")`

      - `ClaudeOpus4_5("claude-opus-4-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_5_20251101("claude-opus-4-5-20251101")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_5("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

      - `ClaudeSonnet4_5_20250929("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 Effort`

      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.

      - `class BetaManagedAgentsEffortLow`

        Low effort. Favors latency over reasoning depth.

        - `JsonElement Type = "low"`

      - `class BetaManagedAgentsEffortMedium`

        Medium effort. Balances latency and reasoning depth.

        - `JsonElement Type = "medium"`

      - `class BetaManagedAgentsEffortHigh`

        High effort. Favors reasoning depth.

        - `JsonElement Type = "high"`

      - `class BetaManagedAgentsEffortXhigh`

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

        - `JsonElement Type = "xhigh"`

      - `class BetaManagedAgentsEffortMax`

        Maximum effort. Favors reasoning depth over latency.

        - `JsonElement Type = "max"`

    - `string InferenceGeo`

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

    - `Speed Speed`

      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.

      - `Standard("standard")`

      - `Fast("fast")`

  - `required BetaManagedAgentsMultiagent? Multiagent`

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

    - `class BetaManagedAgentsMultiagentCoordinator`

      Resolved coordinator topology with a concrete agent roster.

      - `JsonElement Type = "coordinator"`

      - `required IReadOnlyList<Agent> Agents`

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

        - `class BetaManagedAgentsAgentReference`

          A resolved agent reference with a concrete version.

          - `JsonElement Type = "agent"`

          - `required string ID`

          - `required int Version`

            format: int32

        - `class BetaManagedAgentsAdvisor`

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

          - `JsonElement Type = "advisor"`

          - `required string Model`

            The advisor model id.

    - `class BetaManagedAgentsMultiagent20261001`

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

      - `JsonElement Type = "multiagent_20261001"`

      - `required BetaManagedAgentsMultiagentAdvisor Advisor`

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

        - `class BetaManagedAgentsMultiagentAdvisorEnabled`

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

          - `JsonElement Type = "enabled"`

          - `required string Model`

            The advisor model id.

        - `class BetaManagedAgentsMultiagentAdvisorDisabled`

          The agent has no advisor.

          - `JsonElement Type = "disabled"`

      - `required BetaManagedAgentsMultiagentSubagents Subagents`

        Whether the agent can spawn session threads.

        - `class BetaManagedAgentsMultiagentSubagentsEnabled`

          The agent can spawn session threads.

          - `JsonElement Type = "enabled"`

          - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

            - `class BetaManagedAgentsMultiagentInlineAgentsEnabled`

              The agent can define inline agents.

              - `JsonElement Type = "enabled"`

            - `class BetaManagedAgentsMultiagentInlineAgentsDisabled`

              The agent cannot define inline agents.

              - `JsonElement Type = "disabled"`

          - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

            - `JsonElement Type = "agent"`

            - `required string ID`

            - `required int Version`

              format: int32

        - `class BetaManagedAgentsMultiagentSubagentsDisabled`

          The agent cannot spawn session threads.

          - `JsonElement Type = "disabled"`

      - `required BetaManagedAgentsMultiagentWorkflows Workflows`

        Whether the agent can start workflow runs.

        - `class BetaManagedAgentsMultiagentWorkflowsEnabled`

          The agent can start workflow runs.

          - `JsonElement Type = "enabled"`

          - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

          - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

            - `JsonElement Type = "agent"`

            - `required string ID`

            - `required int Version`

              format: int32

        - `class BetaManagedAgentsMultiagentWorkflowsDisabled`

          The agent cannot start workflow runs.

          - `JsonElement Type = "disabled"`

  - `required string Name`

  - `required IReadOnlyList<Skill> Skills`

    - `class BetaManagedAgentsAnthropicSkill`

      A resolved Anthropic-managed skill.

      - `JsonElement Type = "anthropic"`

      - `required string SkillID`

      - `required string Version`

    - `class BetaManagedAgentsCustomSkill`

      A resolved user-created custom skill.

      - `JsonElement Type = "custom"`

      - `required string SkillID`

      - `required string Version`

  - `required string? System`

  - `required IReadOnlyList<Tool> Tools`

    - `class BetaManagedAgentsAgentToolset20260401`

      - `JsonElement Type = "agent_toolset_20260401"`

      - `required IReadOnlyList<BetaManagedAgentsAgentToolConfig> Configs`

        - `class BetaManagedAgentsBashToolConfig`

          Configuration for the bash tool.

          - `JsonElement Type = "bash"`

          - `required bool Enabled`

          - `JsonElement Name = "bash"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

              - `JsonElement Type = "always_allow"`

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

              - `JsonElement Type = "always_ask"`

            - `class 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.

              - `JsonElement Type = "auto"`

        - `class BetaManagedAgentsEditToolConfig`

          Configuration for the edit tool.

          - `JsonElement Type = "edit"`

          - `required bool Enabled`

          - `JsonElement Name = "edit"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsReadToolConfig`

          Configuration for the read tool.

          - `JsonElement Type = "read"`

          - `required bool Enabled`

          - `JsonElement Name = "read"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWriteToolConfig`

          Configuration for the write tool.

          - `JsonElement Type = "write"`

          - `required bool Enabled`

          - `JsonElement Name = "write"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGlobToolConfig`

          Configuration for the glob tool.

          - `JsonElement Type = "glob"`

          - `required bool Enabled`

          - `JsonElement Name = "glob"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGrepToolConfig`

          Configuration for the grep tool.

          - `JsonElement Type = "grep"`

          - `required bool Enabled`

          - `JsonElement Name = "grep"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWebFetchToolConfig`

          Configuration for the web_fetch tool.

          - `JsonElement Type = "web_fetch"`

          - `required bool Enabled`

          - `JsonElement Name = "web_fetch"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `required BetaManagedAgentsWebFetchUrlSources? UrlSources`

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

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ClientToolResults`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

                - `JsonElement Type = "all"`

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

                - `JsonElement Type = "none"`

              - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

                - `JsonElement Type = "only"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

              - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

                - `JsonElement Type = "except"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ServerToolResults`

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

            - `required BetaManagedAgentsWebFetchUrlSourceUserInput? UserInput`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `int? MaxContentTokens`

            format: int32

        - `class BetaManagedAgentsWebSearchToolConfig`

          Configuration for the web_search tool.

          - `JsonElement Type = "web_search"`

          - `required bool Enabled`

          - `JsonElement Name = "web_search"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `BetaManagedAgentsUserLocation? UserLocation`

            Approximate user location for search result localization.

            - `JsonElement Type = "approximate"`

              Location precision. Only "approximate" is supported.

            - `string? City`

              City name.

              minLength: 1, maxLength: 255

            - `string? Country`

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

            - `string? Region`

              Region or state name.

              minLength: 1, maxLength: 255

            - `string? Timezone`

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

              minLength: 1, maxLength: 255

      - `required BetaManagedAgentsAgentToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for agent tools.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

    - `class BetaManagedAgentsMcpToolset`

      - `JsonElement Type = "mcp_toolset"`

      - `required IReadOnlyList<BetaManagedAgentsMcpToolConfig> Configs`

        - `required bool Enabled`

        - `required string Name`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required BetaManagedAgentsMcpToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for all tools from an MCP server.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required string McpServerName`

    - `class BetaManagedAgentsCustomTool`

      A custom tool as returned in API responses.

      - `JsonElement Type = "custom"`

      - `required string Description`

      - `required BetaManagedAgentsCustomToolInputSchema InputSchema`

        JSON Schema for custom tool input parameters.

        - `JsonElement Type = "object"`

        - `IReadOnlyDictionary<string, JsonElement>? Properties`

        - `IReadOnlyList<string>? Required`

      - `required string Name`

  - `required DateTimeOffset UpdatedAt`

    A timestamp in RFC 3339 format

    format: date-time

  - `required int Version`

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

    format: int32

### Example

```csharp
using System;
using Anthropic.Models.Beta.Agents;

AgentArchiveParams parameters = new()
{
    AgentID = "agent_011CZkYpogX7uDKUyvBTophP"
};

var betaManagedAgentsAgent = await client.Beta.Agents.Archive(parameters);

Console.WriteLine(betaManagedAgentsAgent);
```

#### 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
}
```

## Domain types

### Beta Managed Agents Advisor

- `class BetaManagedAgentsAdvisor`

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

  - `JsonElement Type = "advisor"`

  - `required string Model`

    The advisor model id.

### Beta Managed Agents Agent

- `class BetaManagedAgentsAgent`

  A Managed Agents `agent`.

  - `JsonElement Type = "agent"`

  - `required string ID`

  - `required DateTimeOffset? ArchivedAt`

    When the agent was archived. Null if not archived.

    format: date-time

  - `required DateTimeOffset CreatedAt`

    A timestamp in RFC 3339 format

    format: date-time

  - `required string? Description`

  - `required BetaManagedAgentsExecutionIdentity ExecutionIdentity`

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

    - `class BetaManagedAgentsAwsRoleExecutionIdentity`

      An AWS IAM role principal as returned in API responses.

      - `JsonElement Type = "aws_role"`

      - `required string RoleArn`

        The IAM role's ARN.

    - `class BetaManagedAgentsServiceAccountExecutionIdentity`

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

      - `JsonElement Type = "service_account"`

  - `required IReadOnlyList<BetaManagedAgentsMcpServerUrlDefinition> McpServers`

    - `JsonElement Type = "url"`

    - `required string Name`

    - `required string Url`

  - `required IReadOnlyDictionary<string, string> Metadata`

  - `required BetaManagedAgentsModelConfig Model`

    Model identifier and configuration.

    - `required BetaManagedAgentsModel ID`

      The model that will power your agent.

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

      - `ClaudeHaiku5_5("claude-haiku-5-5")`

        Fastest model for high-volume, real-time tasks

      - `ClaudeSonnet5_5("claude-sonnet-5-5")`

        Efficient model for coding and agents

      - `ClaudeOpus5_5("claude-opus-5-5")`

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

      - `ClaudeFable5_1("claude-fable-5-1")`

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

      - `ClaudeSonnet5("claude-sonnet-5")`

        Efficient model for coding and agents

      - `ClaudeFable5("claude-fable-5")`

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

      - `ClaudeOpus5("claude-opus-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_8("claude-opus-4-8")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_7("claude-opus-4-7")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_6("claude-opus-4-6")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_6("claude-sonnet-4-6")`

        Best combination of speed and intelligence

      - `ClaudeHaiku4_5("claude-haiku-4-5")`

      - `ClaudeHaiku4_5_20251001("claude-haiku-4-5-20251001")`

      - `ClaudeOpus4_5("claude-opus-4-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_5_20251101("claude-opus-4-5-20251101")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_5("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

      - `ClaudeSonnet4_5_20250929("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 Effort`

      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.

      - `class BetaManagedAgentsEffortLow`

        Low effort. Favors latency over reasoning depth.

        - `JsonElement Type = "low"`

      - `class BetaManagedAgentsEffortMedium`

        Medium effort. Balances latency and reasoning depth.

        - `JsonElement Type = "medium"`

      - `class BetaManagedAgentsEffortHigh`

        High effort. Favors reasoning depth.

        - `JsonElement Type = "high"`

      - `class BetaManagedAgentsEffortXhigh`

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

        - `JsonElement Type = "xhigh"`

      - `class BetaManagedAgentsEffortMax`

        Maximum effort. Favors reasoning depth over latency.

        - `JsonElement Type = "max"`

    - `string InferenceGeo`

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

    - `Speed Speed`

      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.

      - `Standard("standard")`

      - `Fast("fast")`

  - `required BetaManagedAgentsMultiagent? Multiagent`

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

    - `class BetaManagedAgentsMultiagentCoordinator`

      Resolved coordinator topology with a concrete agent roster.

      - `JsonElement Type = "coordinator"`

      - `required IReadOnlyList<Agent> Agents`

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

        - `class BetaManagedAgentsAgentReference`

          A resolved agent reference with a concrete version.

          - `JsonElement Type = "agent"`

          - `required string ID`

          - `required int Version`

            format: int32

        - `class BetaManagedAgentsAdvisor`

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

          - `JsonElement Type = "advisor"`

          - `required string Model`

            The advisor model id.

    - `class BetaManagedAgentsMultiagent20261001`

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

      - `JsonElement Type = "multiagent_20261001"`

      - `required BetaManagedAgentsMultiagentAdvisor Advisor`

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

        - `class BetaManagedAgentsMultiagentAdvisorEnabled`

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

          - `JsonElement Type = "enabled"`

          - `required string Model`

            The advisor model id.

        - `class BetaManagedAgentsMultiagentAdvisorDisabled`

          The agent has no advisor.

          - `JsonElement Type = "disabled"`

      - `required BetaManagedAgentsMultiagentSubagents Subagents`

        Whether the agent can spawn session threads.

        - `class BetaManagedAgentsMultiagentSubagentsEnabled`

          The agent can spawn session threads.

          - `JsonElement Type = "enabled"`

          - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

            - `class BetaManagedAgentsMultiagentInlineAgentsEnabled`

              The agent can define inline agents.

              - `JsonElement Type = "enabled"`

            - `class BetaManagedAgentsMultiagentInlineAgentsDisabled`

              The agent cannot define inline agents.

              - `JsonElement Type = "disabled"`

          - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

            - `JsonElement Type = "agent"`

            - `required string ID`

            - `required int Version`

              format: int32

        - `class BetaManagedAgentsMultiagentSubagentsDisabled`

          The agent cannot spawn session threads.

          - `JsonElement Type = "disabled"`

      - `required BetaManagedAgentsMultiagentWorkflows Workflows`

        Whether the agent can start workflow runs.

        - `class BetaManagedAgentsMultiagentWorkflowsEnabled`

          The agent can start workflow runs.

          - `JsonElement Type = "enabled"`

          - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

          - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

            - `JsonElement Type = "agent"`

            - `required string ID`

            - `required int Version`

              format: int32

        - `class BetaManagedAgentsMultiagentWorkflowsDisabled`

          The agent cannot start workflow runs.

          - `JsonElement Type = "disabled"`

  - `required string Name`

  - `required IReadOnlyList<Skill> Skills`

    - `class BetaManagedAgentsAnthropicSkill`

      A resolved Anthropic-managed skill.

      - `JsonElement Type = "anthropic"`

      - `required string SkillID`

      - `required string Version`

    - `class BetaManagedAgentsCustomSkill`

      A resolved user-created custom skill.

      - `JsonElement Type = "custom"`

      - `required string SkillID`

      - `required string Version`

  - `required string? System`

  - `required IReadOnlyList<Tool> Tools`

    - `class BetaManagedAgentsAgentToolset20260401`

      - `JsonElement Type = "agent_toolset_20260401"`

      - `required IReadOnlyList<BetaManagedAgentsAgentToolConfig> Configs`

        - `class BetaManagedAgentsBashToolConfig`

          Configuration for the bash tool.

          - `JsonElement Type = "bash"`

          - `required bool Enabled`

          - `JsonElement Name = "bash"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

              - `JsonElement Type = "always_allow"`

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

              - `JsonElement Type = "always_ask"`

            - `class 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.

              - `JsonElement Type = "auto"`

        - `class BetaManagedAgentsEditToolConfig`

          Configuration for the edit tool.

          - `JsonElement Type = "edit"`

          - `required bool Enabled`

          - `JsonElement Name = "edit"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsReadToolConfig`

          Configuration for the read tool.

          - `JsonElement Type = "read"`

          - `required bool Enabled`

          - `JsonElement Name = "read"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWriteToolConfig`

          Configuration for the write tool.

          - `JsonElement Type = "write"`

          - `required bool Enabled`

          - `JsonElement Name = "write"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGlobToolConfig`

          Configuration for the glob tool.

          - `JsonElement Type = "glob"`

          - `required bool Enabled`

          - `JsonElement Name = "glob"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGrepToolConfig`

          Configuration for the grep tool.

          - `JsonElement Type = "grep"`

          - `required bool Enabled`

          - `JsonElement Name = "grep"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWebFetchToolConfig`

          Configuration for the web_fetch tool.

          - `JsonElement Type = "web_fetch"`

          - `required bool Enabled`

          - `JsonElement Name = "web_fetch"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `required BetaManagedAgentsWebFetchUrlSources? UrlSources`

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

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ClientToolResults`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

                - `JsonElement Type = "all"`

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

                - `JsonElement Type = "none"`

              - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

                - `JsonElement Type = "only"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

              - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

                - `JsonElement Type = "except"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ServerToolResults`

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

            - `required BetaManagedAgentsWebFetchUrlSourceUserInput? UserInput`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `int? MaxContentTokens`

            format: int32

        - `class BetaManagedAgentsWebSearchToolConfig`

          Configuration for the web_search tool.

          - `JsonElement Type = "web_search"`

          - `required bool Enabled`

          - `JsonElement Name = "web_search"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `BetaManagedAgentsUserLocation? UserLocation`

            Approximate user location for search result localization.

            - `JsonElement Type = "approximate"`

              Location precision. Only "approximate" is supported.

            - `string? City`

              City name.

              minLength: 1, maxLength: 255

            - `string? Country`

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

            - `string? Region`

              Region or state name.

              minLength: 1, maxLength: 255

            - `string? Timezone`

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

              minLength: 1, maxLength: 255

      - `required BetaManagedAgentsAgentToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for agent tools.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

    - `class BetaManagedAgentsMcpToolset`

      - `JsonElement Type = "mcp_toolset"`

      - `required IReadOnlyList<BetaManagedAgentsMcpToolConfig> Configs`

        - `required bool Enabled`

        - `required string Name`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required BetaManagedAgentsMcpToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for all tools from an MCP server.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required string McpServerName`

    - `class BetaManagedAgentsCustomTool`

      A custom tool as returned in API responses.

      - `JsonElement Type = "custom"`

      - `required string Description`

      - `required BetaManagedAgentsCustomToolInputSchema InputSchema`

        JSON Schema for custom tool input parameters.

        - `JsonElement Type = "object"`

        - `IReadOnlyDictionary<string, JsonElement>? Properties`

        - `IReadOnlyList<string>? Required`

      - `required string Name`

  - `required DateTimeOffset UpdatedAt`

    A timestamp in RFC 3339 format

    format: date-time

  - `required int Version`

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

    format: int32

### Beta Managed Agents Agent Reference

- `class BetaManagedAgentsAgentReference`

  A resolved agent reference with a concrete version.

  - `JsonElement Type = "agent"`

  - `required string ID`

  - `required int Version`

    format: int32

### Beta Managed Agents Agent Tool Config

- `class BetaManagedAgentsAgentToolConfig: union`

  Configuration for a specific agent tool.

  - `class BetaManagedAgentsBashToolConfig`

    Configuration for the bash tool.

    - `JsonElement Type = "bash"`

    - `required bool Enabled`

    - `JsonElement Name = "bash"`

    - `required PermissionPolicy PermissionPolicy`

      Permission policy for tool execution.

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

        - `JsonElement Type = "always_allow"`

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

        - `JsonElement Type = "always_ask"`

      - `class 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.

        - `JsonElement Type = "auto"`

  - `class BetaManagedAgentsEditToolConfig`

    Configuration for the edit tool.

    - `JsonElement Type = "edit"`

    - `required bool Enabled`

    - `JsonElement Name = "edit"`

    - `required PermissionPolicy PermissionPolicy`

      Permission policy for tool execution.

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

  - `class BetaManagedAgentsReadToolConfig`

    Configuration for the read tool.

    - `JsonElement Type = "read"`

    - `required bool Enabled`

    - `JsonElement Name = "read"`

    - `required PermissionPolicy PermissionPolicy`

      Permission policy for tool execution.

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

  - `class BetaManagedAgentsWriteToolConfig`

    Configuration for the write tool.

    - `JsonElement Type = "write"`

    - `required bool Enabled`

    - `JsonElement Name = "write"`

    - `required PermissionPolicy PermissionPolicy`

      Permission policy for tool execution.

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

  - `class BetaManagedAgentsGlobToolConfig`

    Configuration for the glob tool.

    - `JsonElement Type = "glob"`

    - `required bool Enabled`

    - `JsonElement Name = "glob"`

    - `required PermissionPolicy PermissionPolicy`

      Permission policy for tool execution.

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

  - `class BetaManagedAgentsGrepToolConfig`

    Configuration for the grep tool.

    - `JsonElement Type = "grep"`

    - `required bool Enabled`

    - `JsonElement Name = "grep"`

    - `required PermissionPolicy PermissionPolicy`

      Permission policy for tool execution.

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

  - `class BetaManagedAgentsWebFetchToolConfig`

    Configuration for the web_fetch tool.

    - `JsonElement Type = "web_fetch"`

    - `required bool Enabled`

    - `JsonElement Name = "web_fetch"`

    - `required PermissionPolicy PermissionPolicy`

      Permission policy for tool execution.

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

    - `required BetaManagedAgentsWebFetchUrlSources? UrlSources`

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

      - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ClientToolResults`

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

        - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

          - `JsonElement Type = "all"`

        - `class BetaManagedAgentsWebFetchUrlSourceNone`

          This source contributes no URLs that may be fetched.

          - `JsonElement Type = "none"`

        - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

          - `JsonElement Type = "only"`

          - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

            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.

            - `JsonElement Type = "tool_reference"`

              Must be "tool_reference".

            - `required string Name`

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

              minLength: 1, maxLength: 128

        - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

          - `JsonElement Type = "except"`

          - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

            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.

            - `JsonElement Type = "tool_reference"`

              Must be "tool_reference".

            - `required string Name`

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

              minLength: 1, maxLength: 128

      - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ServerToolResults`

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

      - `required BetaManagedAgentsWebFetchUrlSourceUserInput? UserInput`

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

        - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

        - `class BetaManagedAgentsWebFetchUrlSourceNone`

          This source contributes no URLs that may be fetched.

    - `IReadOnlyList<string> AllowedDomains`

    - `IReadOnlyList<string> BlockedDomains`

    - `int? MaxContentTokens`

      format: int32

  - `class BetaManagedAgentsWebSearchToolConfig`

    Configuration for the web_search tool.

    - `JsonElement Type = "web_search"`

    - `required bool Enabled`

    - `JsonElement Name = "web_search"`

    - `required PermissionPolicy PermissionPolicy`

      Permission policy for tool execution.

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

    - `IReadOnlyList<string> AllowedDomains`

    - `IReadOnlyList<string> BlockedDomains`

    - `BetaManagedAgentsUserLocation? UserLocation`

      Approximate user location for search result localization.

      - `JsonElement Type = "approximate"`

        Location precision. Only "approximate" is supported.

      - `string? City`

        City name.

        minLength: 1, maxLength: 255

      - `string? Country`

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

      - `string? Region`

        Region or state name.

        minLength: 1, maxLength: 255

      - `string? Timezone`

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

        minLength: 1, maxLength: 255

### Beta Managed Agents Agent Tool Config Params

- `class BetaManagedAgentsAgentToolConfigParams: union`

  Configuration override for a specific tool within a toolset.

  - `class BetaManagedAgentsBashToolConfigParams`

    Configuration override for the bash tool.

    - `Type Type`

    - `JsonElement Name = "bash"`

      Must be "bash".

    - `bool? Enabled`

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

    - `PermissionPolicy? PermissionPolicy`

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

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

        - `JsonElement Type = "always_allow"`

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

        - `JsonElement Type = "always_ask"`

      - `class 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.

        - `JsonElement Type = "auto"`

  - `class BetaManagedAgentsEditToolConfigParams`

    Configuration override for the edit tool.

    - `Type Type`

    - `JsonElement Name = "edit"`

      Must be "edit".

    - `bool? Enabled`

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

    - `PermissionPolicy? PermissionPolicy`

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

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

  - `class BetaManagedAgentsReadToolConfigParams`

    Configuration override for the read tool.

    - `Type Type`

    - `JsonElement Name = "read"`

      Must be "read".

    - `bool? Enabled`

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

    - `PermissionPolicy? PermissionPolicy`

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

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

  - `class BetaManagedAgentsWriteToolConfigParams`

    Configuration override for the write tool.

    - `Type Type`

    - `JsonElement Name = "write"`

      Must be "write".

    - `bool? Enabled`

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

    - `PermissionPolicy? PermissionPolicy`

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

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

  - `class BetaManagedAgentsGlobToolConfigParams`

    Configuration override for the glob tool.

    - `Type Type`

    - `JsonElement Name = "glob"`

      Must be "glob".

    - `bool? Enabled`

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

    - `PermissionPolicy? PermissionPolicy`

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

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

  - `class BetaManagedAgentsGrepToolConfigParams`

    Configuration override for the grep tool.

    - `Type Type`

    - `JsonElement Name = "grep"`

      Must be "grep".

    - `bool? Enabled`

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

    - `PermissionPolicy? PermissionPolicy`

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

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

  - `class BetaManagedAgentsWebFetchToolConfigParams`

    Configuration override for the web_fetch tool.

    - `Type Type`

    - `JsonElement Name = "web_fetch"`

      Must be "web_fetch".

    - `IReadOnlyList<string> AllowedDomains`

      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.

    - `IReadOnlyList<string> BlockedDomains`

      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.

    - `bool? Enabled`

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

    - `int? MaxContentTokens`

      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? PermissionPolicy`

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

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

    - `BetaManagedAgentsWebFetchUrlSourcesParams? UrlSources`

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

      - `BetaManagedAgentsWebFetchUrlSourceToolFilterParams? ClientToolResults`

        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.

        - `enum BetaManagedAgentsWebFetchUrlSourceShorthand`

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

          - `All("all")`

          - `None("none")`

        - `class BetaManagedAgentsWebFetchUrlSourceToolFilter: union`

          Which tools' results contribute URLs that may be fetched.

          - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

            - `JsonElement Type = "all"`

          - `class BetaManagedAgentsWebFetchUrlSourceNone`

            This source contributes no URLs that may be fetched.

            - `JsonElement Type = "none"`

          - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

            - `JsonElement Type = "only"`

            - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

              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.

              - `JsonElement Type = "tool_reference"`

                Must be "tool_reference".

              - `required string Name`

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

                minLength: 1, maxLength: 128

          - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

            - `JsonElement Type = "except"`

            - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

              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.

              - `JsonElement Type = "tool_reference"`

                Must be "tool_reference".

              - `required string Name`

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

                minLength: 1, maxLength: 128

      - `BetaManagedAgentsWebFetchUrlSourceToolFilterParams? ServerToolResults`

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

      - `BetaManagedAgentsWebFetchUrlSourceUserInputParams? UserInput`

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

        - `enum BetaManagedAgentsWebFetchUrlSourceShorthand`

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

        - `class BetaManagedAgentsWebFetchUrlSourceUserInput: union`

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

          - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

          - `class BetaManagedAgentsWebFetchUrlSourceNone`

            This source contributes no URLs that may be fetched.

  - `class BetaManagedAgentsWebSearchToolConfigParams`

    Configuration override for the web_search tool.

    - `Type Type`

    - `JsonElement Name = "web_search"`

      Must be "web_search".

    - `IReadOnlyList<string> AllowedDomains`

      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.

    - `IReadOnlyList<string> BlockedDomains`

      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.

    - `bool? Enabled`

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

    - `PermissionPolicy? PermissionPolicy`

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

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

    - `BetaManagedAgentsUserLocation? UserLocation`

      Approximate user location for search result localization.

      - `JsonElement Type = "approximate"`

        Location precision. Only "approximate" is supported.

      - `string? City`

        City name.

        minLength: 1, maxLength: 255

      - `string? Country`

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

      - `string? Region`

        Region or state name.

        minLength: 1, maxLength: 255

      - `string? Timezone`

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

        minLength: 1, maxLength: 255

### Beta Managed Agents Agent Toolset Default Config

- `class BetaManagedAgentsAgentToolsetDefaultConfig`

  Resolved default configuration for agent tools.

  - `required bool Enabled`

  - `required PermissionPolicy PermissionPolicy`

    Permission policy for tool execution.

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents Agent Toolset Default Config Params

- `class BetaManagedAgentsAgentToolsetDefaultConfigParams`

  Default configuration for all tools in a toolset.

  - `bool? Enabled`

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

  - `PermissionPolicy? PermissionPolicy`

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

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents Agent Toolset20260401

- `class BetaManagedAgentsAgentToolset20260401`

  - `JsonElement Type = "agent_toolset_20260401"`

  - `required IReadOnlyList<BetaManagedAgentsAgentToolConfig> Configs`

    - `class BetaManagedAgentsBashToolConfig`

      Configuration for the bash tool.

      - `JsonElement Type = "bash"`

      - `required bool Enabled`

      - `JsonElement Name = "bash"`

      - `required PermissionPolicy PermissionPolicy`

        Permission policy for tool execution.

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

          - `JsonElement Type = "always_allow"`

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

          - `JsonElement Type = "always_ask"`

        - `class 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.

          - `JsonElement Type = "auto"`

    - `class BetaManagedAgentsEditToolConfig`

      Configuration for the edit tool.

      - `JsonElement Type = "edit"`

      - `required bool Enabled`

      - `JsonElement Name = "edit"`

      - `required PermissionPolicy PermissionPolicy`

        Permission policy for tool execution.

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

        - `class 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.

    - `class BetaManagedAgentsReadToolConfig`

      Configuration for the read tool.

      - `JsonElement Type = "read"`

      - `required bool Enabled`

      - `JsonElement Name = "read"`

      - `required PermissionPolicy PermissionPolicy`

        Permission policy for tool execution.

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

        - `class 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.

    - `class BetaManagedAgentsWriteToolConfig`

      Configuration for the write tool.

      - `JsonElement Type = "write"`

      - `required bool Enabled`

      - `JsonElement Name = "write"`

      - `required PermissionPolicy PermissionPolicy`

        Permission policy for tool execution.

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

        - `class 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.

    - `class BetaManagedAgentsGlobToolConfig`

      Configuration for the glob tool.

      - `JsonElement Type = "glob"`

      - `required bool Enabled`

      - `JsonElement Name = "glob"`

      - `required PermissionPolicy PermissionPolicy`

        Permission policy for tool execution.

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

        - `class 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.

    - `class BetaManagedAgentsGrepToolConfig`

      Configuration for the grep tool.

      - `JsonElement Type = "grep"`

      - `required bool Enabled`

      - `JsonElement Name = "grep"`

      - `required PermissionPolicy PermissionPolicy`

        Permission policy for tool execution.

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

        - `class 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.

    - `class BetaManagedAgentsWebFetchToolConfig`

      Configuration for the web_fetch tool.

      - `JsonElement Type = "web_fetch"`

      - `required bool Enabled`

      - `JsonElement Name = "web_fetch"`

      - `required PermissionPolicy PermissionPolicy`

        Permission policy for tool execution.

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

        - `class 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.

      - `required BetaManagedAgentsWebFetchUrlSources? UrlSources`

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

        - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ClientToolResults`

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

          - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

            - `JsonElement Type = "all"`

          - `class BetaManagedAgentsWebFetchUrlSourceNone`

            This source contributes no URLs that may be fetched.

            - `JsonElement Type = "none"`

          - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

            - `JsonElement Type = "only"`

            - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

              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.

              - `JsonElement Type = "tool_reference"`

                Must be "tool_reference".

              - `required string Name`

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

                minLength: 1, maxLength: 128

          - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

            - `JsonElement Type = "except"`

            - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

              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.

              - `JsonElement Type = "tool_reference"`

                Must be "tool_reference".

              - `required string Name`

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

                minLength: 1, maxLength: 128

        - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ServerToolResults`

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

        - `required BetaManagedAgentsWebFetchUrlSourceUserInput? UserInput`

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

          - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

          - `class BetaManagedAgentsWebFetchUrlSourceNone`

            This source contributes no URLs that may be fetched.

      - `IReadOnlyList<string> AllowedDomains`

      - `IReadOnlyList<string> BlockedDomains`

      - `int? MaxContentTokens`

        format: int32

    - `class BetaManagedAgentsWebSearchToolConfig`

      Configuration for the web_search tool.

      - `JsonElement Type = "web_search"`

      - `required bool Enabled`

      - `JsonElement Name = "web_search"`

      - `required PermissionPolicy PermissionPolicy`

        Permission policy for tool execution.

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

        - `class 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.

      - `IReadOnlyList<string> AllowedDomains`

      - `IReadOnlyList<string> BlockedDomains`

      - `BetaManagedAgentsUserLocation? UserLocation`

        Approximate user location for search result localization.

        - `JsonElement Type = "approximate"`

          Location precision. Only "approximate" is supported.

        - `string? City`

          City name.

          minLength: 1, maxLength: 255

        - `string? Country`

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

        - `string? Region`

          Region or state name.

          minLength: 1, maxLength: 255

        - `string? Timezone`

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

          minLength: 1, maxLength: 255

  - `required BetaManagedAgentsAgentToolsetDefaultConfig DefaultConfig`

    Resolved default configuration for agent tools.

    - `required bool Enabled`

    - `required PermissionPolicy PermissionPolicy`

      Permission policy for tool execution.

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

### Beta Managed Agents Agent Toolset20260401 Bash Input

- `class BetaManagedAgentsAgentToolset20260401BashInput`

  Input payload for the `bash` tool of the
  `agent_toolset_20260401` toolset. All fields are optional;
  a normal invocation supplies `command`, while `restart=true`
  (with no `command`) reboots the runner-side bash session.

  - `string Command`

    Shell command to execute. Omit only when `restart` is true.

  - `bool Restart`

    When true, restart the persistent bash session instead of
    running a command. Subsequent calls without `restart` will
    run against the fresh session.

  - `long TimeoutMs`

    Per-call timeout in milliseconds. Defaults to the
    runner-wide tool timeout when omitted or zero.

    minimum: 0

### Beta Managed Agents Agent Toolset20260401 Edit Input

- `class BetaManagedAgentsAgentToolset20260401EditInput`

  Input payload for the `edit` tool. Performs a string
  replacement in the named file; by default `old_string` must
  occur exactly once.

  - `required string FilePath`

    Path of the file to edit.

  - `required string NewString`

    Replacement text.

  - `required string OldString`

    Substring to find and replace.

  - `bool ReplaceAll`

    When true, replace every occurrence of `old_string`
    instead of requiring a unique match.

### Beta Managed Agents Agent Toolset20260401 Glob Input

- `class BetaManagedAgentsAgentToolset20260401GlobInput`

  Input payload for the `glob` tool. Returns paths matching a
  doublestar glob pattern, newest first.

  - `required string Pattern`

    Doublestar glob pattern (e.g. `**/*.go`). Absolute patterns
    are only permitted when the runner is configured to allow
    them.

  - `string Path`

    Optional directory root to search under. Defaults to the
    runner's working directory.

### Beta Managed Agents Agent Toolset20260401 Grep Input

- `class BetaManagedAgentsAgentToolset20260401GrepInput`

  Input payload for the `grep` tool. Searches file contents for
  a regular expression, returning matching lines.

  - `required string Pattern`

    Regular expression to search for.

  - `string Path`

    Optional directory root to search under. Defaults to the
    runner's working directory.

### Beta Managed Agents Agent Toolset20260401 Params

- `class BetaManagedAgentsAgentToolset20260401Params`

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

  - `JsonElement Type = "agent_toolset_20260401"`

  - `IReadOnlyList<BetaManagedAgentsAgentToolConfigParams> Configs`

    Per-tool configuration overrides.

    - `class BetaManagedAgentsBashToolConfigParams`

      Configuration override for the bash tool.

      - `Type Type`

      - `JsonElement Name = "bash"`

        Must be "bash".

      - `bool? Enabled`

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

      - `PermissionPolicy? PermissionPolicy`

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

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

          - `JsonElement Type = "always_allow"`

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

          - `JsonElement Type = "always_ask"`

        - `class 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.

          - `JsonElement Type = "auto"`

    - `class BetaManagedAgentsEditToolConfigParams`

      Configuration override for the edit tool.

      - `Type Type`

      - `JsonElement Name = "edit"`

        Must be "edit".

      - `bool? Enabled`

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

      - `PermissionPolicy? PermissionPolicy`

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

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

        - `class 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.

    - `class BetaManagedAgentsReadToolConfigParams`

      Configuration override for the read tool.

      - `Type Type`

      - `JsonElement Name = "read"`

        Must be "read".

      - `bool? Enabled`

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

      - `PermissionPolicy? PermissionPolicy`

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

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

        - `class 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.

    - `class BetaManagedAgentsWriteToolConfigParams`

      Configuration override for the write tool.

      - `Type Type`

      - `JsonElement Name = "write"`

        Must be "write".

      - `bool? Enabled`

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

      - `PermissionPolicy? PermissionPolicy`

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

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

        - `class 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.

    - `class BetaManagedAgentsGlobToolConfigParams`

      Configuration override for the glob tool.

      - `Type Type`

      - `JsonElement Name = "glob"`

        Must be "glob".

      - `bool? Enabled`

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

      - `PermissionPolicy? PermissionPolicy`

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

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

        - `class 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.

    - `class BetaManagedAgentsGrepToolConfigParams`

      Configuration override for the grep tool.

      - `Type Type`

      - `JsonElement Name = "grep"`

        Must be "grep".

      - `bool? Enabled`

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

      - `PermissionPolicy? PermissionPolicy`

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

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

        - `class 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.

    - `class BetaManagedAgentsWebFetchToolConfigParams`

      Configuration override for the web_fetch tool.

      - `Type Type`

      - `JsonElement Name = "web_fetch"`

        Must be "web_fetch".

      - `IReadOnlyList<string> AllowedDomains`

        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.

      - `IReadOnlyList<string> BlockedDomains`

        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.

      - `bool? Enabled`

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

      - `int? MaxContentTokens`

        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? PermissionPolicy`

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

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

        - `class 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.

      - `BetaManagedAgentsWebFetchUrlSourcesParams? UrlSources`

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

        - `BetaManagedAgentsWebFetchUrlSourceToolFilterParams? ClientToolResults`

          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.

          - `enum BetaManagedAgentsWebFetchUrlSourceShorthand`

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

            - `All("all")`

            - `None("none")`

          - `class BetaManagedAgentsWebFetchUrlSourceToolFilter: union`

            Which tools' results contribute URLs that may be fetched.

            - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

              - `JsonElement Type = "all"`

            - `class BetaManagedAgentsWebFetchUrlSourceNone`

              This source contributes no URLs that may be fetched.

              - `JsonElement Type = "none"`

            - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

              - `JsonElement Type = "only"`

              - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                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.

                - `JsonElement Type = "tool_reference"`

                  Must be "tool_reference".

                - `required string Name`

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

                  minLength: 1, maxLength: 128

            - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

              - `JsonElement Type = "except"`

              - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                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.

                - `JsonElement Type = "tool_reference"`

                  Must be "tool_reference".

                - `required string Name`

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

                  minLength: 1, maxLength: 128

        - `BetaManagedAgentsWebFetchUrlSourceToolFilterParams? ServerToolResults`

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

        - `BetaManagedAgentsWebFetchUrlSourceUserInputParams? UserInput`

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

          - `enum BetaManagedAgentsWebFetchUrlSourceShorthand`

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

          - `class BetaManagedAgentsWebFetchUrlSourceUserInput: union`

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

            - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

            - `class BetaManagedAgentsWebFetchUrlSourceNone`

              This source contributes no URLs that may be fetched.

    - `class BetaManagedAgentsWebSearchToolConfigParams`

      Configuration override for the web_search tool.

      - `Type Type`

      - `JsonElement Name = "web_search"`

        Must be "web_search".

      - `IReadOnlyList<string> AllowedDomains`

        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.

      - `IReadOnlyList<string> BlockedDomains`

        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.

      - `bool? Enabled`

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

      - `PermissionPolicy? PermissionPolicy`

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

        - `class BetaManagedAgentsAlwaysAllowPolicy`

          Tool calls are automatically approved without user confirmation.

        - `class BetaManagedAgentsAlwaysAskPolicy`

          Tool calls require user confirmation before execution.

        - `class 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.

      - `BetaManagedAgentsUserLocation? UserLocation`

        Approximate user location for search result localization.

        - `JsonElement Type = "approximate"`

          Location precision. Only "approximate" is supported.

        - `string? City`

          City name.

          minLength: 1, maxLength: 255

        - `string? Country`

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

        - `string? Region`

          Region or state name.

          minLength: 1, maxLength: 255

        - `string? Timezone`

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

          minLength: 1, maxLength: 255

  - `BetaManagedAgentsAgentToolsetDefaultConfigParams? DefaultConfig`

    Default configuration applied to all tools in this set.

    - `bool? Enabled`

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

    - `PermissionPolicy? PermissionPolicy`

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

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

### Beta Managed Agents Agent Toolset20260401 Read Input

- `class BetaManagedAgentsAgentToolset20260401ReadInput`

  Input payload for the `read` tool. Reads file contents
  relative to the runner's working directory (or absolute when
  the runner permits).

  - `required string FilePath`

    Path of the file to read.

  - `IReadOnlyList<long> ViewRange`

    Optional `[start_line, end_line]` 1-indexed inclusive
    range. When omitted the entire file is returned.
    `end_line` of 0 or negative means "to end of file".

    minItems: 2, maxItems: 2

### Beta Managed Agents Agent Toolset20260401 Write Input

- `class BetaManagedAgentsAgentToolset20260401WriteInput`

  Input payload for the `write` tool. Writes (overwriting) the
  entire file contents.

  - `required string Content`

    Full file contents to write.

  - `required string FilePath`

    Path of the file to write.

### Beta Managed Agents Always Allow Policy

- `class BetaManagedAgentsAlwaysAllowPolicy`

  Tool calls are automatically approved without user confirmation.

  - `JsonElement Type = "always_allow"`

### Beta Managed Agents Always Ask Policy

- `class BetaManagedAgentsAlwaysAskPolicy`

  Tool calls require user confirmation before execution.

  - `JsonElement Type = "always_ask"`

### Beta Managed Agents Anthropic Skill

- `class BetaManagedAgentsAnthropicSkill`

  A resolved Anthropic-managed skill.

  - `JsonElement Type = "anthropic"`

  - `required string SkillID`

  - `required string Version`

### Beta Managed Agents Anthropic Skill Params

- `class BetaManagedAgentsAnthropicSkillParams`

  An Anthropic-managed skill.

  - `JsonElement Type = "anthropic"`

  - `required string SkillID`

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

    minLength: 1, maxLength: 64

  - `string? Version`

    Version to pin. Defaults to latest if omitted.

    minLength: 1, maxLength: 64

### Beta Managed Agents Auto Policy

- `class 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.

  - `JsonElement Type = "auto"`

### Beta Managed Agents AWS Role Execution Identity

- `class BetaManagedAgentsAwsRoleExecutionIdentity`

  An AWS IAM role principal as returned in API responses.

  - `JsonElement Type = "aws_role"`

  - `required string RoleArn`

    The IAM role's ARN.

### Beta Managed Agents AWS Role Execution Identity Params

- `class BetaManagedAgentsAwsRoleExecutionIdentityParams`

  An AWS IAM role principal.

  - `JsonElement Type = "aws_role"`

  - `required string RoleArn`

    The IAM role's ARN, e.g. "arn:aws:iam::123456789012:role/my-agent-runner". Maximum 2048 characters.

    maxLength: 2048

### Beta Managed Agents Bash Tool Config

- `class BetaManagedAgentsBashToolConfig`

  Configuration for the bash tool.

  - `JsonElement Type = "bash"`

  - `required bool Enabled`

  - `JsonElement Name = "bash"`

  - `required PermissionPolicy PermissionPolicy`

    Permission policy for tool execution.

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents Bash Tool Config Params

- `class BetaManagedAgentsBashToolConfigParams`

  Configuration override for the bash tool.

  - `Type Type`

  - `JsonElement Name = "bash"`

    Must be "bash".

  - `bool? Enabled`

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

  - `PermissionPolicy? PermissionPolicy`

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

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents Custom Skill

- `class BetaManagedAgentsCustomSkill`

  A resolved user-created custom skill.

  - `JsonElement Type = "custom"`

  - `required string SkillID`

  - `required string Version`

### Beta Managed Agents Custom Skill Params

- `class BetaManagedAgentsCustomSkillParams`

  A user-created custom skill.

  - `JsonElement Type = "custom"`

  - `required string SkillID`

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

    minLength: 1, maxLength: 64

  - `string? Version`

    Version to pin. Defaults to latest if omitted.

    minLength: 1, maxLength: 64

### Beta Managed Agents Custom Tool

- `class BetaManagedAgentsCustomTool`

  A custom tool as returned in API responses.

  - `JsonElement Type = "custom"`

  - `required string Description`

  - `required BetaManagedAgentsCustomToolInputSchema InputSchema`

    JSON Schema for custom tool input parameters.

    - `JsonElement Type = "object"`

    - `IReadOnlyDictionary<string, JsonElement>? Properties`

    - `IReadOnlyList<string>? Required`

  - `required string Name`

### Beta Managed Agents Custom Tool Input Schema

- `class BetaManagedAgentsCustomToolInputSchema`

  JSON Schema for custom tool input parameters.

  - `JsonElement Type = "object"`

  - `IReadOnlyDictionary<string, JsonElement>? Properties`

  - `IReadOnlyList<string>? Required`

### Beta Managed Agents Custom Tool Params

- `class BetaManagedAgentsCustomToolParams`

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

  - `JsonElement Type = "custom"`

  - `required string Description`

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

    minLength: 1

  - `required BetaManagedAgentsCustomToolInputSchema InputSchema`

    JSON Schema defining the expected input parameters for the tool.

    - `JsonElement Type = "object"`

    - `IReadOnlyDictionary<string, JsonElement>? Properties`

    - `IReadOnlyList<string>? Required`

  - `required string Name`

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

    minLength: 1, maxLength: 128

### Beta Managed Agents Edit Tool Config

- `class BetaManagedAgentsEditToolConfig`

  Configuration for the edit tool.

  - `JsonElement Type = "edit"`

  - `required bool Enabled`

  - `JsonElement Name = "edit"`

  - `required PermissionPolicy PermissionPolicy`

    Permission policy for tool execution.

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents Edit Tool Config Params

- `class BetaManagedAgentsEditToolConfigParams`

  Configuration override for the edit tool.

  - `Type Type`

  - `JsonElement Name = "edit"`

    Must be "edit".

  - `bool? Enabled`

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

  - `PermissionPolicy? PermissionPolicy`

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

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents Effort High

- `class BetaManagedAgentsEffortHigh`

  High effort. Favors reasoning depth.

  - `JsonElement Type = "high"`

### Beta Managed Agents Effort Low

- `class BetaManagedAgentsEffortLow`

  Low effort. Favors latency over reasoning depth.

  - `JsonElement Type = "low"`

### Beta Managed Agents Effort Max

- `class BetaManagedAgentsEffortMax`

  Maximum effort. Favors reasoning depth over latency.

  - `JsonElement Type = "max"`

### Beta Managed Agents Effort Medium

- `class BetaManagedAgentsEffortMedium`

  Medium effort. Balances latency and reasoning depth.

  - `JsonElement Type = "medium"`

### Beta Managed Agents Effort Xhigh

- `class BetaManagedAgentsEffortXhigh`

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

  - `JsonElement Type = "xhigh"`

### Beta Managed Agents Execution Identity

- `class BetaManagedAgentsExecutionIdentity: union`

  Execution principal for runs of this agent as returned in API responses.

  - `class BetaManagedAgentsAwsRoleExecutionIdentity`

    An AWS IAM role principal as returned in API responses.

    - `JsonElement Type = "aws_role"`

    - `required string RoleArn`

      The IAM role's ARN.

  - `class BetaManagedAgentsServiceAccountExecutionIdentity`

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

    - `JsonElement Type = "service_account"`

### Beta Managed Agents Execution Identity Params

- `class BetaManagedAgentsExecutionIdentityParams: union`

  Execution principal for runs of this agent: `service_account` (the default) or `aws_role`.

  - `class BetaManagedAgentsAwsRoleExecutionIdentityParams`

    An AWS IAM role principal.

    - `JsonElement Type = "aws_role"`

    - `required string RoleArn`

      The IAM role's ARN, e.g. "arn:aws:iam::123456789012:role/my-agent-runner". Maximum 2048 characters.

      maxLength: 2048

  - `class BetaManagedAgentsServiceAccountExecutionIdentityParams`

    The Anthropic-managed service account — the default execution principal. Carries no identifier.

    - `JsonElement Type = "service_account"`

### Beta Managed Agents Glob Tool Config

- `class BetaManagedAgentsGlobToolConfig`

  Configuration for the glob tool.

  - `JsonElement Type = "glob"`

  - `required bool Enabled`

  - `JsonElement Name = "glob"`

  - `required PermissionPolicy PermissionPolicy`

    Permission policy for tool execution.

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents Glob Tool Config Params

- `class BetaManagedAgentsGlobToolConfigParams`

  Configuration override for the glob tool.

  - `Type Type`

  - `JsonElement Name = "glob"`

    Must be "glob".

  - `bool? Enabled`

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

  - `PermissionPolicy? PermissionPolicy`

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

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents Grep Tool Config

- `class BetaManagedAgentsGrepToolConfig`

  Configuration for the grep tool.

  - `JsonElement Type = "grep"`

  - `required bool Enabled`

  - `JsonElement Name = "grep"`

  - `required PermissionPolicy PermissionPolicy`

    Permission policy for tool execution.

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents Grep Tool Config Params

- `class BetaManagedAgentsGrepToolConfigParams`

  Configuration override for the grep tool.

  - `Type Type`

  - `JsonElement Name = "grep"`

    Must be "grep".

  - `bool? Enabled`

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

  - `PermissionPolicy? PermissionPolicy`

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

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents MCP Server URL Definition

- `class BetaManagedAgentsMcpServerUrlDefinition`

  URL-based MCP server connection as returned in API responses.

  - `JsonElement Type = "url"`

  - `required string Name`

  - `required string Url`

### Beta Managed Agents MCP Tool Config

- `class BetaManagedAgentsMcpToolConfig`

  Resolved configuration for a specific MCP tool.

  - `required bool Enabled`

  - `required string Name`

  - `required PermissionPolicy PermissionPolicy`

    Permission policy for tool execution.

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents MCP Tool Config Params

- `class BetaManagedAgentsMcpToolConfigParams`

  Configuration override for a specific MCP tool.

  - `required string Name`

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

    minLength: 1, maxLength: 128

  - `bool? Enabled`

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

  - `PermissionPolicy? PermissionPolicy`

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

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents MCP Toolset

- `class BetaManagedAgentsMcpToolset`

  - `JsonElement Type = "mcp_toolset"`

  - `required IReadOnlyList<BetaManagedAgentsMcpToolConfig> Configs`

    - `required bool Enabled`

    - `required string Name`

    - `required PermissionPolicy PermissionPolicy`

      Permission policy for tool execution.

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

        - `JsonElement Type = "always_allow"`

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

        - `JsonElement Type = "always_ask"`

      - `class 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.

        - `JsonElement Type = "auto"`

  - `required BetaManagedAgentsMcpToolsetDefaultConfig DefaultConfig`

    Resolved default configuration for all tools from an MCP server.

    - `required bool Enabled`

    - `required PermissionPolicy PermissionPolicy`

      Permission policy for tool execution.

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

  - `required string McpServerName`

### Beta Managed Agents MCP Toolset Default Config

- `class BetaManagedAgentsMcpToolsetDefaultConfig`

  Resolved default configuration for all tools from an MCP server.

  - `required bool Enabled`

  - `required PermissionPolicy PermissionPolicy`

    Permission policy for tool execution.

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents MCP Toolset Default Config Params

- `class BetaManagedAgentsMcpToolsetDefaultConfigParams`

  Default configuration for all tools from an MCP server.

  - `bool? Enabled`

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

  - `PermissionPolicy? PermissionPolicy`

    Default permission policy for tools from this server.

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents MCP Toolset Params

- `class BetaManagedAgentsMcpToolsetParams`

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

  - `JsonElement Type = "mcp_toolset"`

  - `required string McpServerName`

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

    minLength: 1, maxLength: 255

  - `IReadOnlyList<BetaManagedAgentsMcpToolConfigParams> Configs`

    Per-tool configuration overrides.

    - `required string Name`

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

      minLength: 1, maxLength: 128

    - `bool? Enabled`

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

    - `PermissionPolicy? PermissionPolicy`

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

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

        - `JsonElement Type = "always_allow"`

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

        - `JsonElement Type = "always_ask"`

      - `class 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.

        - `JsonElement Type = "auto"`

  - `BetaManagedAgentsMcpToolsetDefaultConfigParams? DefaultConfig`

    Default configuration for all tools from this server.

    - `bool? Enabled`

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

    - `PermissionPolicy? PermissionPolicy`

      Default permission policy for tools from this server.

      - `class BetaManagedAgentsAlwaysAllowPolicy`

        Tool calls are automatically approved without user confirmation.

      - `class BetaManagedAgentsAlwaysAskPolicy`

        Tool calls require user confirmation before execution.

      - `class 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.

### Beta Managed Agents Model Config

- `class BetaManagedAgentsModelConfig`

  Model identifier and configuration.

  - `required BetaManagedAgentsModel ID`

    The model that will power your agent.

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

    - `ClaudeHaiku5_5("claude-haiku-5-5")`

      Fastest model for high-volume, real-time tasks

    - `ClaudeSonnet5_5("claude-sonnet-5-5")`

      Efficient model for coding and agents

    - `ClaudeOpus5_5("claude-opus-5-5")`

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

    - `ClaudeFable5_1("claude-fable-5-1")`

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

    - `ClaudeSonnet5("claude-sonnet-5")`

      Efficient model for coding and agents

    - `ClaudeFable5("claude-fable-5")`

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

    - `ClaudeOpus5("claude-opus-5")`

      Powerful intelligence for long-running agents and coding

    - `ClaudeOpus4_8("claude-opus-4-8")`

      Powerful intelligence for long-running agents and coding

    - `ClaudeOpus4_7("claude-opus-4-7")`

      Powerful intelligence for long-running agents and coding

    - `ClaudeOpus4_6("claude-opus-4-6")`

      Powerful intelligence for long-running agents and coding

    - `ClaudeSonnet4_6("claude-sonnet-4-6")`

      Best combination of speed and intelligence

    - `ClaudeHaiku4_5("claude-haiku-4-5")`

    - `ClaudeHaiku4_5_20251001("claude-haiku-4-5-20251001")`

    - `ClaudeOpus4_5("claude-opus-4-5")`

      Powerful intelligence for long-running agents and coding

    - `ClaudeOpus4_5_20251101("claude-opus-4-5-20251101")`

      Powerful intelligence for long-running agents and coding

    - `ClaudeSonnet4_5("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

    - `ClaudeSonnet4_5_20250929("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 Effort`

    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.

    - `class BetaManagedAgentsEffortLow`

      Low effort. Favors latency over reasoning depth.

      - `JsonElement Type = "low"`

    - `class BetaManagedAgentsEffortMedium`

      Medium effort. Balances latency and reasoning depth.

      - `JsonElement Type = "medium"`

    - `class BetaManagedAgentsEffortHigh`

      High effort. Favors reasoning depth.

      - `JsonElement Type = "high"`

    - `class BetaManagedAgentsEffortXhigh`

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

      - `JsonElement Type = "xhigh"`

    - `class BetaManagedAgentsEffortMax`

      Maximum effort. Favors reasoning depth over latency.

      - `JsonElement Type = "max"`

  - `string InferenceGeo`

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

  - `Speed Speed`

    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.

    - `Standard("standard")`

    - `Fast("fast")`

### Beta Managed Agents Model Config Params

- `class BetaManagedAgentsModelConfigParams`

  An object that defines additional configuration control over model use

  - `required BetaManagedAgentsModel ID`

    The model that will power your agent.

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

    - `ClaudeHaiku5_5("claude-haiku-5-5")`

      Fastest model for high-volume, real-time tasks

    - `ClaudeSonnet5_5("claude-sonnet-5-5")`

      Efficient model for coding and agents

    - `ClaudeOpus5_5("claude-opus-5-5")`

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

    - `ClaudeFable5_1("claude-fable-5-1")`

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

    - `ClaudeSonnet5("claude-sonnet-5")`

      Efficient model for coding and agents

    - `ClaudeFable5("claude-fable-5")`

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

    - `ClaudeOpus5("claude-opus-5")`

      Powerful intelligence for long-running agents and coding

    - `ClaudeOpus4_8("claude-opus-4-8")`

      Powerful intelligence for long-running agents and coding

    - `ClaudeOpus4_7("claude-opus-4-7")`

      Powerful intelligence for long-running agents and coding

    - `ClaudeOpus4_6("claude-opus-4-6")`

      Powerful intelligence for long-running agents and coding

    - `ClaudeSonnet4_6("claude-sonnet-4-6")`

      Best combination of speed and intelligence

    - `ClaudeHaiku4_5("claude-haiku-4-5")`

    - `ClaudeHaiku4_5_20251001("claude-haiku-4-5-20251001")`

    - `ClaudeOpus4_5("claude-opus-4-5")`

      Powerful intelligence for long-running agents and coding

    - `ClaudeOpus4_5_20251101("claude-opus-4-5-20251101")`

      Powerful intelligence for long-running agents and coding

    - `ClaudeSonnet4_5("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

    - `ClaudeSonnet4_5_20250929("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? Effort`

    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.

    - `enum BetaManagedAgentsEffortLevel`

      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.

      - `Low("low")`

        Low effort. Favors latency over reasoning depth.

      - `Medium("medium")`

        Medium effort. Balances latency and reasoning depth.

      - `High("high")`

        High effort. Favors reasoning depth.

      - `Xhigh("xhigh")`

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

      - `Max("max")`

        Maximum effort. Favors reasoning depth over latency.

    - `class BetaManagedAgentsEffortLow`

      Low effort. Favors latency over reasoning depth.

      - `JsonElement Type = "low"`

    - `class BetaManagedAgentsEffortMedium`

      Medium effort. Balances latency and reasoning depth.

      - `JsonElement Type = "medium"`

    - `class BetaManagedAgentsEffortHigh`

      High effort. Favors reasoning depth.

      - `JsonElement Type = "high"`

    - `class BetaManagedAgentsEffortXhigh`

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

      - `JsonElement Type = "xhigh"`

    - `class BetaManagedAgentsEffortMax`

      Maximum effort. Favors reasoning depth over latency.

      - `JsonElement Type = "max"`

  - `string? InferenceGeo`

    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? Speed`

    Inference speed mode. Defaults to `standard`.

    - `Standard("standard")`

    - `Fast("fast")`

### Beta Managed Agents Multiagent Advisor

- `class BetaManagedAgentsMultiagentAdvisor: union`

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

  - `class BetaManagedAgentsMultiagentAdvisorEnabled`

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

    - `JsonElement Type = "enabled"`

    - `required string Model`

      The advisor model id.

  - `class BetaManagedAgentsMultiagentAdvisorDisabled`

    The agent has no advisor.

    - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent Advisor Disabled

- `class BetaManagedAgentsMultiagentAdvisorDisabled`

  The agent has no advisor.

  - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent Advisor Disabled Params

- `class BetaManagedAgentsMultiagentAdvisorDisabledParams`

  The agent has no advisor.

  - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent Advisor Enabled

- `class BetaManagedAgentsMultiagentAdvisorEnabled`

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

  - `JsonElement Type = "enabled"`

  - `required string Model`

    The advisor model id.

### Beta Managed Agents Multiagent Advisor Enabled Params

- `class BetaManagedAgentsMultiagentAdvisorEnabledParams`

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

  - `JsonElement Type = "enabled"`

  - `required string Model`

    A Claude model id. The model must be permitted as an advisor for this agent's model.

    minLength: 1, maxLength: 256

### Beta Managed Agents Multiagent Advisor Params

- `class BetaManagedAgentsMultiagentAdvisorParams: union`

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

  - `class BetaManagedAgentsMultiagentAdvisorEnabledParams`

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

    - `JsonElement Type = "enabled"`

    - `required string Model`

      A Claude model id. The model must be permitted as an advisor for this agent's model.

      minLength: 1, maxLength: 256

  - `class BetaManagedAgentsMultiagentAdvisorDisabledParams`

    The agent has no advisor.

    - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent Coordinator

- `class BetaManagedAgentsMultiagentCoordinator`

  Resolved coordinator topology with a concrete agent roster.

  - `JsonElement Type = "coordinator"`

  - `required IReadOnlyList<Agent> Agents`

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

    - `class BetaManagedAgentsAgentReference`

      A resolved agent reference with a concrete version.

      - `JsonElement Type = "agent"`

      - `required string ID`

      - `required int Version`

        format: int32

    - `class BetaManagedAgentsAdvisor`

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

      - `JsonElement Type = "advisor"`

      - `required string Model`

        The advisor model id.

### Beta Managed Agents Multiagent Coordinator Params

- `class BetaManagedAgentsMultiagentCoordinatorParams`

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

  - `JsonElement Type = "coordinator"`

  - `required IReadOnlyList<BetaManagedAgentsMultiagentRosterEntryParams> Agents`

    Agents 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 resolving `self` and string forms); at most one `self`. Referenced agents must exist, must not be archived, and must not themselves have `multiagent` set (depth limit 1).

    - `string`

    - `class BetaManagedAgentsAgentParams`

      Specification for an Agent. Provide a specific `version` or use the short-form `agent="agent_id"` for the most recent version

      - `JsonElement Type = "agent"`

      - `required string ID`

        The `agent` ID.

        minLength: 1, maxLength: 128

      - `int Version`

        The specific `agent` version to use. Omit to use the latest version. Must be at least 1 if specified.

        format: int32

    - `class BetaManagedAgentsMultiagentSelfParams`

      Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.

      - `JsonElement Type = "self"`

    - `class BetaManagedAgentsAdvisorParams`

      Platform 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`.

      - `JsonElement Type = "advisor"`

      - `required string Model`

        A Claude model id. The model must be permitted as an advisor for this agent's model.

        minLength: 1, maxLength: 256

### Beta Managed Agents Multiagent Inline Agents

- `class BetaManagedAgentsMultiagentInlineAgents: union`

  Whether the agent can define inline agents. The agent defines an inline agent itself, in a workflow run's plan or when it spawns a session thread, and the inline agent is not saved.

  - `class BetaManagedAgentsMultiagentInlineAgentsEnabled`

    The agent can define inline agents.

    - `JsonElement Type = "enabled"`

  - `class BetaManagedAgentsMultiagentInlineAgentsDisabled`

    The agent cannot define inline agents.

    - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent Inline Agents Disabled

- `class BetaManagedAgentsMultiagentInlineAgentsDisabled`

  The agent cannot define inline agents.

  - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent Inline Agents Disabled Params

- `class BetaManagedAgentsMultiagentInlineAgentsDisabledParams`

  The agent cannot define inline agents.

  - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent Inline Agents Enabled

- `class BetaManagedAgentsMultiagentInlineAgentsEnabled`

  The agent can define inline agents.

  - `JsonElement Type = "enabled"`

### Beta Managed Agents Multiagent Inline Agents Enabled Params

- `class BetaManagedAgentsMultiagentInlineAgentsEnabledParams`

  The agent can define inline agents.

  - `JsonElement Type = "enabled"`

### Beta Managed Agents Multiagent Inline Agents Params

- `class BetaManagedAgentsMultiagentInlineAgentsParams: union`

  Whether the agent can define inline agents. The agent defines an inline agent itself, in a workflow run's plan or when it spawns a session thread, and the inline agent is not saved.

  - `class BetaManagedAgentsMultiagentInlineAgentsEnabledParams`

    The agent can define inline agents.

    - `JsonElement Type = "enabled"`

  - `class BetaManagedAgentsMultiagentInlineAgentsDisabledParams`

    The agent cannot define inline agents.

    - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent Predefined Agent Params

- `class BetaManagedAgentsMultiagentPredefinedAgentParams: union`

  One agent in a `predefined_agents` list. It is an agent ID string, an `agent` reference with an optional `version`, or `self` for the agent that owns this configuration.

  - `string`

  - `class BetaManagedAgentsAgentParams`

    Specification for an Agent. Provide a specific `version` or use the short-form `agent="agent_id"` for the most recent version

    - `JsonElement Type = "agent"`

    - `required string ID`

      The `agent` ID.

      minLength: 1, maxLength: 128

    - `int Version`

      The specific `agent` version to use. Omit to use the latest version. Must be at least 1 if specified.

      format: int32

  - `class BetaManagedAgentsMultiagentSelfParams`

    Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.

    - `JsonElement Type = "self"`

### Beta Managed Agents Multiagent Self Params

- `class BetaManagedAgentsMultiagentSelfParams`

  Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.

  - `JsonElement Type = "self"`

### Beta Managed Agents Multiagent Subagents

- `class BetaManagedAgentsMultiagentSubagents: union`

  Whether the agent can spawn session threads.

  - `class BetaManagedAgentsMultiagentSubagentsEnabled`

    The agent can spawn session threads.

    - `JsonElement Type = "enabled"`

    - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

      - `class BetaManagedAgentsMultiagentInlineAgentsEnabled`

        The agent can define inline agents.

        - `JsonElement Type = "enabled"`

      - `class BetaManagedAgentsMultiagentInlineAgentsDisabled`

        The agent cannot define inline agents.

        - `JsonElement Type = "disabled"`

    - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

      - `JsonElement Type = "agent"`

      - `required string ID`

      - `required int Version`

        format: int32

  - `class BetaManagedAgentsMultiagentSubagentsDisabled`

    The agent cannot spawn session threads.

    - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent Subagents Disabled

- `class BetaManagedAgentsMultiagentSubagentsDisabled`

  The agent cannot spawn session threads.

  - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent Subagents Disabled Params

- `class BetaManagedAgentsMultiagentSubagentsDisabledParams`

  The agent cannot spawn session threads.

  - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent Subagents Enabled

- `class BetaManagedAgentsMultiagentSubagentsEnabled`

  The agent can spawn session threads.

  - `JsonElement Type = "enabled"`

  - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

    - `class BetaManagedAgentsMultiagentInlineAgentsEnabled`

      The agent can define inline agents.

      - `JsonElement Type = "enabled"`

    - `class BetaManagedAgentsMultiagentInlineAgentsDisabled`

      The agent cannot define inline agents.

      - `JsonElement Type = "disabled"`

  - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

    - `JsonElement Type = "agent"`

    - `required string ID`

    - `required int Version`

      format: int32

### Beta Managed Agents Multiagent Subagents Enabled Params

- `class BetaManagedAgentsMultiagentSubagentsEnabledParams`

  The agent can spawn session threads. Each thread runs a predefined agent, which is a saved agent in `predefined_agents`, or an inline agent, which the agent defines when it spawns the thread and which is not saved. If `inline_agents` is disabled, `predefined_agents` must name at least one agent.

  - `JsonElement Type = "enabled"`

  - `BetaManagedAgentsMultiagentInlineAgentsParams? InlineAgents`

    Whether the agent can define inline agents when it spawns session threads. Defaults to enabled.

    - `class BetaManagedAgentsMultiagentInlineAgentsEnabledParams`

      The agent can define inline agents.

      - `JsonElement Type = "enabled"`

    - `class BetaManagedAgentsMultiagentInlineAgentsDisabledParams`

      The agent cannot define inline agents.

      - `JsonElement Type = "disabled"`

  - `IReadOnlyList<BetaManagedAgentsMultiagentPredefinedAgentParams>? PredefinedAgents`

    Predefined agents that this agent can spawn as session threads. At most 20. Defaults to null. Null and an empty list both mean no predefined agents. This list is separate from `workflows.predefined_agents`, and an agent in one list is not added to the other.

    - `string`

    - `class BetaManagedAgentsAgentParams`

      Specification for an Agent. Provide a specific `version` or use the short-form `agent="agent_id"` for the most recent version

      - `JsonElement Type = "agent"`

      - `required string ID`

        The `agent` ID.

        minLength: 1, maxLength: 128

      - `int Version`

        The specific `agent` version to use. Omit to use the latest version. Must be at least 1 if specified.

        format: int32

    - `class BetaManagedAgentsMultiagentSelfParams`

      Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.

      - `JsonElement Type = "self"`

### Beta Managed Agents Multiagent Subagents Params

- `class BetaManagedAgentsMultiagentSubagentsParams: union`

  Whether the agent can spawn session threads.

  - `class BetaManagedAgentsMultiagentSubagentsEnabledParams`

    The agent can spawn session threads. Each thread runs a predefined agent, which is a saved agent in `predefined_agents`, or an inline agent, which the agent defines when it spawns the thread and which is not saved. If `inline_agents` is disabled, `predefined_agents` must name at least one agent.

    - `JsonElement Type = "enabled"`

    - `BetaManagedAgentsMultiagentInlineAgentsParams? InlineAgents`

      Whether the agent can define inline agents when it spawns session threads. Defaults to enabled.

      - `class BetaManagedAgentsMultiagentInlineAgentsEnabledParams`

        The agent can define inline agents.

        - `JsonElement Type = "enabled"`

      - `class BetaManagedAgentsMultiagentInlineAgentsDisabledParams`

        The agent cannot define inline agents.

        - `JsonElement Type = "disabled"`

    - `IReadOnlyList<BetaManagedAgentsMultiagentPredefinedAgentParams>? PredefinedAgents`

      Predefined agents that this agent can spawn as session threads. At most 20. Defaults to null. Null and an empty list both mean no predefined agents. This list is separate from `workflows.predefined_agents`, and an agent in one list is not added to the other.

      - `string`

      - `class BetaManagedAgentsAgentParams`

        Specification for an Agent. Provide a specific `version` or use the short-form `agent="agent_id"` for the most recent version

        - `JsonElement Type = "agent"`

        - `required string ID`

          The `agent` ID.

          minLength: 1, maxLength: 128

        - `int Version`

          The specific `agent` version to use. Omit to use the latest version. Must be at least 1 if specified.

          format: int32

      - `class BetaManagedAgentsMultiagentSelfParams`

        Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.

        - `JsonElement Type = "self"`

  - `class BetaManagedAgentsMultiagentSubagentsDisabledParams`

    The agent cannot spawn session threads.

    - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent Workflows

- `class BetaManagedAgentsMultiagentWorkflows: union`

  Whether the agent can start workflow runs.

  - `class BetaManagedAgentsMultiagentWorkflowsEnabled`

    The agent can start workflow runs.

    - `JsonElement Type = "enabled"`

    - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

      - `class BetaManagedAgentsMultiagentInlineAgentsEnabled`

        The agent can define inline agents.

        - `JsonElement Type = "enabled"`

      - `class BetaManagedAgentsMultiagentInlineAgentsDisabled`

        The agent cannot define inline agents.

        - `JsonElement Type = "disabled"`

    - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

      - `JsonElement Type = "agent"`

      - `required string ID`

      - `required int Version`

        format: int32

  - `class BetaManagedAgentsMultiagentWorkflowsDisabled`

    The agent cannot start workflow runs.

    - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent Workflows Disabled

- `class BetaManagedAgentsMultiagentWorkflowsDisabled`

  The agent cannot start workflow runs.

  - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent Workflows Disabled Params

- `class BetaManagedAgentsMultiagentWorkflowsDisabledParams`

  The agent cannot start workflow runs.

  - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent Workflows Enabled

- `class BetaManagedAgentsMultiagentWorkflowsEnabled`

  The agent can start workflow runs.

  - `JsonElement Type = "enabled"`

  - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

    - `class BetaManagedAgentsMultiagentInlineAgentsEnabled`

      The agent can define inline agents.

      - `JsonElement Type = "enabled"`

    - `class BetaManagedAgentsMultiagentInlineAgentsDisabled`

      The agent cannot define inline agents.

      - `JsonElement Type = "disabled"`

  - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

    - `JsonElement Type = "agent"`

    - `required string ID`

    - `required int Version`

      format: int32

### Beta Managed Agents Multiagent Workflows Enabled Params

- `class BetaManagedAgentsMultiagentWorkflowsEnabledParams`

  The agent can start workflow runs. Each run follows a plan, a program that the agent writes. A plan can use predefined agents, which are the saved agents in `predefined_agents`, and inline agents, which it defines itself and which are not saved. If `inline_agents` is disabled, `predefined_agents` must name at least one agent.

  - `JsonElement Type = "enabled"`

  - `BetaManagedAgentsMultiagentInlineAgentsParams? InlineAgents`

    Whether a run's plan can define inline agents. Defaults to enabled.

    - `class BetaManagedAgentsMultiagentInlineAgentsEnabledParams`

      The agent can define inline agents.

      - `JsonElement Type = "enabled"`

    - `class BetaManagedAgentsMultiagentInlineAgentsDisabledParams`

      The agent cannot define inline agents.

      - `JsonElement Type = "disabled"`

  - `IReadOnlyList<BetaManagedAgentsMultiagentPredefinedAgentParams>? PredefinedAgents`

    Predefined agents that a run's plan can use. At most 20. Defaults to null. Null and an empty list both mean no predefined agents. This list is separate from `subagents.predefined_agents`, and an agent in one list is not added to the other.

    - `string`

    - `class BetaManagedAgentsAgentParams`

      Specification for an Agent. Provide a specific `version` or use the short-form `agent="agent_id"` for the most recent version

      - `JsonElement Type = "agent"`

      - `required string ID`

        The `agent` ID.

        minLength: 1, maxLength: 128

      - `int Version`

        The specific `agent` version to use. Omit to use the latest version. Must be at least 1 if specified.

        format: int32

    - `class BetaManagedAgentsMultiagentSelfParams`

      Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.

      - `JsonElement Type = "self"`

### Beta Managed Agents Multiagent Workflows Params

- `class BetaManagedAgentsMultiagentWorkflowsParams: union`

  Whether the agent can start workflow runs.

  - `class BetaManagedAgentsMultiagentWorkflowsEnabledParams`

    The agent can start workflow runs. Each run follows a plan, a program that the agent writes. A plan can use predefined agents, which are the saved agents in `predefined_agents`, and inline agents, which it defines itself and which are not saved. If `inline_agents` is disabled, `predefined_agents` must name at least one agent.

    - `JsonElement Type = "enabled"`

    - `BetaManagedAgentsMultiagentInlineAgentsParams? InlineAgents`

      Whether a run's plan can define inline agents. Defaults to enabled.

      - `class BetaManagedAgentsMultiagentInlineAgentsEnabledParams`

        The agent can define inline agents.

        - `JsonElement Type = "enabled"`

      - `class BetaManagedAgentsMultiagentInlineAgentsDisabledParams`

        The agent cannot define inline agents.

        - `JsonElement Type = "disabled"`

    - `IReadOnlyList<BetaManagedAgentsMultiagentPredefinedAgentParams>? PredefinedAgents`

      Predefined agents that a run's plan can use. At most 20. Defaults to null. Null and an empty list both mean no predefined agents. This list is separate from `subagents.predefined_agents`, and an agent in one list is not added to the other.

      - `string`

      - `class BetaManagedAgentsAgentParams`

        Specification for an Agent. Provide a specific `version` or use the short-form `agent="agent_id"` for the most recent version

        - `JsonElement Type = "agent"`

        - `required string ID`

          The `agent` ID.

          minLength: 1, maxLength: 128

        - `int Version`

          The specific `agent` version to use. Omit to use the latest version. Must be at least 1 if specified.

          format: int32

      - `class BetaManagedAgentsMultiagentSelfParams`

        Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.

        - `JsonElement Type = "self"`

  - `class BetaManagedAgentsMultiagentWorkflowsDisabledParams`

    The agent cannot start workflow runs.

    - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent20261001

- `class BetaManagedAgentsMultiagent20261001`

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

  - `JsonElement Type = "multiagent_20261001"`

  - `required BetaManagedAgentsMultiagentAdvisor Advisor`

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

    - `class BetaManagedAgentsMultiagentAdvisorEnabled`

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

      - `JsonElement Type = "enabled"`

      - `required string Model`

        The advisor model id.

    - `class BetaManagedAgentsMultiagentAdvisorDisabled`

      The agent has no advisor.

      - `JsonElement Type = "disabled"`

  - `required BetaManagedAgentsMultiagentSubagents Subagents`

    Whether the agent can spawn session threads.

    - `class BetaManagedAgentsMultiagentSubagentsEnabled`

      The agent can spawn session threads.

      - `JsonElement Type = "enabled"`

      - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

        - `class BetaManagedAgentsMultiagentInlineAgentsEnabled`

          The agent can define inline agents.

          - `JsonElement Type = "enabled"`

        - `class BetaManagedAgentsMultiagentInlineAgentsDisabled`

          The agent cannot define inline agents.

          - `JsonElement Type = "disabled"`

      - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

        - `JsonElement Type = "agent"`

        - `required string ID`

        - `required int Version`

          format: int32

    - `class BetaManagedAgentsMultiagentSubagentsDisabled`

      The agent cannot spawn session threads.

      - `JsonElement Type = "disabled"`

  - `required BetaManagedAgentsMultiagentWorkflows Workflows`

    Whether the agent can start workflow runs.

    - `class BetaManagedAgentsMultiagentWorkflowsEnabled`

      The agent can start workflow runs.

      - `JsonElement Type = "enabled"`

      - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

      - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

        - `JsonElement Type = "agent"`

        - `required string ID`

        - `required int Version`

          format: int32

    - `class BetaManagedAgentsMultiagentWorkflowsDisabled`

      The agent cannot start workflow runs.

      - `JsonElement Type = "disabled"`

### Beta Managed Agents Multiagent20261001 Params

- `class BetaManagedAgentsMultiagent20261001Params`

  Multiagent configuration with three members, each enabled or disabled on its own. On an update, if the agent's stored `multiagent` also has type `multiagent_20261001`, this configuration is merged into the stored one, level by level, instead of replacing it. A key that the update omits keeps its stored value. A key sent as null takes its default, on create as well, so `"workflows": null` enables workflows. An object sent with a `type` other than the stored one replaces the stored object, and the keys that it omits take their defaults. A `predefined_agents` list that is sent replaces the stored list. Every object that is sent needs its `type`, and an enabled `advisor` needs its `model`. Other validation applies to the merged result.

  - `JsonElement Type = "multiagent_20261001"`

  - `BetaManagedAgentsMultiagentAdvisorParams? Advisor`

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

    - `class BetaManagedAgentsMultiagentAdvisorEnabledParams`

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

      - `JsonElement Type = "enabled"`

      - `required string Model`

        A Claude model id. The model must be permitted as an advisor for this agent's model.

        minLength: 1, maxLength: 256

    - `class BetaManagedAgentsMultiagentAdvisorDisabledParams`

      The agent has no advisor.

      - `JsonElement Type = "disabled"`

  - `BetaManagedAgentsMultiagentSubagentsParams? Subagents`

    Whether the agent can spawn session threads. Defaults to enabled.

    - `class BetaManagedAgentsMultiagentSubagentsEnabledParams`

      The agent can spawn session threads. Each thread runs a predefined agent, which is a saved agent in `predefined_agents`, or an inline agent, which the agent defines when it spawns the thread and which is not saved. If `inline_agents` is disabled, `predefined_agents` must name at least one agent.

      - `JsonElement Type = "enabled"`

      - `BetaManagedAgentsMultiagentInlineAgentsParams? InlineAgents`

        Whether the agent can define inline agents when it spawns session threads. Defaults to enabled.

        - `class BetaManagedAgentsMultiagentInlineAgentsEnabledParams`

          The agent can define inline agents.

          - `JsonElement Type = "enabled"`

        - `class BetaManagedAgentsMultiagentInlineAgentsDisabledParams`

          The agent cannot define inline agents.

          - `JsonElement Type = "disabled"`

      - `IReadOnlyList<BetaManagedAgentsMultiagentPredefinedAgentParams>? PredefinedAgents`

        Predefined agents that this agent can spawn as session threads. At most 20. Defaults to null. Null and an empty list both mean no predefined agents. This list is separate from `workflows.predefined_agents`, and an agent in one list is not added to the other.

        - `string`

        - `class BetaManagedAgentsAgentParams`

          Specification for an Agent. Provide a specific `version` or use the short-form `agent="agent_id"` for the most recent version

          - `JsonElement Type = "agent"`

          - `required string ID`

            The `agent` ID.

            minLength: 1, maxLength: 128

          - `int Version`

            The specific `agent` version to use. Omit to use the latest version. Must be at least 1 if specified.

            format: int32

        - `class BetaManagedAgentsMultiagentSelfParams`

          Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.

          - `JsonElement Type = "self"`

    - `class BetaManagedAgentsMultiagentSubagentsDisabledParams`

      The agent cannot spawn session threads.

      - `JsonElement Type = "disabled"`

  - `BetaManagedAgentsMultiagentWorkflowsParams? Workflows`

    Whether the agent can start workflow runs. Defaults to enabled.

    - `class BetaManagedAgentsMultiagentWorkflowsEnabledParams`

      The agent can start workflow runs. Each run follows a plan, a program that the agent writes. A plan can use predefined agents, which are the saved agents in `predefined_agents`, and inline agents, which it defines itself and which are not saved. If `inline_agents` is disabled, `predefined_agents` must name at least one agent.

      - `JsonElement Type = "enabled"`

      - `BetaManagedAgentsMultiagentInlineAgentsParams? InlineAgents`

        Whether a run's plan can define inline agents. Defaults to enabled.

      - `IReadOnlyList<BetaManagedAgentsMultiagentPredefinedAgentParams>? PredefinedAgents`

        Predefined agents that a run's plan can use. At most 20. Defaults to null. Null and an empty list both mean no predefined agents. This list is separate from `subagents.predefined_agents`, and an agent in one list is not added to the other.

        - `string`

        - `class BetaManagedAgentsAgentParams`

          Specification for an Agent. Provide a specific `version` or use the short-form `agent="agent_id"` for the most recent version

        - `class BetaManagedAgentsMultiagentSelfParams`

          Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.

    - `class BetaManagedAgentsMultiagentWorkflowsDisabledParams`

      The agent cannot start workflow runs.

      - `JsonElement Type = "disabled"`

### Beta Managed Agents Read Tool Config

- `class BetaManagedAgentsReadToolConfig`

  Configuration for the read tool.

  - `JsonElement Type = "read"`

  - `required bool Enabled`

  - `JsonElement Name = "read"`

  - `required PermissionPolicy PermissionPolicy`

    Permission policy for tool execution.

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents Read Tool Config Params

- `class BetaManagedAgentsReadToolConfigParams`

  Configuration override for the read tool.

  - `Type Type`

  - `JsonElement Name = "read"`

    Must be "read".

  - `bool? Enabled`

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

  - `PermissionPolicy? PermissionPolicy`

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

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents Service Account Execution Identity

- `class BetaManagedAgentsServiceAccountExecutionIdentity`

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

  - `JsonElement Type = "service_account"`

### Beta Managed Agents Service Account Execution Identity Params

- `class BetaManagedAgentsServiceAccountExecutionIdentityParams`

  The Anthropic-managed service account — the default execution principal. Carries no identifier.

  - `JsonElement Type = "service_account"`

### Beta Managed Agents Session Thread Agent

- `class BetaManagedAgentsSessionThreadAgent`

  Resolved `agent` definition for a single `session_thread`. Snapshot of the agent at thread creation time. The multiagent roster is not repeated here; read it from `Session.agent`.

  - `JsonElement Type = "agent"`

  - `required string ID`

  - `required string? Description`

  - `required BetaManagedAgentsExecutionIdentity ExecutionIdentity`

    Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

    - `class BetaManagedAgentsAwsRoleExecutionIdentity`

      An AWS IAM role principal as returned in API responses.

      - `JsonElement Type = "aws_role"`

      - `required string RoleArn`

        The IAM role's ARN.

    - `class BetaManagedAgentsServiceAccountExecutionIdentity`

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

      - `JsonElement Type = "service_account"`

  - `required IReadOnlyList<BetaManagedAgentsMcpServerUrlDefinition> McpServers`

    - `JsonElement Type = "url"`

    - `required string Name`

    - `required string Url`

  - `required BetaManagedAgentsModelConfig Model`

    Model identifier and configuration.

    - `required BetaManagedAgentsModel ID`

      The model that will power your agent.

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

      - `ClaudeHaiku5_5("claude-haiku-5-5")`

        Fastest model for high-volume, real-time tasks

      - `ClaudeSonnet5_5("claude-sonnet-5-5")`

        Efficient model for coding and agents

      - `ClaudeOpus5_5("claude-opus-5-5")`

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

      - `ClaudeFable5_1("claude-fable-5-1")`

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

      - `ClaudeSonnet5("claude-sonnet-5")`

        Efficient model for coding and agents

      - `ClaudeFable5("claude-fable-5")`

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

      - `ClaudeOpus5("claude-opus-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_8("claude-opus-4-8")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_7("claude-opus-4-7")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_6("claude-opus-4-6")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_6("claude-sonnet-4-6")`

        Best combination of speed and intelligence

      - `ClaudeHaiku4_5("claude-haiku-4-5")`

      - `ClaudeHaiku4_5_20251001("claude-haiku-4-5-20251001")`

      - `ClaudeOpus4_5("claude-opus-4-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_5_20251101("claude-opus-4-5-20251101")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_5("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

      - `ClaudeSonnet4_5_20250929("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 Effort`

      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.

      - `class BetaManagedAgentsEffortLow`

        Low effort. Favors latency over reasoning depth.

        - `JsonElement Type = "low"`

      - `class BetaManagedAgentsEffortMedium`

        Medium effort. Balances latency and reasoning depth.

        - `JsonElement Type = "medium"`

      - `class BetaManagedAgentsEffortHigh`

        High effort. Favors reasoning depth.

        - `JsonElement Type = "high"`

      - `class BetaManagedAgentsEffortXhigh`

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

        - `JsonElement Type = "xhigh"`

      - `class BetaManagedAgentsEffortMax`

        Maximum effort. Favors reasoning depth over latency.

        - `JsonElement Type = "max"`

    - `string InferenceGeo`

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

    - `Speed Speed`

      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.

      - `Standard("standard")`

      - `Fast("fast")`

  - `required string Name`

  - `required IReadOnlyList<Skill> Skills`

    - `class BetaManagedAgentsAnthropicSkill`

      A resolved Anthropic-managed skill.

      - `JsonElement Type = "anthropic"`

      - `required string SkillID`

      - `required string Version`

    - `class BetaManagedAgentsCustomSkill`

      A resolved user-created custom skill.

      - `JsonElement Type = "custom"`

      - `required string SkillID`

      - `required string Version`

  - `required string? System`

  - `required IReadOnlyList<Tool> Tools`

    - `class BetaManagedAgentsAgentToolset20260401`

      - `JsonElement Type = "agent_toolset_20260401"`

      - `required IReadOnlyList<BetaManagedAgentsAgentToolConfig> Configs`

        - `class BetaManagedAgentsBashToolConfig`

          Configuration for the bash tool.

          - `JsonElement Type = "bash"`

          - `required bool Enabled`

          - `JsonElement Name = "bash"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

              - `JsonElement Type = "always_allow"`

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

              - `JsonElement Type = "always_ask"`

            - `class 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.

              - `JsonElement Type = "auto"`

        - `class BetaManagedAgentsEditToolConfig`

          Configuration for the edit tool.

          - `JsonElement Type = "edit"`

          - `required bool Enabled`

          - `JsonElement Name = "edit"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsReadToolConfig`

          Configuration for the read tool.

          - `JsonElement Type = "read"`

          - `required bool Enabled`

          - `JsonElement Name = "read"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWriteToolConfig`

          Configuration for the write tool.

          - `JsonElement Type = "write"`

          - `required bool Enabled`

          - `JsonElement Name = "write"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGlobToolConfig`

          Configuration for the glob tool.

          - `JsonElement Type = "glob"`

          - `required bool Enabled`

          - `JsonElement Name = "glob"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGrepToolConfig`

          Configuration for the grep tool.

          - `JsonElement Type = "grep"`

          - `required bool Enabled`

          - `JsonElement Name = "grep"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWebFetchToolConfig`

          Configuration for the web_fetch tool.

          - `JsonElement Type = "web_fetch"`

          - `required bool Enabled`

          - `JsonElement Name = "web_fetch"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `required BetaManagedAgentsWebFetchUrlSources? UrlSources`

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

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ClientToolResults`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

                - `JsonElement Type = "all"`

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

                - `JsonElement Type = "none"`

              - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

                - `JsonElement Type = "only"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

              - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

                - `JsonElement Type = "except"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ServerToolResults`

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

            - `required BetaManagedAgentsWebFetchUrlSourceUserInput? UserInput`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `int? MaxContentTokens`

            format: int32

        - `class BetaManagedAgentsWebSearchToolConfig`

          Configuration for the web_search tool.

          - `JsonElement Type = "web_search"`

          - `required bool Enabled`

          - `JsonElement Name = "web_search"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `BetaManagedAgentsUserLocation? UserLocation`

            Approximate user location for search result localization.

            - `JsonElement Type = "approximate"`

              Location precision. Only "approximate" is supported.

            - `string? City`

              City name.

              minLength: 1, maxLength: 255

            - `string? Country`

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

            - `string? Region`

              Region or state name.

              minLength: 1, maxLength: 255

            - `string? Timezone`

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

              minLength: 1, maxLength: 255

      - `required BetaManagedAgentsAgentToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for agent tools.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

    - `class BetaManagedAgentsMcpToolset`

      - `JsonElement Type = "mcp_toolset"`

      - `required IReadOnlyList<BetaManagedAgentsMcpToolConfig> Configs`

        - `required bool Enabled`

        - `required string Name`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required BetaManagedAgentsMcpToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for all tools from an MCP server.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required string McpServerName`

    - `class BetaManagedAgentsCustomTool`

      A custom tool as returned in API responses.

      - `JsonElement Type = "custom"`

      - `required string Description`

      - `required BetaManagedAgentsCustomToolInputSchema InputSchema`

        JSON Schema for custom tool input parameters.

        - `JsonElement Type = "object"`

        - `IReadOnlyDictionary<string, JsonElement>? Properties`

        - `IReadOnlyList<string>? Required`

      - `required string Name`

  - `required int Version`

    format: int32

### Beta Managed Agents Skill Params

- `class BetaManagedAgentsSkillParams: union`

  Skill to load in the session container.

  - `class BetaManagedAgentsAnthropicSkillParams`

    An Anthropic-managed skill.

    - `JsonElement Type = "anthropic"`

    - `required string SkillID`

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

      minLength: 1, maxLength: 64

    - `string? Version`

      Version to pin. Defaults to latest if omitted.

      minLength: 1, maxLength: 64

  - `class BetaManagedAgentsCustomSkillParams`

    A user-created custom skill.

    - `JsonElement Type = "custom"`

    - `required string SkillID`

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

      minLength: 1, maxLength: 64

    - `string? Version`

      Version to pin. Defaults to latest if omitted.

      minLength: 1, maxLength: 64

### Beta Managed Agents URL MCP Server Params

- `class BetaManagedAgentsUrlMcpServerParams`

  URL-based MCP server connection.

  - `JsonElement Type = "url"`

  - `required string Name`

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

    minLength: 1, maxLength: 255

  - `required string Url`

    Endpoint URL for the MCP server.

    maxLength: 2048

### Beta Managed Agents User Location

- `class BetaManagedAgentsUserLocation`

  Approximate user location for search result localization.

  - `JsonElement Type = "approximate"`

    Location precision. Only "approximate" is supported.

  - `string? City`

    City name.

    minLength: 1, maxLength: 255

  - `string? Country`

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

  - `string? Region`

    Region or state name.

    minLength: 1, maxLength: 255

  - `string? Timezone`

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

    minLength: 1, maxLength: 255

### Beta Managed Agents Web Fetch Tool Config

- `class BetaManagedAgentsWebFetchToolConfig`

  Configuration for the web_fetch tool.

  - `JsonElement Type = "web_fetch"`

  - `required bool Enabled`

  - `JsonElement Name = "web_fetch"`

  - `required PermissionPolicy PermissionPolicy`

    Permission policy for tool execution.

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

  - `required BetaManagedAgentsWebFetchUrlSources? UrlSources`

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

    - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ClientToolResults`

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

      - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

        - `JsonElement Type = "all"`

      - `class BetaManagedAgentsWebFetchUrlSourceNone`

        This source contributes no URLs that may be fetched.

        - `JsonElement Type = "none"`

      - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

        - `JsonElement Type = "only"`

        - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

          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.

          - `JsonElement Type = "tool_reference"`

            Must be "tool_reference".

          - `required string Name`

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

            minLength: 1, maxLength: 128

      - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

        - `JsonElement Type = "except"`

        - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

          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.

          - `JsonElement Type = "tool_reference"`

            Must be "tool_reference".

          - `required string Name`

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

            minLength: 1, maxLength: 128

    - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ServerToolResults`

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

    - `required BetaManagedAgentsWebFetchUrlSourceUserInput? UserInput`

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

      - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

      - `class BetaManagedAgentsWebFetchUrlSourceNone`

        This source contributes no URLs that may be fetched.

  - `IReadOnlyList<string> AllowedDomains`

  - `IReadOnlyList<string> BlockedDomains`

  - `int? MaxContentTokens`

    format: int32

### Beta Managed Agents Web Fetch Tool Config Params

- `class BetaManagedAgentsWebFetchToolConfigParams`

  Configuration override for the web_fetch tool.

  - `Type Type`

  - `JsonElement Name = "web_fetch"`

    Must be "web_fetch".

  - `IReadOnlyList<string> AllowedDomains`

    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.

  - `IReadOnlyList<string> BlockedDomains`

    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.

  - `bool? Enabled`

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

  - `int? MaxContentTokens`

    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? PermissionPolicy`

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

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

  - `BetaManagedAgentsWebFetchUrlSourcesParams? UrlSources`

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

    - `BetaManagedAgentsWebFetchUrlSourceToolFilterParams? ClientToolResults`

      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.

      - `enum BetaManagedAgentsWebFetchUrlSourceShorthand`

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

        - `All("all")`

        - `None("none")`

      - `class BetaManagedAgentsWebFetchUrlSourceToolFilter: union`

        Which tools' results contribute URLs that may be fetched.

        - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

          - `JsonElement Type = "all"`

        - `class BetaManagedAgentsWebFetchUrlSourceNone`

          This source contributes no URLs that may be fetched.

          - `JsonElement Type = "none"`

        - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

          - `JsonElement Type = "only"`

          - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

            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.

            - `JsonElement Type = "tool_reference"`

              Must be "tool_reference".

            - `required string Name`

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

              minLength: 1, maxLength: 128

        - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

          - `JsonElement Type = "except"`

          - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

            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.

            - `JsonElement Type = "tool_reference"`

              Must be "tool_reference".

            - `required string Name`

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

              minLength: 1, maxLength: 128

    - `BetaManagedAgentsWebFetchUrlSourceToolFilterParams? ServerToolResults`

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

    - `BetaManagedAgentsWebFetchUrlSourceUserInputParams? UserInput`

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

      - `enum BetaManagedAgentsWebFetchUrlSourceShorthand`

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

      - `class BetaManagedAgentsWebFetchUrlSourceUserInput: union`

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

        - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

        - `class BetaManagedAgentsWebFetchUrlSourceNone`

          This source contributes no URLs that may be fetched.

### Beta Managed Agents Web Fetch URL Source All

- `class BetaManagedAgentsWebFetchUrlSourceAll`

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

  - `JsonElement Type = "all"`

### Beta Managed Agents Web Fetch URL Source Except

- `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

  - `JsonElement Type = "except"`

  - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

    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.

    - `JsonElement Type = "tool_reference"`

      Must be "tool_reference".

    - `required string Name`

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

      minLength: 1, maxLength: 128

### Beta Managed Agents Web Fetch URL Source None

- `class BetaManagedAgentsWebFetchUrlSourceNone`

  This source contributes no URLs that may be fetched.

  - `JsonElement Type = "none"`

### Beta Managed Agents Web Fetch URL Source Only

- `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

  - `JsonElement Type = "only"`

  - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

    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.

    - `JsonElement Type = "tool_reference"`

      Must be "tool_reference".

    - `required string Name`

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

      minLength: 1, maxLength: 128

### Beta Managed Agents Web Fetch URL Source Shorthand

- `enum BetaManagedAgentsWebFetchUrlSourceShorthand`

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

  - `All("all")`

  - `None("none")`

### Beta Managed Agents Web Fetch URL Source Tool Filter

- `class BetaManagedAgentsWebFetchUrlSourceToolFilter: union`

  Which tools' results contribute URLs that may be fetched.

  - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

    - `JsonElement Type = "all"`

  - `class BetaManagedAgentsWebFetchUrlSourceNone`

    This source contributes no URLs that may be fetched.

    - `JsonElement Type = "none"`

  - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

    - `JsonElement Type = "only"`

    - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

      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.

      - `JsonElement Type = "tool_reference"`

        Must be "tool_reference".

      - `required string Name`

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

        minLength: 1, maxLength: 128

  - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

    - `JsonElement Type = "except"`

    - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

      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.

      - `JsonElement Type = "tool_reference"`

        Must be "tool_reference".

      - `required string Name`

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

        minLength: 1, maxLength: 128

### Beta Managed Agents Web Fetch URL Source Tool Filter Params

- `class BetaManagedAgentsWebFetchUrlSourceToolFilterParams: union`

  Which tools' results contribute URLs that may be fetched. Accepts the string "all" or "none", or an object whose type is "all", "none", "only" or "except". Responses use the object form.

  - `enum BetaManagedAgentsWebFetchUrlSourceShorthand`

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

    - `All("all")`

    - `None("none")`

  - `class BetaManagedAgentsWebFetchUrlSourceToolFilter: union`

    Which tools' results contribute URLs that may be fetched.

    - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

      - `JsonElement Type = "all"`

    - `class BetaManagedAgentsWebFetchUrlSourceNone`

      This source contributes no URLs that may be fetched.

      - `JsonElement Type = "none"`

    - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

      - `JsonElement Type = "only"`

      - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

        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.

        - `JsonElement Type = "tool_reference"`

          Must be "tool_reference".

        - `required string Name`

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

          minLength: 1, maxLength: 128

    - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

      - `JsonElement Type = "except"`

      - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

        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.

        - `JsonElement Type = "tool_reference"`

          Must be "tool_reference".

        - `required string Name`

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

          minLength: 1, maxLength: 128

### Beta Managed Agents Web Fetch URL Source Tool Reference

- `class BetaManagedAgentsWebFetchUrlSourceToolReference`

  Names one tool in an only or except list.

  - `JsonElement Type = "tool_reference"`

    Must be "tool_reference".

  - `required string Name`

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

    minLength: 1, maxLength: 128

### Beta Managed Agents Web Fetch URL Source User Input

- `class BetaManagedAgentsWebFetchUrlSourceUserInput: union`

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

  - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

    - `JsonElement Type = "all"`

  - `class BetaManagedAgentsWebFetchUrlSourceNone`

    This source contributes no URLs that may be fetched.

    - `JsonElement Type = "none"`

### Beta Managed Agents Web Fetch URL Source User Input Params

- `class BetaManagedAgentsWebFetchUrlSourceUserInputParams: union`

  Whether URLs in the text of user messages may be fetched. Accepts the string "all" or "none", or the object {"type": "all"} or {"type": "none"}. Responses use the object form.

  - `enum BetaManagedAgentsWebFetchUrlSourceShorthand`

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

    - `All("all")`

    - `None("none")`

  - `class BetaManagedAgentsWebFetchUrlSourceUserInput: union`

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

    - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

      - `JsonElement Type = "all"`

    - `class BetaManagedAgentsWebFetchUrlSourceNone`

      This source contributes no URLs that may be fetched.

      - `JsonElement Type = "none"`

### Beta Managed Agents Web Fetch URL Sources

- `class BetaManagedAgentsWebFetchUrlSources`

  Which sources contribute URLs the web_fetch tool may fetch. A key that is null was not set and allows every URL from that source.

  - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ClientToolResults`

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

    - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

      - `JsonElement Type = "all"`

    - `class BetaManagedAgentsWebFetchUrlSourceNone`

      This source contributes no URLs that may be fetched.

      - `JsonElement Type = "none"`

    - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

      - `JsonElement Type = "only"`

      - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

        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.

        - `JsonElement Type = "tool_reference"`

          Must be "tool_reference".

        - `required string Name`

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

          minLength: 1, maxLength: 128

    - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

      - `JsonElement Type = "except"`

      - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

        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.

        - `JsonElement Type = "tool_reference"`

          Must be "tool_reference".

        - `required string Name`

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

          minLength: 1, maxLength: 128

  - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ServerToolResults`

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

  - `required BetaManagedAgentsWebFetchUrlSourceUserInput? UserInput`

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

    - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

    - `class BetaManagedAgentsWebFetchUrlSourceNone`

      This source contributes no URLs that may be fetched.

### Beta Managed Agents Web Fetch URL Sources Params

- `class BetaManagedAgentsWebFetchUrlSourcesParams`

  Which sources contribute URLs the web_fetch tool may fetch. When web_fetch is limited to URLs the conversation has already shown the model (in a user message, a custom tool's result, or an earlier web_search or web_fetch result), each key narrows one of those sources and defaults to "all". Setting all three keys to "none" is rejected.

  - `BetaManagedAgentsWebFetchUrlSourceToolFilterParams? ClientToolResults`

    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.

    - `enum BetaManagedAgentsWebFetchUrlSourceShorthand`

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

      - `All("all")`

      - `None("none")`

    - `class BetaManagedAgentsWebFetchUrlSourceToolFilter: union`

      Which tools' results contribute URLs that may be fetched.

      - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

        - `JsonElement Type = "all"`

      - `class BetaManagedAgentsWebFetchUrlSourceNone`

        This source contributes no URLs that may be fetched.

        - `JsonElement Type = "none"`

      - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

        - `JsonElement Type = "only"`

        - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

          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.

          - `JsonElement Type = "tool_reference"`

            Must be "tool_reference".

          - `required string Name`

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

            minLength: 1, maxLength: 128

      - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

        - `JsonElement Type = "except"`

        - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

          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.

          - `JsonElement Type = "tool_reference"`

            Must be "tool_reference".

          - `required string Name`

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

            minLength: 1, maxLength: 128

  - `BetaManagedAgentsWebFetchUrlSourceToolFilterParams? ServerToolResults`

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

  - `BetaManagedAgentsWebFetchUrlSourceUserInputParams? UserInput`

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

    - `enum BetaManagedAgentsWebFetchUrlSourceShorthand`

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

    - `class BetaManagedAgentsWebFetchUrlSourceUserInput: union`

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

      - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

      - `class BetaManagedAgentsWebFetchUrlSourceNone`

        This source contributes no URLs that may be fetched.

### Beta Managed Agents Web Search Tool Config

- `class BetaManagedAgentsWebSearchToolConfig`

  Configuration for the web_search tool.

  - `JsonElement Type = "web_search"`

  - `required bool Enabled`

  - `JsonElement Name = "web_search"`

  - `required PermissionPolicy PermissionPolicy`

    Permission policy for tool execution.

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

  - `IReadOnlyList<string> AllowedDomains`

  - `IReadOnlyList<string> BlockedDomains`

  - `BetaManagedAgentsUserLocation? UserLocation`

    Approximate user location for search result localization.

    - `JsonElement Type = "approximate"`

      Location precision. Only "approximate" is supported.

    - `string? City`

      City name.

      minLength: 1, maxLength: 255

    - `string? Country`

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

    - `string? Region`

      Region or state name.

      minLength: 1, maxLength: 255

    - `string? Timezone`

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

      minLength: 1, maxLength: 255

### Beta Managed Agents Web Search Tool Config Params

- `class BetaManagedAgentsWebSearchToolConfigParams`

  Configuration override for the web_search tool.

  - `Type Type`

  - `JsonElement Name = "web_search"`

    Must be "web_search".

  - `IReadOnlyList<string> AllowedDomains`

    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.

  - `IReadOnlyList<string> BlockedDomains`

    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.

  - `bool? Enabled`

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

  - `PermissionPolicy? PermissionPolicy`

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

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

  - `BetaManagedAgentsUserLocation? UserLocation`

    Approximate user location for search result localization.

    - `JsonElement Type = "approximate"`

      Location precision. Only "approximate" is supported.

    - `string? City`

      City name.

      minLength: 1, maxLength: 255

    - `string? Country`

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

    - `string? Region`

      Region or state name.

      minLength: 1, maxLength: 255

    - `string? Timezone`

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

      minLength: 1, maxLength: 255

### Beta Managed Agents Write Tool Config

- `class BetaManagedAgentsWriteToolConfig`

  Configuration for the write tool.

  - `JsonElement Type = "write"`

  - `required bool Enabled`

  - `JsonElement Name = "write"`

  - `required PermissionPolicy PermissionPolicy`

    Permission policy for tool execution.

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

### Beta Managed Agents Write Tool Config Params

- `class BetaManagedAgentsWriteToolConfigParams`

  Configuration override for the write tool.

  - `Type Type`

  - `JsonElement Name = "write"`

    Must be "write".

  - `bool? Enabled`

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

  - `PermissionPolicy? PermissionPolicy`

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

    - `class BetaManagedAgentsAlwaysAllowPolicy`

      Tool calls are automatically approved without user confirmation.

      - `JsonElement Type = "always_allow"`

    - `class BetaManagedAgentsAlwaysAskPolicy`

      Tool calls require user confirmation before execution.

      - `JsonElement Type = "always_ask"`

    - `class 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.

      - `JsonElement Type = "auto"`

## Agents › Versions

### List Agent Versions

`VersionListPage Beta.Agents.Versions.List(parameters, cancellationToken = default)`

**GET** `/v1/agents/{agent_id}/versions`

List Agent Versions

#### Parameters

- `VersionListParams parameters`

  - `required string agentID` (path parameter)

    Agent ID to list versions for.

  - `int limit` (query parameter)

    Maximum results per page. Default 20, maximum 100.

    format: int32

  - `string page` (query parameter)

    Opaque pagination cursor.

  - `IReadOnlyList<AnthropicBeta> betas` (header parameter)

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

    - `MessageBatches2024_09_24("message-batches-2024-09-24")`

    - `PromptCaching2024_07_31("prompt-caching-2024-07-31")`

    - `ComputerUse2024_10_22("computer-use-2024-10-22")`

    - `ComputerUse2025_01_24("computer-use-2025-01-24")`

    - `Pdfs2024_09_25("pdfs-2024-09-25")`

    - `TokenCounting2024_11_01("token-counting-2024-11-01")`

    - `TokenEfficientTools2025_02_19("token-efficient-tools-2025-02-19")`

    - `Output128k2025_02_19("output-128k-2025-02-19")`

    - `FilesApi2025_04_14("files-api-2025-04-14")`

    - `McpClient2025_04_04("mcp-client-2025-04-04")`

    - `McpClient2025_11_20("mcp-client-2025-11-20")`

    - `DevFullThinking2025_05_14("dev-full-thinking-2025-05-14")`

    - `InterleavedThinking2025_05_14("interleaved-thinking-2025-05-14")`

    - `CodeExecution2025_05_22("code-execution-2025-05-22")`

    - `ExtendedCacheTtl2025_04_11("extended-cache-ttl-2025-04-11")`

    - `Context1m2025_08_07("context-1m-2025-08-07")`

    - `ContextManagement2025_06_27("context-management-2025-06-27")`

    - `ModelContextWindowExceeded2025_08_26("model-context-window-exceeded-2025-08-26")`

    - `Skills2025_10_02("skills-2025-10-02")`

    - `FastMode2026_02_01("fast-mode-2026-02-01")`

    - `Output300k2026_03_24("output-300k-2026-03-24")`

    - `UserProfiles2026_03_24("user-profiles-2026-03-24")`

    - `UserProfiles2026_08_18("user-profiles-2026-08-18")`

    - `UserProfiles2026_09_04("user-profiles-2026-09-04")`

    - `AdvisorTool2026_03_01("advisor-tool-2026-03-01")`

    - `ManagedAgents2026_04_01("managed-agents-2026-04-01")`

    - `CacheDiagnosis2026_04_07("cache-diagnosis-2026-04-07")`

    - `Dreaming2026_04_21("dreaming-2026-04-21")`

    - `ThinkingTokenCount2026_05_13("thinking-token-count-2026-05-13")`

    - `ServerSideFallback2026_06_01("server-side-fallback-2026-06-01")`

    - `ServerSideFallback2026_07_01("server-side-fallback-2026-07-01")`

    - `FallbackCredit2026_06_01("fallback-credit-2026-06-01")`

    - `FallbackCredit2026_07_01("fallback-credit-2026-07-01")`

    - `AgentMemory2026_07_22("agent-memory-2026-07-22")`

    - `MidConversationToolChanges2026_07_01("mid-conversation-tool-changes-2026-07-01")`

    - `Compact2026_01_12("compact-2026-01-12")`

    - `ComputerUse2025_11_24("computer-use-2025-11-24")`

    - `McpTunnels2026_06_22("mcp-tunnels-2026-06-22")`

    - `StructuredOutputs2025_11_13("structured-outputs-2025-11-13")`

    - `TaskBudgets2026_03_13("task-budgets-2026-03-13")`

    - `ThinkingDisplayUpdates2026_08_18("thinking-display-updates-2026-08-18")`

    - `CEUserManagement2026_07_13("ce-user-management-2026-07-13")`

    - `MidConversationOutputConfig2026_07_01("mid-conversation-output-config-2026-07-01")`

    - `ThinkingBindingControls2026_08_01("thinking-binding-controls-2026-08-01")`

    - `MidConversationSystemClearAt2026_08_21("mid-conversation-system-clear-at-2026-08-21")`

    - `Compact2026_09_04("compact-2026-09-04")`

    - `InlineTools2026_09_15("inline-tools-2026-09-15")`

    - `McpClient2026_09_15("mcp-client-2026-09-15")`

    - `CEPlugins2026_09_01("ce-plugins-2026-09-01")`

    - `SpendLimitReads2026_09_26("spend-limit-reads-2026-09-26")`

    - `TelemetryDestinations2026_08_11("telemetry-destinations-2026-08-11")`

    - `Webhooks2026_10_07("webhooks-2026-10-07")`

    - `MessageThreads2026_08_12("message-threads-2026-08-12")`

    - `AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")`

    - `ExperimentalClaudeTag2026_10_21("experimental-claude-tag-2026-10-21")`

  - `string workspaceID` (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

- `class BetaManagedAgentsAgent`

  A Managed Agents `agent`.

  - `JsonElement Type = "agent"`

  - `required string ID`

  - `required DateTimeOffset? ArchivedAt`

    When the agent was archived. Null if not archived.

    format: date-time

  - `required DateTimeOffset CreatedAt`

    A timestamp in RFC 3339 format

    format: date-time

  - `required string? Description`

  - `required BetaManagedAgentsExecutionIdentity ExecutionIdentity`

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

    - `class BetaManagedAgentsAwsRoleExecutionIdentity`

      An AWS IAM role principal as returned in API responses.

      - `JsonElement Type = "aws_role"`

      - `required string RoleArn`

        The IAM role's ARN.

    - `class BetaManagedAgentsServiceAccountExecutionIdentity`

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

      - `JsonElement Type = "service_account"`

  - `required IReadOnlyList<BetaManagedAgentsMcpServerUrlDefinition> McpServers`

    - `JsonElement Type = "url"`

    - `required string Name`

    - `required string Url`

  - `required IReadOnlyDictionary<string, string> Metadata`

  - `required BetaManagedAgentsModelConfig Model`

    Model identifier and configuration.

    - `required BetaManagedAgentsModel ID`

      The model that will power your agent.

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

      - `ClaudeHaiku5_5("claude-haiku-5-5")`

        Fastest model for high-volume, real-time tasks

      - `ClaudeSonnet5_5("claude-sonnet-5-5")`

        Efficient model for coding and agents

      - `ClaudeOpus5_5("claude-opus-5-5")`

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

      - `ClaudeFable5_1("claude-fable-5-1")`

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

      - `ClaudeSonnet5("claude-sonnet-5")`

        Efficient model for coding and agents

      - `ClaudeFable5("claude-fable-5")`

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

      - `ClaudeOpus5("claude-opus-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_8("claude-opus-4-8")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_7("claude-opus-4-7")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_6("claude-opus-4-6")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_6("claude-sonnet-4-6")`

        Best combination of speed and intelligence

      - `ClaudeHaiku4_5("claude-haiku-4-5")`

      - `ClaudeHaiku4_5_20251001("claude-haiku-4-5-20251001")`

      - `ClaudeOpus4_5("claude-opus-4-5")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeOpus4_5_20251101("claude-opus-4-5-20251101")`

        Powerful intelligence for long-running agents and coding

      - `ClaudeSonnet4_5("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

      - `ClaudeSonnet4_5_20250929("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 Effort`

      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.

      - `class BetaManagedAgentsEffortLow`

        Low effort. Favors latency over reasoning depth.

        - `JsonElement Type = "low"`

      - `class BetaManagedAgentsEffortMedium`

        Medium effort. Balances latency and reasoning depth.

        - `JsonElement Type = "medium"`

      - `class BetaManagedAgentsEffortHigh`

        High effort. Favors reasoning depth.

        - `JsonElement Type = "high"`

      - `class BetaManagedAgentsEffortXhigh`

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

        - `JsonElement Type = "xhigh"`

      - `class BetaManagedAgentsEffortMax`

        Maximum effort. Favors reasoning depth over latency.

        - `JsonElement Type = "max"`

    - `string InferenceGeo`

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

    - `Speed Speed`

      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.

      - `Standard("standard")`

      - `Fast("fast")`

  - `required BetaManagedAgentsMultiagent? Multiagent`

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

    - `class BetaManagedAgentsMultiagentCoordinator`

      Resolved coordinator topology with a concrete agent roster.

      - `JsonElement Type = "coordinator"`

      - `required IReadOnlyList<Agent> Agents`

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

        - `class BetaManagedAgentsAgentReference`

          A resolved agent reference with a concrete version.

          - `JsonElement Type = "agent"`

          - `required string ID`

          - `required int Version`

            format: int32

        - `class BetaManagedAgentsAdvisor`

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

          - `JsonElement Type = "advisor"`

          - `required string Model`

            The advisor model id.

    - `class BetaManagedAgentsMultiagent20261001`

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

      - `JsonElement Type = "multiagent_20261001"`

      - `required BetaManagedAgentsMultiagentAdvisor Advisor`

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

        - `class BetaManagedAgentsMultiagentAdvisorEnabled`

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

          - `JsonElement Type = "enabled"`

          - `required string Model`

            The advisor model id.

        - `class BetaManagedAgentsMultiagentAdvisorDisabled`

          The agent has no advisor.

          - `JsonElement Type = "disabled"`

      - `required BetaManagedAgentsMultiagentSubagents Subagents`

        Whether the agent can spawn session threads.

        - `class BetaManagedAgentsMultiagentSubagentsEnabled`

          The agent can spawn session threads.

          - `JsonElement Type = "enabled"`

          - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

            - `class BetaManagedAgentsMultiagentInlineAgentsEnabled`

              The agent can define inline agents.

              - `JsonElement Type = "enabled"`

            - `class BetaManagedAgentsMultiagentInlineAgentsDisabled`

              The agent cannot define inline agents.

              - `JsonElement Type = "disabled"`

          - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

            - `JsonElement Type = "agent"`

            - `required string ID`

            - `required int Version`

              format: int32

        - `class BetaManagedAgentsMultiagentSubagentsDisabled`

          The agent cannot spawn session threads.

          - `JsonElement Type = "disabled"`

      - `required BetaManagedAgentsMultiagentWorkflows Workflows`

        Whether the agent can start workflow runs.

        - `class BetaManagedAgentsMultiagentWorkflowsEnabled`

          The agent can start workflow runs.

          - `JsonElement Type = "enabled"`

          - `required BetaManagedAgentsMultiagentInlineAgents InlineAgents`

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

          - `required IReadOnlyList<BetaManagedAgentsAgentReference> PredefinedAgents`

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

            - `JsonElement Type = "agent"`

            - `required string ID`

            - `required int Version`

              format: int32

        - `class BetaManagedAgentsMultiagentWorkflowsDisabled`

          The agent cannot start workflow runs.

          - `JsonElement Type = "disabled"`

  - `required string Name`

  - `required IReadOnlyList<Skill> Skills`

    - `class BetaManagedAgentsAnthropicSkill`

      A resolved Anthropic-managed skill.

      - `JsonElement Type = "anthropic"`

      - `required string SkillID`

      - `required string Version`

    - `class BetaManagedAgentsCustomSkill`

      A resolved user-created custom skill.

      - `JsonElement Type = "custom"`

      - `required string SkillID`

      - `required string Version`

  - `required string? System`

  - `required IReadOnlyList<Tool> Tools`

    - `class BetaManagedAgentsAgentToolset20260401`

      - `JsonElement Type = "agent_toolset_20260401"`

      - `required IReadOnlyList<BetaManagedAgentsAgentToolConfig> Configs`

        - `class BetaManagedAgentsBashToolConfig`

          Configuration for the bash tool.

          - `JsonElement Type = "bash"`

          - `required bool Enabled`

          - `JsonElement Name = "bash"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

              - `JsonElement Type = "always_allow"`

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

              - `JsonElement Type = "always_ask"`

            - `class 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.

              - `JsonElement Type = "auto"`

        - `class BetaManagedAgentsEditToolConfig`

          Configuration for the edit tool.

          - `JsonElement Type = "edit"`

          - `required bool Enabled`

          - `JsonElement Name = "edit"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsReadToolConfig`

          Configuration for the read tool.

          - `JsonElement Type = "read"`

          - `required bool Enabled`

          - `JsonElement Name = "read"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWriteToolConfig`

          Configuration for the write tool.

          - `JsonElement Type = "write"`

          - `required bool Enabled`

          - `JsonElement Name = "write"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGlobToolConfig`

          Configuration for the glob tool.

          - `JsonElement Type = "glob"`

          - `required bool Enabled`

          - `JsonElement Name = "glob"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsGrepToolConfig`

          Configuration for the grep tool.

          - `JsonElement Type = "grep"`

          - `required bool Enabled`

          - `JsonElement Name = "grep"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

        - `class BetaManagedAgentsWebFetchToolConfig`

          Configuration for the web_fetch tool.

          - `JsonElement Type = "web_fetch"`

          - `required bool Enabled`

          - `JsonElement Name = "web_fetch"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `required BetaManagedAgentsWebFetchUrlSources? UrlSources`

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

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ClientToolResults`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

                - `JsonElement Type = "all"`

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

                - `JsonElement Type = "none"`

              - `class BetaManagedAgentsWebFetchUrlSourceOnly`

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

                - `JsonElement Type = "only"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

              - `class BetaManagedAgentsWebFetchUrlSourceExcept`

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

                - `JsonElement Type = "except"`

                - `required IReadOnlyList<BetaManagedAgentsWebFetchUrlSourceToolReference> Tools`

                  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.

                  - `JsonElement Type = "tool_reference"`

                    Must be "tool_reference".

                  - `required string Name`

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

                    minLength: 1, maxLength: 128

            - `required BetaManagedAgentsWebFetchUrlSourceToolFilter? ServerToolResults`

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

            - `required BetaManagedAgentsWebFetchUrlSourceUserInput? UserInput`

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

              - `class BetaManagedAgentsWebFetchUrlSourceAll`

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

              - `class BetaManagedAgentsWebFetchUrlSourceNone`

                This source contributes no URLs that may be fetched.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `int? MaxContentTokens`

            format: int32

        - `class BetaManagedAgentsWebSearchToolConfig`

          Configuration for the web_search tool.

          - `JsonElement Type = "web_search"`

          - `required bool Enabled`

          - `JsonElement Name = "web_search"`

          - `required PermissionPolicy PermissionPolicy`

            Permission policy for tool execution.

            - `class BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `class BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `class 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.

          - `IReadOnlyList<string> AllowedDomains`

          - `IReadOnlyList<string> BlockedDomains`

          - `BetaManagedAgentsUserLocation? UserLocation`

            Approximate user location for search result localization.

            - `JsonElement Type = "approximate"`

              Location precision. Only "approximate" is supported.

            - `string? City`

              City name.

              minLength: 1, maxLength: 255

            - `string? Country`

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

            - `string? Region`

              Region or state name.

              minLength: 1, maxLength: 255

            - `string? Timezone`

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

              minLength: 1, maxLength: 255

      - `required BetaManagedAgentsAgentToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for agent tools.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

    - `class BetaManagedAgentsMcpToolset`

      - `JsonElement Type = "mcp_toolset"`

      - `required IReadOnlyList<BetaManagedAgentsMcpToolConfig> Configs`

        - `required bool Enabled`

        - `required string Name`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required BetaManagedAgentsMcpToolsetDefaultConfig DefaultConfig`

        Resolved default configuration for all tools from an MCP server.

        - `required bool Enabled`

        - `required PermissionPolicy PermissionPolicy`

          Permission policy for tool execution.

          - `class BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `class BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `class 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.

      - `required string McpServerName`

    - `class BetaManagedAgentsCustomTool`

      A custom tool as returned in API responses.

      - `JsonElement Type = "custom"`

      - `required string Description`

      - `required BetaManagedAgentsCustomToolInputSchema InputSchema`

        JSON Schema for custom tool input parameters.

        - `JsonElement Type = "object"`

        - `IReadOnlyDictionary<string, JsonElement>? Properties`

        - `IReadOnlyList<string>? Required`

      - `required string Name`

  - `required DateTimeOffset UpdatedAt`

    A timestamp in RFC 3339 format

    format: date-time

  - `required int Version`

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

    format: int32

#### Example

```csharp
using System;
using Anthropic.Models.Beta.Agents.Versions;

VersionListParams parameters = new()
{
    AgentID = "agent_011CZkYpogX7uDKUyvBTophP"
};

var page = await client.Beta.Agents.Versions.List(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
```

##### Response (200)

```json
{
  "data": [
    {
      "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
    }
  ],
  "next_page": "next_page"
}
```
