---
title: Sessions
url: https://platform.claude.com/docs/en/api/go/beta/sessions
---

# Sessions

## Create Session

`client.Beta.Sessions.New(ctx, params) (*BetaManagedAgentsSession, error)`

**POST** `/v1/sessions`

Create Session

### Parameters

- `params BetaSessionNewParams`

  - `Agent BetaSessionNewParamsAgentUnion`

    Agent identifier. Accepts the `agent` ID string, which pins the latest version for the session, or an `agent` object with both id and version specified.

    - `string`

    - `type BetaManagedAgentsAgentParams`

      Specification for an Agent. Provide a specific `version` or use the short-form `agent="agent_id"` for the most recent version

      - `Type BetaManagedAgentsAgentParamsType`

      - `ID string`

        The `agent` ID.

        minLength: 1, maxLength: 128

      - `Version int64 Optional`

        The specific `agent` version to use. Omit to use the latest version. Must be at least 1 if specified.

        format: int32

    - `type BetaManagedAgentsAgentWithOverridesParams`

      Reference to an `agent` plus optional configuration overrides. Each provided field replaces the agent's value for the caller's use; the agent resource is unchanged.

      - `Type BetaManagedAgentsAgentWithOverridesParamsType`

      - `ID string`

        The `agent` ID.

        minLength: 1, maxLength: 128

      - `MCPServers []BetaManagedAgentsURLMCPServerParams Optional`

        Replacement MCP server list. Full replacement: the provided array becomes the MCP servers. Send an empty array to clear; omit to preserve the agent's servers.

        - `Type BetaManagedAgentsURLMCPServerParamsType`

        - `Name string`

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

          minLength: 1, maxLength: 255

        - `URL string`

          Endpoint URL for the MCP server.

          maxLength: 2048

      - `Model BetaManagedAgentsModelConfigParams Optional`

        Replacement model. Accepts the model string, e.g. `claude-opus-5-5`, or a `model_config` object. Omit to use the agent's model.

        - `type BetaManagedAgentsModelConfigParams`

          An object that defines additional configuration control over model use

          - `ID BetaManagedAgentsModel`

            The model that will power your agent.

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

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

              Fastest model for high-volume, real-time tasks

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

              Efficient model for coding and agents

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

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

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

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

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

              Efficient model for coding and agents

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

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

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

              Powerful intelligence for long-running agents and coding

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

              Powerful intelligence for long-running agents and coding

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

              Powerful intelligence for long-running agents and coding

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

              Powerful intelligence for long-running agents and coding

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

              Best combination of speed and intelligence

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

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

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

              Powerful intelligence for long-running agents and coding

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

              Powerful intelligence for long-running agents and coding

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

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

              High-performance model for agents and coding

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

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

              High-performance model for agents and coding

          - `Effort BetaManagedAgentsModelConfigParamsEffortUnion Optional`

            How hard Claude works on each inference call. Accepts a bare level string (`"high"`) or `{"type": "high"}`. On create, omitting it resolves the per-model default; on update, omitting it leaves the stored value unchanged.

            - `type BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel string`

              How hard Claude works on each turn. Higher levels favor reasoning depth over latency. Not all models accept every level; invalid combinations are rejected at create time.

              - `const BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevelLow BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel = "low"`

                Low effort. Favors latency over reasoning depth.

              - `const BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevelMedium BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel = "medium"`

                Medium effort. Balances latency and reasoning depth.

              - `const BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevelHigh BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel = "high"`

                High effort. Favors reasoning depth.

              - `const BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevelXhigh BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel = "xhigh"`

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

              - `const BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevelMax BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel = "max"`

                Maximum effort. Favors reasoning depth over latency.

            - `type BetaManagedAgentsEffortLow`

              Low effort. Favors latency over reasoning depth.

              - `Type BetaManagedAgentsEffortLowType`

            - `type BetaManagedAgentsEffortMedium`

              Medium effort. Balances latency and reasoning depth.

              - `Type BetaManagedAgentsEffortMediumType`

            - `type BetaManagedAgentsEffortHigh`

              High effort. Favors reasoning depth.

              - `Type BetaManagedAgentsEffortHighType`

            - `type BetaManagedAgentsEffortXhigh`

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

              - `Type BetaManagedAgentsEffortXhighType`

            - `type BetaManagedAgentsEffortMax`

              Maximum effort. Favors reasoning depth over latency.

              - `Type BetaManagedAgentsEffortMaxType`

          - `InferenceGeo string Optional`

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

          - `Speed BetaManagedAgentsModelConfigParamsSpeed Optional`

            Inference speed mode. Defaults to `standard`.

            - `const BetaManagedAgentsModelConfigParamsSpeedStandard BetaManagedAgentsModelConfigParamsSpeed = "standard"`

            - `const BetaManagedAgentsModelConfigParamsSpeedFast BetaManagedAgentsModelConfigParamsSpeed = "fast"`

      - `Skills []BetaManagedAgentsSkillParamsUnion Optional`

        Replacement skill list. Full replacement: the provided array becomes the skills. Send an empty array to clear; omit to preserve the agent's skills.

        - `type BetaManagedAgentsAnthropicSkillParams`

          An Anthropic-managed skill.

          - `Type BetaManagedAgentsAnthropicSkillParamsType`

          - `SkillID string`

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

            minLength: 1, maxLength: 64

          - `Version string Optional`

            Version to pin. Defaults to latest if omitted.

            minLength: 1, maxLength: 64

        - `type BetaManagedAgentsCustomSkillParams`

          A user-created custom skill.

          - `Type BetaManagedAgentsCustomSkillParamsType`

          - `SkillID string`

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

            minLength: 1, maxLength: 64

          - `Version string Optional`

            Version to pin. Defaults to latest if omitted.

            minLength: 1, maxLength: 64

      - `System string Optional`

        Replacement system prompt. Up to 100,000 characters. Set to null to clear the agent's system prompt; omit to preserve it.

        maxLength: 100000

      - `Tools []BetaManagedAgentsAgentWithOverridesParamsToolUnion Optional`

        Replacement tool list. Full replacement: the provided array becomes the tool configuration. Send an empty array to clear; omit to preserve the agent's tools.

        - `type BetaManagedAgentsAgentToolset20260401Params`

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

          - `Type BetaManagedAgentsAgentToolset20260401ParamsType`

          - `Configs []BetaManagedAgentsAgentToolConfigParamsUnion Optional`

            Per-tool configuration overrides.

            - `type BetaManagedAgentsBashToolConfigParams`

              Configuration override for the bash tool.

              - `Type BetaManagedAgentsBashToolConfigParamsType Optional`

              - `Name Bash`

                Must be "bash".

              - `Enabled bool Optional`

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

              - `PermissionPolicy BetaManagedAgentsBashToolConfigParamsPermissionPolicyUnion Optional`

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

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                  - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                  - `Type BetaManagedAgentsAlwaysAskPolicyType`

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `Type Auto`

            - `type BetaManagedAgentsEditToolConfigParams`

              Configuration override for the edit tool.

              - `Type BetaManagedAgentsEditToolConfigParamsType Optional`

              - `Name Edit`

                Must be "edit".

              - `Enabled bool Optional`

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

              - `PermissionPolicy BetaManagedAgentsEditToolConfigParamsPermissionPolicyUnion Optional`

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

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsReadToolConfigParams`

              Configuration override for the read tool.

              - `Type BetaManagedAgentsReadToolConfigParamsType Optional`

              - `Name Read`

                Must be "read".

              - `Enabled bool Optional`

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

              - `PermissionPolicy BetaManagedAgentsReadToolConfigParamsPermissionPolicyUnion Optional`

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

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsWriteToolConfigParams`

              Configuration override for the write tool.

              - `Type BetaManagedAgentsWriteToolConfigParamsType Optional`

              - `Name Write`

                Must be "write".

              - `Enabled bool Optional`

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

              - `PermissionPolicy BetaManagedAgentsWriteToolConfigParamsPermissionPolicyUnion Optional`

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

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsGlobToolConfigParams`

              Configuration override for the glob tool.

              - `Type BetaManagedAgentsGlobToolConfigParamsType Optional`

              - `Name Glob`

                Must be "glob".

              - `Enabled bool Optional`

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

              - `PermissionPolicy BetaManagedAgentsGlobToolConfigParamsPermissionPolicyUnion Optional`

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

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsGrepToolConfigParams`

              Configuration override for the grep tool.

              - `Type BetaManagedAgentsGrepToolConfigParamsType Optional`

              - `Name Grep`

                Must be "grep".

              - `Enabled bool Optional`

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

              - `PermissionPolicy BetaManagedAgentsGrepToolConfigParamsPermissionPolicyUnion Optional`

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

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsWebFetchToolConfigParams`

              Configuration override for the web_fetch tool.

              - `Type BetaManagedAgentsWebFetchToolConfigParamsType Optional`

              - `Name WebFetch`

                Must be "web_fetch".

              - `AllowedDomains []string Optional`

                Only fetch URLs whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "docs.example.com" (no scheme, port, or path). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with blocked_domains.

              - `BlockedDomains []string Optional`

                Never fetch URLs whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "ads.example.com" (no scheme, port, or path). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with allowed_domains.

              - `Enabled bool Optional`

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

              - `MaxContentTokens int64 Optional`

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

                format: int32

              - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigParamsPermissionPolicyUnion Optional`

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

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `URLSources BetaManagedAgentsWebFetchURLSourcesParams Optional`

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

                - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterParamsUnion Optional`

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

                  - `type BetaManagedAgentsWebFetchURLSourceShorthand string`

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

                    - `const BetaManagedAgentsWebFetchURLSourceShorthandAll BetaManagedAgentsWebFetchURLSourceShorthand = "all"`

                    - `const BetaManagedAgentsWebFetchURLSourceShorthandNone BetaManagedAgentsWebFetchURLSourceShorthand = "none"`

                  - `type BetaManagedAgentsWebFetchURLSourceToolFilterUnion interface{…}`

                    Which tools' results contribute URLs that may be fetched.

                    - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                      - `Type All`

                    - `type BetaManagedAgentsWebFetchURLSourceNone`

                      This source contributes no URLs that may be fetched.

                      - `Type None`

                    - `type BetaManagedAgentsWebFetchURLSourceOnly`

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

                      - `Type Only`

                      - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                        - `Type ToolReference`

                          Must be "tool_reference".

                        - `Name string`

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

                          minLength: 1, maxLength: 128

                    - `type BetaManagedAgentsWebFetchURLSourceExcept`

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

                      - `Type Except`

                      - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                        - `Type ToolReference`

                          Must be "tool_reference".

                        - `Name string`

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

                          minLength: 1, maxLength: 128

                - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterParamsUnion Optional`

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

                - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputParamsUnion Optional`

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

                  - `type BetaManagedAgentsWebFetchURLSourceShorthand string`

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

                  - `type BetaManagedAgentsWebFetchURLSourceUserInputUnion interface{…}`

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

                    - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                    - `type BetaManagedAgentsWebFetchURLSourceNone`

                      This source contributes no URLs that may be fetched.

            - `type BetaManagedAgentsWebSearchToolConfigParams`

              Configuration override for the web_search tool.

              - `Type BetaManagedAgentsWebSearchToolConfigParamsType Optional`

              - `Name WebSearch`

                Must be "web_search".

              - `AllowedDomains []string Optional`

                Only return search results whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "docs.example.com" (no scheme or port; an optional path suffix is accepted). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with blocked_domains.

              - `BlockedDomains []string Optional`

                Never return search results whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "ads.example.com" (no scheme or port; an optional path suffix is accepted). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with allowed_domains.

              - `Enabled bool Optional`

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

              - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigParamsPermissionPolicyUnion Optional`

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

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `UserLocation BetaManagedAgentsUserLocationParam Optional`

                Approximate user location for search result localization.

                - `Type Approximate`

                  Location precision. Only "approximate" is supported.

                - `City string Optional`

                  City name.

                  minLength: 1, maxLength: 255

                - `Country string Optional`

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

                - `Region string Optional`

                  Region or state name.

                  minLength: 1, maxLength: 255

                - `Timezone string Optional`

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

                  minLength: 1, maxLength: 255

          - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfigParams Optional`

            Default configuration applied to all tools in this set.

            - `Enabled bool Optional`

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

            - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigParamsPermissionPolicyUnion Optional`

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

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsMCPToolsetParams`

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

          - `Type BetaManagedAgentsMCPToolsetParamsType`

          - `MCPServerName string`

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

            minLength: 1, maxLength: 255

          - `Configs []BetaManagedAgentsMCPToolConfigParams Optional`

            Per-tool configuration overrides.

            - `Name string`

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

              minLength: 1, maxLength: 128

            - `Enabled bool Optional`

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

            - `PermissionPolicy BetaManagedAgentsMCPToolConfigParamsPermissionPolicyUnion Optional`

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

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfigParams Optional`

            Default configuration for all tools from this server.

            - `Enabled bool Optional`

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

            - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigParamsPermissionPolicyUnion Optional`

              Default permission policy for tools from this server.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsCustomToolParams`

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

          - `Type BetaManagedAgentsCustomToolParamsType`

          - `Description string`

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

            minLength: 1

          - `InputSchema BetaManagedAgentsCustomToolInputSchemaParam`

            JSON Schema defining the expected input parameters for the tool.

            - `Type Object`

            - `Properties map[string, any] Optional`

            - `Required []string Optional`

          - `Name string`

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

            minLength: 1, maxLength: 128

      - `Version int64 Optional`

        The specific `agent` version to use. Omit to use the latest version.

        format: int32

  - `EnvironmentID string`

    ID of the `environment` defining the container configuration for this session.

    minLength: 1, maxLength: 128

  - `Budget BetaManagedAgentsBudgetLimitParam Optional`

    Enforced spend ceiling for the session. Omit to create an uncapped session. Every model the session can run — the agent's model and each callable agent's model — must have a public list price, or the request is rejected with reason `model_not_budgetable`.

  - `InitialEvents []BetaSessionNewParamsInitialEventUnion Optional`

    Initial events to send to the `session` at creation, processed in order. Supports `user.message` and `user.define_outcome` events. Maximum 50 events.

    - `type BetaManagedAgentsUserMessageEventParams`

      Parameters for sending a user message to the session.

      - `Type BetaManagedAgentsUserMessageEventParamsType`

      - `Content []BetaManagedAgentsUserMessageEventParamsContentUnion`

        Array of content blocks for the user message.

        - `type BetaManagedAgentsTextBlock`

          Regular text content.

          - `Type BetaManagedAgentsTextBlockType`

          - `Text string`

            The text content.

            minLength: 1

        - `type BetaManagedAgentsImageBlock`

          Image content specified directly as base64 data or as a reference via a URL.

          - `Type BetaManagedAgentsImageBlockType`

          - `Source BetaManagedAgentsImageBlockSourceUnion`

            The source of the image data.

            - `type BetaManagedAgentsBase64ImageSource`

              Base64-encoded image data.

              - `Type BetaManagedAgentsBase64ImageSourceType`

              - `Data string`

                Base64-encoded image data.

                minLength: 1

              - `MediaType string`

                MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

                minLength: 1

            - `type BetaManagedAgentsURLImageSource`

              Image referenced by URL.

              - `Type BetaManagedAgentsURLImageSourceType`

              - `URL string`

                URL of the image to fetch.

                minLength: 1

            - `type BetaManagedAgentsFileImageSource`

              Image referenced by file ID.

              - `Type BetaManagedAgentsFileImageSourceType`

              - `FileID string`

                ID of a previously uploaded file.

                minLength: 1

        - `type BetaManagedAgentsDocumentBlock`

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          - `Type BetaManagedAgentsDocumentBlockType`

          - `Source BetaManagedAgentsDocumentBlockSourceUnion`

            The source of the document data.

            - `type BetaManagedAgentsBase64DocumentSource`

              Base64-encoded document data.

              - `Type BetaManagedAgentsBase64DocumentSourceType`

              - `Data string`

                Base64-encoded document data.

                minLength: 1

              - `MediaType string`

                MIME type of the document (e.g., "application/pdf").

                minLength: 1

            - `type BetaManagedAgentsPlainTextDocumentSource`

              Plain text document content.

              - `Type BetaManagedAgentsPlainTextDocumentSourceType`

              - `Data string`

                The plain text content.

                minLength: 1

              - `MediaType BetaManagedAgentsPlainTextDocumentSourceMediaType`

                MIME type of the text content. Must be "text/plain".

            - `type BetaManagedAgentsURLDocumentSource`

              Document referenced by URL.

              - `Type BetaManagedAgentsURLDocumentSourceType`

              - `URL string`

                URL of the document to fetch.

                minLength: 1

            - `type BetaManagedAgentsFileDocumentSource`

              Document referenced by file ID.

              - `Type BetaManagedAgentsFileDocumentSourceType`

              - `FileID string`

                ID of a previously uploaded file.

                minLength: 1

          - `Context string Optional`

            Additional context about the document for the model.

          - `Title string Optional`

            The title of the document.

        - `type BetaManagedAgentsRedactedBlock`

          Placeholder for content withheld by Anthropic model policy.

          - `Type BetaManagedAgentsRedactedBlockType`

    - `type BetaManagedAgentsUserDefineOutcomeEventParams`

      Parameters for defining an outcome the agent should work toward. The agent begins work on receipt.

      - `Type BetaManagedAgentsUserDefineOutcomeEventParamsType`

      - `Description string`

        What the agent should produce. This is the task specification.

      - `Rubric BetaManagedAgentsUserDefineOutcomeEventParamsRubricUnion`

        How to grade the outcome. Text or file reference.

        - `type BetaManagedAgentsFileRubricParams`

          Rubric referenced by a file uploaded via the Files API.

          - `Type BetaManagedAgentsFileRubricParamsType`

          - `FileID string`

            ID of the rubric file.

        - `type BetaManagedAgentsTextRubricParams`

          Rubric content provided inline as text.

          - `Type BetaManagedAgentsTextRubricParamsType`

          - `Content string`

            Rubric content. Plain text or markdown — the grader treats it as freeform text. Maximum 262144 characters.

            maxLength: 262144

      - `MaxIterations int64 Optional`

        Eval→revision cycles before giving up. Default 3, max 20.

        format: int32

  - `Metadata map[string, string] Optional`

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

  - `Resources []BetaSessionNewParamsResourceUnion Optional`

    Resources (e.g. repositories, files) to mount into the session's container.

    - `type BetaManagedAgentsGitHubRepositoryResourceParams`

      Mount a GitHub repository into the session's container.

      - `Type BetaManagedAgentsGitHubRepositoryResourceParamsType`

      - `URL string`

        Github URL of the repository

        minLength: 1, maxLength: 2048

      - `AuthorizationToken string Optional`

        GitHub authorization token used to clone the repository. Required for private repositories; optional for public ones.

        minLength: 1, maxLength: 4096

      - `Checkout BetaManagedAgentsGitHubRepositoryResourceParamsCheckoutUnion Optional`

        Branch or commit to check out. Defaults to the repository's default branch.

        - `type BetaManagedAgentsBranchCheckout`

          - `Type BetaManagedAgentsBranchCheckoutType`

          - `Name string`

            Branch name to check out.

            minLength: 1, maxLength: 255

        - `type BetaManagedAgentsCommitCheckout`

          - `Type BetaManagedAgentsCommitCheckoutType`

          - `Sha string`

            Full commit SHA to check out.

            minLength: 7, maxLength: 64

      - `MountPath string Optional`

        Mount path in the container. Defaults to `/workspace/<repo-name>`.

        minLength: 1, maxLength: 4096

    - `type BetaManagedAgentsFileResourceParams`

      Mount a file uploaded via the Files API into the session.

      - `Type BetaManagedAgentsFileResourceParamsType`

      - `FileID string`

        ID of a previously uploaded file.

        minLength: 1, maxLength: 128

      - `MountPath string Optional`

        Mount path in the container. Defaults to `/mnt/session/uploads/<file_id>`.

        minLength: 1, maxLength: 4096

    - `type BetaManagedAgentsMemoryStoreResourceParam`

      Parameters for attaching a memory store to an agent session.

      - `Type BetaManagedAgentsMemoryStoreResourceParamType`

      - `MemoryStoreID string`

        The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

      - `Access BetaManagedAgentsMemoryStoreResourceParamAccess Optional`

        Access mode for the mounted store. Defaults to read_write. read_only mounts the store as a read-only filesystem.

        - `const BetaManagedAgentsMemoryStoreResourceParamAccessReadWrite BetaManagedAgentsMemoryStoreResourceParamAccess = "read_write"`

        - `const BetaManagedAgentsMemoryStoreResourceParamAccessReadOnly BetaManagedAgentsMemoryStoreResourceParamAccess = "read_only"`

      - `Instructions string Optional`

        Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

        maxLength: 4096

  - `Title param.Opt[string] Optional`

    Human-readable session title.

    maxLength: 500

  - `VaultIDs []string Optional`

    Vault IDs for stored credentials the agent can use during the session.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### Returns

- `type BetaManagedAgentsSession`

  A Managed Agents `session`.

  - `Type BetaManagedAgentsSessionType`

  - `ID string`

  - `Agent BetaManagedAgentsSessionAgent`

    Resolved `agent` definition for a `session`. Snapshot of the `agent` at `session` creation time.

    - `Type BetaManagedAgentsSessionAgentType`

    - `ID string`

    - `Description string`

    - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

      Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

      - `type BetaManagedAgentsAWSRoleExecutionIdentity`

        An AWS IAM role principal as returned in API responses.

        - `Type AWSRole`

        - `RoleARN string`

          The IAM role's ARN.

      - `type BetaManagedAgentsServiceAccountExecutionIdentity`

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

        - `Type ServiceAccount`

    - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

      - `Type BetaManagedAgentsMCPServerURLDefinitionType`

      - `Name string`

      - `URL string`

    - `Model BetaManagedAgentsModelConfig`

      Model identifier and configuration.

      - `ID BetaManagedAgentsModel`

        The model that will power your agent.

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

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

          Fastest model for high-volume, real-time tasks

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

          Efficient model for coding and agents

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

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

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

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

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

          Efficient model for coding and agents

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

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

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Best combination of speed and intelligence

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

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

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

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

          High-performance model for agents and coding

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

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

          High-performance model for agents and coding

      - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

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

        - `type BetaManagedAgentsEffortLow`

          Low effort. Favors latency over reasoning depth.

          - `Type BetaManagedAgentsEffortLowType`

        - `type BetaManagedAgentsEffortMedium`

          Medium effort. Balances latency and reasoning depth.

          - `Type BetaManagedAgentsEffortMediumType`

        - `type BetaManagedAgentsEffortHigh`

          High effort. Favors reasoning depth.

          - `Type BetaManagedAgentsEffortHighType`

        - `type BetaManagedAgentsEffortXhigh`

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

          - `Type BetaManagedAgentsEffortXhighType`

        - `type BetaManagedAgentsEffortMax`

          Maximum effort. Favors reasoning depth over latency.

          - `Type BetaManagedAgentsEffortMaxType`

      - `InferenceGeo string Optional`

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

      - `Speed BetaManagedAgentsModelConfigSpeed Optional`

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

        - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

        - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

    - `Multiagent BetaManagedAgentsSessionMultiagentUnion`

      Resolved multiagent orchestration configuration. Null when the agent is single-threaded.

      - `type BetaManagedAgentsSessionMultiagentCoordinator`

        Resolved coordinator topology with full agent definitions for each roster member.

        - `Type BetaManagedAgentsSessionMultiagentCoordinatorType`

        - `Agents []BetaManagedAgentsSessionMultiagentCoordinatorAgentUnion`

          Full `agent` definitions the coordinator may spawn as session threads.

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

            - `Type BetaManagedAgentsSessionThreadAgentType`

            - `ID string`

            - `Description string`

            - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

              Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

            - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Type BetaManagedAgentsMCPServerURLDefinitionType`

              - `Name string`

              - `URL string`

            - `Model BetaManagedAgentsModelConfig`

              Model identifier and configuration.

            - `Name string`

            - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `type BetaManagedAgentsAnthropicSkill`

                A resolved Anthropic-managed skill.

                - `Type BetaManagedAgentsAnthropicSkillType`

                - `SkillID string`

                - `Version string`

              - `type BetaManagedAgentsCustomSkill`

                A resolved user-created custom skill.

                - `Type BetaManagedAgentsCustomSkillType`

                - `SkillID string`

                - `Version string`

            - `System string`

            - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `type BetaManagedAgentsAgentToolset20260401`

                - `Type BetaManagedAgentsAgentToolset20260401Type`

                - `Configs []BetaManagedAgentsAgentToolConfigUnion`

                  - `type BetaManagedAgentsBashToolConfig`

                    Configuration for the bash tool.

                    - `Type Bash`

                    - `Enabled bool`

                    - `Name Bash`

                    - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                        - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                        - `Type BetaManagedAgentsAlwaysAskPolicyType`

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                        - `Type Auto`

                  - `type BetaManagedAgentsEditToolConfig`

                    Configuration for the edit tool.

                    - `Type Edit`

                    - `Enabled bool`

                    - `Name Edit`

                    - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsReadToolConfig`

                    Configuration for the read tool.

                    - `Type Read`

                    - `Enabled bool`

                    - `Name Read`

                    - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsWriteToolConfig`

                    Configuration for the write tool.

                    - `Type Write`

                    - `Enabled bool`

                    - `Name Write`

                    - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsGlobToolConfig`

                    Configuration for the glob tool.

                    - `Type Glob`

                    - `Enabled bool`

                    - `Name Glob`

                    - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsGrepToolConfig`

                    Configuration for the grep tool.

                    - `Type Grep`

                    - `Enabled bool`

                    - `Name Grep`

                    - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsWebFetchToolConfig`

                    Configuration for the web_fetch tool.

                    - `Type WebFetch`

                    - `Enabled bool`

                    - `Name WebFetch`

                    - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `URLSources BetaManagedAgentsWebFetchURLSources`

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

                      - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

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

                        - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                          - `Type All`

                        - `type BetaManagedAgentsWebFetchURLSourceNone`

                          This source contributes no URLs that may be fetched.

                          - `Type None`

                        - `type BetaManagedAgentsWebFetchURLSourceOnly`

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

                          - `Type Only`

                          - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                            - `Type ToolReference`

                              Must be "tool_reference".

                            - `Name string`

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

                              minLength: 1, maxLength: 128

                        - `type BetaManagedAgentsWebFetchURLSourceExcept`

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

                          - `Type Except`

                          - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                            - `Type ToolReference`

                              Must be "tool_reference".

                            - `Name string`

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

                              minLength: 1, maxLength: 128

                      - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

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

                      - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

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

                        - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                        - `type BetaManagedAgentsWebFetchURLSourceNone`

                          This source contributes no URLs that may be fetched.

                    - `AllowedDomains []string Optional`

                    - `BlockedDomains []string Optional`

                    - `MaxContentTokens int64 Optional`

                      format: int32

                  - `type BetaManagedAgentsWebSearchToolConfig`

                    Configuration for the web_search tool.

                    - `Type WebSearch`

                    - `Enabled bool`

                    - `Name WebSearch`

                    - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `AllowedDomains []string Optional`

                    - `BlockedDomains []string Optional`

                    - `UserLocation BetaManagedAgentsUserLocation Optional`

                      Approximate user location for search result localization.

                      - `Type Approximate`

                        Location precision. Only "approximate" is supported.

                      - `City string Optional`

                        City name.

                        minLength: 1, maxLength: 255

                      - `Country string Optional`

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

                      - `Region string Optional`

                        Region or state name.

                        minLength: 1, maxLength: 255

                      - `Timezone string Optional`

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

                        minLength: 1, maxLength: 255

                - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

                  Resolved default configuration for agent tools.

                  - `Enabled bool`

                  - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsMCPToolset`

                - `Type BetaManagedAgentsMCPToolsetType`

                - `Configs []BetaManagedAgentsMCPToolConfig`

                  - `Enabled bool`

                  - `Name string`

                  - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

                  Resolved default configuration for all tools from an MCP server.

                  - `Enabled bool`

                  - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `MCPServerName string`

              - `type BetaManagedAgentsCustomTool`

                A custom tool as returned in API responses.

                - `Type BetaManagedAgentsCustomToolType`

                - `Description string`

                - `InputSchema BetaManagedAgentsCustomToolInputSchema`

                  JSON Schema for custom tool input parameters.

                  - `Type Object`

                  - `Properties map[string, any] Optional`

                  - `Required []string Optional`

                - `Name string`

            - `Version int64`

              format: int32

          - `type BetaManagedAgentsAdvisor`

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

            - `Type BetaManagedAgentsAdvisorType`

            - `Model string`

              The advisor model id.

      - `type BetaManagedAgentsSessionMultiagent20261001`

        Resolved multiagent configuration with three members, as copied to the `session` at creation.

        - `Type Multiagent20261001`

        - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

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

          - `type BetaManagedAgentsMultiagentAdvisorEnabled`

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

            - `Type Enabled`

            - `Model string`

              The advisor model id.

          - `type BetaManagedAgentsMultiagentAdvisorDisabled`

            The agent has no advisor.

            - `Type Disabled`

        - `Subagents BetaManagedAgentsSessionMultiagentSubagentsUnion`

          Whether the agent can spawn session threads.

          - `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

            The agent can spawn session threads.

            - `Type Enabled`

            - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

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

              - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

                The agent can define inline agents.

                - `Type Enabled`

              - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

                The agent cannot define inline agents.

                - `Type Disabled`

            - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

              Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `Version int64`

                format: int32

          - `type BetaManagedAgentsMultiagentSubagentsDisabled`

            The agent cannot spawn session threads.

            - `Type Disabled`

        - `Workflows BetaManagedAgentsSessionMultiagentWorkflowsUnion`

          Whether the agent can start workflow runs.

          - `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

            The agent can start workflow runs.

            - `Type Enabled`

            - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

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

            - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

              Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `Version int64`

                format: int32

          - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

            The agent cannot start workflow runs.

            - `Type Disabled`

    - `Name string`

    - `Skills []BetaManagedAgentsSessionAgentSkillUnion`

      - `type BetaManagedAgentsAnthropicSkill`

        A resolved Anthropic-managed skill.

      - `type BetaManagedAgentsCustomSkill`

        A resolved user-created custom skill.

    - `System string`

    - `Tools []BetaManagedAgentsSessionAgentToolUnion`

      - `type BetaManagedAgentsAgentToolset20260401`

      - `type BetaManagedAgentsMCPToolset`

      - `type BetaManagedAgentsCustomTool`

        A custom tool as returned in API responses.

    - `Version int64`

      format: int32

  - `ArchivedAt Time`

    When the session was archived. Null if not archived.

    format: date-time

  - `Budget BetaManagedAgentsBudgetLimit`

    The session's enforced spend ceiling, or null when no budget is set.

    - `Type BetaManagedAgentsBudgetLimitType`

    - `MaxListCost BetaMonetaryAmount`

      Maximum list cost the session may accrue. List price is used regardless of any negotiated discount, so the cap fires at or before the actual charge.

      - `Amount string`

        Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

      - `Currency BetaCurrency`

        Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

  - `CreatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

  - `EnvironmentID string`

  - `Metadata map[string, string]`

  - `OutcomeEvaluations []BetaManagedAgentsOutcomeEvaluationResource`

    Per-outcome evaluation state. One entry per `define_outcome` event sent to the session.

    - `Type BetaManagedAgentsOutcomeEvaluationResourceType`

    - `CompletedAt Time`

      When the outcome reached a terminal result. Null while `pending`/`running`/`evaluating`.

      format: date-time

    - `Description string`

      What the agent should produce.

    - `Explanation string`

      Grader's verdict text from the most recent evaluation. For `satisfied`, explains why criteria are met; for `needs_revision` (intermediate), what's missing; for `failed`, why unrecoverable.

    - `Iteration int64`

      0-indexed revision cycle the outcome is currently on.

      format: int32

    - `OutcomeID string`

      Server-generated outc_ ID for this outcome.

    - `Result string`

      Current evaluation state. `pending` before the agent begins work; `running` while producing or revising; `evaluating` while the grader scores; `satisfied`/`max_iterations_reached`/`failed`/`interrupted` are terminal.

  - `Resources []BetaManagedAgentsSessionResourceUnion`

    - `type BetaManagedAgentsGitHubRepositoryResource`

      - `Type BetaManagedAgentsGitHubRepositoryResourceType`

      - `ID string`

      - `CreatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `MountPath string`

      - `UpdatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `URL string`

      - `Checkout BetaManagedAgentsGitHubRepositoryResourceCheckoutUnion Optional`

        - `type BetaManagedAgentsBranchCheckout`

          - `Type BetaManagedAgentsBranchCheckoutType`

          - `Name string`

            Branch name to check out.

            minLength: 1, maxLength: 255

        - `type BetaManagedAgentsCommitCheckout`

          - `Type BetaManagedAgentsCommitCheckoutType`

          - `Sha string`

            Full commit SHA to check out.

            minLength: 7, maxLength: 64

    - `type BetaManagedAgentsFileResource`

      - `Type BetaManagedAgentsFileResourceType`

      - `ID string`

      - `CreatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `FileID string`

      - `MountPath string`

      - `UpdatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

    - `type BetaManagedAgentsMemoryStoreResource`

      A memory store attached to an agent session.

      - `Type BetaManagedAgentsMemoryStoreResourceType`

      - `MemoryStoreID string`

        The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

      - `Access BetaManagedAgentsMemoryStoreResourceAccess Optional`

        Access mode for the mounted store. Defaults to `read_write`. `read_only` mounts the store as a read-only filesystem.

        - `const BetaManagedAgentsMemoryStoreResourceAccessReadWrite BetaManagedAgentsMemoryStoreResourceAccess = "read_write"`

        - `const BetaManagedAgentsMemoryStoreResourceAccessReadOnly BetaManagedAgentsMemoryStoreResourceAccess = "read_only"`

      - `Description string Optional`

        Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

      - `Instructions string Optional`

        Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

        maxLength: 4096

      - `MountPath string Optional`

        Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

      - `Name string Optional`

        Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

  - `Stats BetaManagedAgentsSessionStats`

    Timing statistics for the session.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds the session spent in `running` status. Excludes idle time.

      format: double

    - `DurationSeconds float64 Optional`

      Elapsed time since session creation in seconds. For terminated sessions, frozen at the final update.

      format: double

  - `Status BetaManagedAgentsSessionStatus`

    - `const BetaManagedAgentsSessionStatusRescheduling BetaManagedAgentsSessionStatus = "rescheduling"`

      Transient error occurred, retrying automatically.

    - `const BetaManagedAgentsSessionStatusRunning BetaManagedAgentsSessionStatus = "running"`

      Agent is actively executing.

    - `const BetaManagedAgentsSessionStatusIdle BetaManagedAgentsSessionStatus = "idle"`

      Agent is waiting for input, including user messages or tool confirmations. Sessions start in idle.

    - `const BetaManagedAgentsSessionStatusTerminated BetaManagedAgentsSessionStatus = "terminated"`

      Session has ended, either due to an error or completion.

  - `Title string`

  - `UpdatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

  - `Usage BetaManagedAgentsSessionUsage`

    Cumulative token usage for the session.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds during which the session had at least one thread in running status. Overlapping activity from concurrent threads is counted once, unlike `stats.active_seconds`, which sums each thread's own active time. This is the duration the session's runtime cost is priced on.

      format: double

    - `CacheCreation BetaManagedAgentsCacheCreationUsage Optional`

      Tokens used to create prompt cache entries, broken down by cache TTL.

      - `Ephemeral1hInputTokens int64 Optional`

        Tokens used to create 1-hour ephemeral cache entries.

        format: int32

      - `Ephemeral5mInputTokens int64 Optional`

        Tokens used to create 5-minute ephemeral cache entries.

        format: int32

    - `CacheReadInputTokens int64 Optional`

      Total tokens read from prompt cache.

      format: int32

    - `InputTokens int64 Optional`

      Total input tokens consumed across all turns.

      format: int32

    - `ListCost BetaMonetaryAmount Optional`

      Cumulative list cost of the session across all turns, priced at public list rates. Absent until cost tracking is available for the session.

    - `OutputTokens int64 Optional`

      Total output tokens generated across all turns.

      format: int32

    - `ServerToolUse BetaManagedAgentsServerToolUsage Optional`

      Cumulative server-executed tool usage across all turns. Absent until server-tool tracking is available for the session.

      - `WebFetchRequests int64 Optional`

        Number of server-executed web fetch requests.

        format: int32

      - `WebSearchRequests int64 Optional`

        Number of server-executed web search requests.

        format: int32

  - `VaultIDs []string`

    Vault IDs attached to the session at creation. Empty when no vaults were supplied.

  - `DeploymentID string Optional`

    Deployment ID when the session was created from a deployment reference. Null otherwise.

### Example

```go
package main

import (
	"context"
	"fmt"

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

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	betaManagedAgentsSession, err := client.Beta.Sessions.New(context.TODO(), anthropic.BetaSessionNewParams{
		Agent: anthropic.BetaSessionNewParamsAgentUnion{
			OfString: anthropic.String("agent_011CZkYpogX7uDKUyvBTophP"),
		},
		EnvironmentID: "env_011CZkZ9X2dpNyB7HsEFoRfW",
		InitialEvents: []anthropic.BetaSessionNewParamsInitialEventUnion{anthropic.BetaSessionNewParamsInitialEventUnion{
			OfUserMessage: &anthropic.BetaManagedAgentsUserMessageEventParams{
				Type: anthropic.BetaManagedAgentsUserMessageEventParamsTypeUserMessage,
				Content: []anthropic.BetaManagedAgentsUserMessageEventParamsContentUnion{anthropic.BetaManagedAgentsUserMessageEventParamsContentUnion{
					OfText: &anthropic.BetaManagedAgentsTextBlockParam{
						Type: anthropic.BetaManagedAgentsTextBlockTypeText,
						Text: "Where is my order #1234?",
					},
				}},
			},
		}},
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", betaManagedAgentsSession.ID)
}
```

#### Response (200)

```json
{
  "id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
  "agent": {
    "id": "agent_011CZkYpogX7uDKUyvBTophP",
    "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"
      }
    ],
    "model": {
      "id": "claude-opus-5-5",
      "effort": {
        "type": "low"
      },
      "inference_geo": "inference_geo",
      "speed": "standard"
    },
    "multiagent": {
      "agents": [
        {
          "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
          "description": "A focused research subagent.",
          "execution_identity": {
            "type": "service_account"
          },
          "mcp_servers": [
            {
              "name": "example-mcp",
              "type": "url",
              "url": "https://example-server.modelcontextprotocol.io/sse"
            }
          ],
          "model": {
            "id": "claude-opus-5-5",
            "effort": {
              "type": "low"
            },
            "inference_geo": "inference_geo",
            "speed": "standard"
          },
          "name": "Researcher",
          "skills": [
            {
              "skill_id": "xlsx",
              "type": "anthropic",
              "version": "1"
            }
          ],
          "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
          "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",
          "version": 1
        }
      ],
      "type": "coordinator"
    },
    "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",
    "version": 1
  },
  "archived_at": null,
  "budget": {
    "max_list_cost": {
      "amount": "2500",
      "currency": "USD"
    },
    "type": "limit"
  },
  "created_at": "2026-03-15T10:00:00Z",
  "environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
  "metadata": {},
  "outcome_evaluations": [
    {
      "completed_at": "2026-03-15T10:02:31Z",
      "description": "Produce a 2-page summary as summary.md",
      "explanation": "All five sections present with inline citations.",
      "iteration": 0,
      "outcome_id": "outc_011CZkZRSw2kEfs6ncTVmjxP",
      "result": "satisfied",
      "type": "outcome_evaluation"
    }
  ],
  "resources": [
    {
      "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
      "created_at": "2026-03-15T10:00:00Z",
      "file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
      "mount_path": "/uploads/receipt.pdf",
      "type": "file",
      "updated_at": "2026-03-15T10:00:00Z"
    },
    {
      "id": "sesrsc_011CZkZCKr6eXym1gWMPdQiu",
      "created_at": "2026-03-15T10:00:00Z",
      "mount_path": "/workspace/example-repo",
      "type": "github_repository",
      "updated_at": "2026-03-15T10:00:00Z",
      "url": "https://github.com/example-org/example-repo",
      "checkout": {
        "name": "main",
        "type": "branch"
      }
    }
  ],
  "stats": {
    "active_seconds": 0,
    "duration_seconds": 0
  },
  "status": "idle",
  "title": "Order #1234 inquiry",
  "type": "session",
  "updated_at": "2026-03-15T10:00:00Z",
  "usage": {
    "active_seconds": 0,
    "cache_creation": {
      "ephemeral_1h_input_tokens": 0,
      "ephemeral_5m_input_tokens": 0
    },
    "cache_read_input_tokens": 0,
    "input_tokens": 0,
    "list_cost": {
      "amount": "2500",
      "currency": "USD"
    },
    "output_tokens": 0,
    "server_tool_use": {
      "web_fetch_requests": 0,
      "web_search_requests": 3
    }
  },
  "vault_ids": [
    "vlt_011CZkZDLs7fYzm1hXNPeRjv"
  ],
  "deployment_id": "deployment_id"
}
```

## List Sessions

`client.Beta.Sessions.List(ctx, params) (*BidirectionalPageCursor[BetaManagedAgentsSession], error)`

**GET** `/v1/sessions`

List Sessions

### Parameters

- `params BetaSessionListParams`

  - `AgentID param.Opt[string] Optional` (query parameter)

    Filter sessions created with this agent ID.

  - `AgentVersion param.Opt[int64] Optional` (query parameter)

    Filter by agent version. Only applies when `agent_id` is also set.

    format: int32

  - `CreatedAtGt param.Opt[Time] Optional` (query parameter)

    Return sessions created after this time (exclusive).

    format: date-time

  - `CreatedAtGte param.Opt[Time] Optional` (query parameter)

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

    format: date-time

  - `CreatedAtLt param.Opt[Time] Optional` (query parameter)

    Return sessions created before this time (exclusive).

    format: date-time

  - `CreatedAtLte param.Opt[Time] Optional` (query parameter)

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

    format: date-time

  - `DeploymentID param.Opt[string] Optional` (query parameter)

    Filter sessions created by this deployment ID.

  - `IncludeArchived param.Opt[bool] Optional` (query parameter)

    When true, includes archived sessions. Default: false (exclude archived).

  - `Limit param.Opt[int64] Optional` (query parameter)

    Maximum number of results to return.

    format: int32

  - `MemoryStoreID param.Opt[string] Optional` (query parameter)

    Filter sessions whose resources contain a `memory_store` with this memory store ID.

  - `Order BetaSessionListParamsOrder Optional` (query parameter)

    Sort direction for results, ordered by `created_at`. Defaults to `desc` (newest first).

    - `const BetaSessionListParamsOrderAsc BetaSessionListParamsOrder = "asc"`

    - `const BetaSessionListParamsOrderDesc BetaSessionListParamsOrder = "desc"`

  - `Page param.Opt[string] Optional` (query parameter)

    Opaque pagination cursor from a previous response.

  - `Statuses []string Optional` (query parameter)

    Filter by session status. Repeat the parameter to match any of multiple statuses.

    - `const BetaSessionListParamsStatusRescheduling BetaSessionListParamsStatus = "rescheduling"`

      Transient error occurred, retrying automatically.

    - `const BetaSessionListParamsStatusRunning BetaSessionListParamsStatus = "running"`

      Agent is actively executing.

    - `const BetaSessionListParamsStatusIdle BetaSessionListParamsStatus = "idle"`

      Agent is waiting for input, including user messages or tool confirmations. Sessions start in idle.

    - `const BetaSessionListParamsStatusTerminated BetaSessionListParamsStatus = "terminated"`

      Session has ended, either due to an error or completion.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### Returns

- `type BetaManagedAgentsSession`

  A Managed Agents `session`.

  - `Type BetaManagedAgentsSessionType`

  - `ID string`

  - `Agent BetaManagedAgentsSessionAgent`

    Resolved `agent` definition for a `session`. Snapshot of the `agent` at `session` creation time.

    - `Type BetaManagedAgentsSessionAgentType`

    - `ID string`

    - `Description string`

    - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

      Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

      - `type BetaManagedAgentsAWSRoleExecutionIdentity`

        An AWS IAM role principal as returned in API responses.

        - `Type AWSRole`

        - `RoleARN string`

          The IAM role's ARN.

      - `type BetaManagedAgentsServiceAccountExecutionIdentity`

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

        - `Type ServiceAccount`

    - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

      - `Type BetaManagedAgentsMCPServerURLDefinitionType`

      - `Name string`

      - `URL string`

    - `Model BetaManagedAgentsModelConfig`

      Model identifier and configuration.

      - `ID BetaManagedAgentsModel`

        The model that will power your agent.

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

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

          Fastest model for high-volume, real-time tasks

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

          Efficient model for coding and agents

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

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

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

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

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

          Efficient model for coding and agents

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

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

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Best combination of speed and intelligence

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

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

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

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

          High-performance model for agents and coding

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

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

          High-performance model for agents and coding

      - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

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

        - `type BetaManagedAgentsEffortLow`

          Low effort. Favors latency over reasoning depth.

          - `Type BetaManagedAgentsEffortLowType`

        - `type BetaManagedAgentsEffortMedium`

          Medium effort. Balances latency and reasoning depth.

          - `Type BetaManagedAgentsEffortMediumType`

        - `type BetaManagedAgentsEffortHigh`

          High effort. Favors reasoning depth.

          - `Type BetaManagedAgentsEffortHighType`

        - `type BetaManagedAgentsEffortXhigh`

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

          - `Type BetaManagedAgentsEffortXhighType`

        - `type BetaManagedAgentsEffortMax`

          Maximum effort. Favors reasoning depth over latency.

          - `Type BetaManagedAgentsEffortMaxType`

      - `InferenceGeo string Optional`

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

      - `Speed BetaManagedAgentsModelConfigSpeed Optional`

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

        - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

        - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

    - `Multiagent BetaManagedAgentsSessionMultiagentUnion`

      Resolved multiagent orchestration configuration. Null when the agent is single-threaded.

      - `type BetaManagedAgentsSessionMultiagentCoordinator`

        Resolved coordinator topology with full agent definitions for each roster member.

        - `Type BetaManagedAgentsSessionMultiagentCoordinatorType`

        - `Agents []BetaManagedAgentsSessionMultiagentCoordinatorAgentUnion`

          Full `agent` definitions the coordinator may spawn as session threads.

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

            - `Type BetaManagedAgentsSessionThreadAgentType`

            - `ID string`

            - `Description string`

            - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

              Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

            - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Type BetaManagedAgentsMCPServerURLDefinitionType`

              - `Name string`

              - `URL string`

            - `Model BetaManagedAgentsModelConfig`

              Model identifier and configuration.

            - `Name string`

            - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `type BetaManagedAgentsAnthropicSkill`

                A resolved Anthropic-managed skill.

                - `Type BetaManagedAgentsAnthropicSkillType`

                - `SkillID string`

                - `Version string`

              - `type BetaManagedAgentsCustomSkill`

                A resolved user-created custom skill.

                - `Type BetaManagedAgentsCustomSkillType`

                - `SkillID string`

                - `Version string`

            - `System string`

            - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `type BetaManagedAgentsAgentToolset20260401`

                - `Type BetaManagedAgentsAgentToolset20260401Type`

                - `Configs []BetaManagedAgentsAgentToolConfigUnion`

                  - `type BetaManagedAgentsBashToolConfig`

                    Configuration for the bash tool.

                    - `Type Bash`

                    - `Enabled bool`

                    - `Name Bash`

                    - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                        - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                        - `Type BetaManagedAgentsAlwaysAskPolicyType`

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                        - `Type Auto`

                  - `type BetaManagedAgentsEditToolConfig`

                    Configuration for the edit tool.

                    - `Type Edit`

                    - `Enabled bool`

                    - `Name Edit`

                    - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsReadToolConfig`

                    Configuration for the read tool.

                    - `Type Read`

                    - `Enabled bool`

                    - `Name Read`

                    - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsWriteToolConfig`

                    Configuration for the write tool.

                    - `Type Write`

                    - `Enabled bool`

                    - `Name Write`

                    - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsGlobToolConfig`

                    Configuration for the glob tool.

                    - `Type Glob`

                    - `Enabled bool`

                    - `Name Glob`

                    - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsGrepToolConfig`

                    Configuration for the grep tool.

                    - `Type Grep`

                    - `Enabled bool`

                    - `Name Grep`

                    - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsWebFetchToolConfig`

                    Configuration for the web_fetch tool.

                    - `Type WebFetch`

                    - `Enabled bool`

                    - `Name WebFetch`

                    - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `URLSources BetaManagedAgentsWebFetchURLSources`

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

                      - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

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

                        - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                          - `Type All`

                        - `type BetaManagedAgentsWebFetchURLSourceNone`

                          This source contributes no URLs that may be fetched.

                          - `Type None`

                        - `type BetaManagedAgentsWebFetchURLSourceOnly`

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

                          - `Type Only`

                          - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                            - `Type ToolReference`

                              Must be "tool_reference".

                            - `Name string`

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

                              minLength: 1, maxLength: 128

                        - `type BetaManagedAgentsWebFetchURLSourceExcept`

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

                          - `Type Except`

                          - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                            - `Type ToolReference`

                              Must be "tool_reference".

                            - `Name string`

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

                              minLength: 1, maxLength: 128

                      - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

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

                      - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

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

                        - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                        - `type BetaManagedAgentsWebFetchURLSourceNone`

                          This source contributes no URLs that may be fetched.

                    - `AllowedDomains []string Optional`

                    - `BlockedDomains []string Optional`

                    - `MaxContentTokens int64 Optional`

                      format: int32

                  - `type BetaManagedAgentsWebSearchToolConfig`

                    Configuration for the web_search tool.

                    - `Type WebSearch`

                    - `Enabled bool`

                    - `Name WebSearch`

                    - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `AllowedDomains []string Optional`

                    - `BlockedDomains []string Optional`

                    - `UserLocation BetaManagedAgentsUserLocation Optional`

                      Approximate user location for search result localization.

                      - `Type Approximate`

                        Location precision. Only "approximate" is supported.

                      - `City string Optional`

                        City name.

                        minLength: 1, maxLength: 255

                      - `Country string Optional`

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

                      - `Region string Optional`

                        Region or state name.

                        minLength: 1, maxLength: 255

                      - `Timezone string Optional`

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

                        minLength: 1, maxLength: 255

                - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

                  Resolved default configuration for agent tools.

                  - `Enabled bool`

                  - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsMCPToolset`

                - `Type BetaManagedAgentsMCPToolsetType`

                - `Configs []BetaManagedAgentsMCPToolConfig`

                  - `Enabled bool`

                  - `Name string`

                  - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

                  Resolved default configuration for all tools from an MCP server.

                  - `Enabled bool`

                  - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `MCPServerName string`

              - `type BetaManagedAgentsCustomTool`

                A custom tool as returned in API responses.

                - `Type BetaManagedAgentsCustomToolType`

                - `Description string`

                - `InputSchema BetaManagedAgentsCustomToolInputSchema`

                  JSON Schema for custom tool input parameters.

                  - `Type Object`

                  - `Properties map[string, any] Optional`

                  - `Required []string Optional`

                - `Name string`

            - `Version int64`

              format: int32

          - `type BetaManagedAgentsAdvisor`

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

            - `Type BetaManagedAgentsAdvisorType`

            - `Model string`

              The advisor model id.

      - `type BetaManagedAgentsSessionMultiagent20261001`

        Resolved multiagent configuration with three members, as copied to the `session` at creation.

        - `Type Multiagent20261001`

        - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

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

          - `type BetaManagedAgentsMultiagentAdvisorEnabled`

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

            - `Type Enabled`

            - `Model string`

              The advisor model id.

          - `type BetaManagedAgentsMultiagentAdvisorDisabled`

            The agent has no advisor.

            - `Type Disabled`

        - `Subagents BetaManagedAgentsSessionMultiagentSubagentsUnion`

          Whether the agent can spawn session threads.

          - `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

            The agent can spawn session threads.

            - `Type Enabled`

            - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

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

              - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

                The agent can define inline agents.

                - `Type Enabled`

              - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

                The agent cannot define inline agents.

                - `Type Disabled`

            - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

              Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `Version int64`

                format: int32

          - `type BetaManagedAgentsMultiagentSubagentsDisabled`

            The agent cannot spawn session threads.

            - `Type Disabled`

        - `Workflows BetaManagedAgentsSessionMultiagentWorkflowsUnion`

          Whether the agent can start workflow runs.

          - `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

            The agent can start workflow runs.

            - `Type Enabled`

            - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

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

            - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

              Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `Version int64`

                format: int32

          - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

            The agent cannot start workflow runs.

            - `Type Disabled`

    - `Name string`

    - `Skills []BetaManagedAgentsSessionAgentSkillUnion`

      - `type BetaManagedAgentsAnthropicSkill`

        A resolved Anthropic-managed skill.

      - `type BetaManagedAgentsCustomSkill`

        A resolved user-created custom skill.

    - `System string`

    - `Tools []BetaManagedAgentsSessionAgentToolUnion`

      - `type BetaManagedAgentsAgentToolset20260401`

      - `type BetaManagedAgentsMCPToolset`

      - `type BetaManagedAgentsCustomTool`

        A custom tool as returned in API responses.

    - `Version int64`

      format: int32

  - `ArchivedAt Time`

    When the session was archived. Null if not archived.

    format: date-time

  - `Budget BetaManagedAgentsBudgetLimit`

    The session's enforced spend ceiling, or null when no budget is set.

    - `Type BetaManagedAgentsBudgetLimitType`

    - `MaxListCost BetaMonetaryAmount`

      Maximum list cost the session may accrue. List price is used regardless of any negotiated discount, so the cap fires at or before the actual charge.

      - `Amount string`

        Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

      - `Currency BetaCurrency`

        Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

  - `CreatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

  - `EnvironmentID string`

  - `Metadata map[string, string]`

  - `OutcomeEvaluations []BetaManagedAgentsOutcomeEvaluationResource`

    Per-outcome evaluation state. One entry per `define_outcome` event sent to the session.

    - `Type BetaManagedAgentsOutcomeEvaluationResourceType`

    - `CompletedAt Time`

      When the outcome reached a terminal result. Null while `pending`/`running`/`evaluating`.

      format: date-time

    - `Description string`

      What the agent should produce.

    - `Explanation string`

      Grader's verdict text from the most recent evaluation. For `satisfied`, explains why criteria are met; for `needs_revision` (intermediate), what's missing; for `failed`, why unrecoverable.

    - `Iteration int64`

      0-indexed revision cycle the outcome is currently on.

      format: int32

    - `OutcomeID string`

      Server-generated outc_ ID for this outcome.

    - `Result string`

      Current evaluation state. `pending` before the agent begins work; `running` while producing or revising; `evaluating` while the grader scores; `satisfied`/`max_iterations_reached`/`failed`/`interrupted` are terminal.

  - `Resources []BetaManagedAgentsSessionResourceUnion`

    - `type BetaManagedAgentsGitHubRepositoryResource`

      - `Type BetaManagedAgentsGitHubRepositoryResourceType`

      - `ID string`

      - `CreatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `MountPath string`

      - `UpdatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `URL string`

      - `Checkout BetaManagedAgentsGitHubRepositoryResourceCheckoutUnion Optional`

        - `type BetaManagedAgentsBranchCheckout`

          - `Type BetaManagedAgentsBranchCheckoutType`

          - `Name string`

            Branch name to check out.

            minLength: 1, maxLength: 255

        - `type BetaManagedAgentsCommitCheckout`

          - `Type BetaManagedAgentsCommitCheckoutType`

          - `Sha string`

            Full commit SHA to check out.

            minLength: 7, maxLength: 64

    - `type BetaManagedAgentsFileResource`

      - `Type BetaManagedAgentsFileResourceType`

      - `ID string`

      - `CreatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `FileID string`

      - `MountPath string`

      - `UpdatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

    - `type BetaManagedAgentsMemoryStoreResource`

      A memory store attached to an agent session.

      - `Type BetaManagedAgentsMemoryStoreResourceType`

      - `MemoryStoreID string`

        The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

      - `Access BetaManagedAgentsMemoryStoreResourceAccess Optional`

        Access mode for the mounted store. Defaults to `read_write`. `read_only` mounts the store as a read-only filesystem.

        - `const BetaManagedAgentsMemoryStoreResourceAccessReadWrite BetaManagedAgentsMemoryStoreResourceAccess = "read_write"`

        - `const BetaManagedAgentsMemoryStoreResourceAccessReadOnly BetaManagedAgentsMemoryStoreResourceAccess = "read_only"`

      - `Description string Optional`

        Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

      - `Instructions string Optional`

        Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

        maxLength: 4096

      - `MountPath string Optional`

        Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

      - `Name string Optional`

        Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

  - `Stats BetaManagedAgentsSessionStats`

    Timing statistics for the session.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds the session spent in `running` status. Excludes idle time.

      format: double

    - `DurationSeconds float64 Optional`

      Elapsed time since session creation in seconds. For terminated sessions, frozen at the final update.

      format: double

  - `Status BetaManagedAgentsSessionStatus`

    - `const BetaManagedAgentsSessionStatusRescheduling BetaManagedAgentsSessionStatus = "rescheduling"`

      Transient error occurred, retrying automatically.

    - `const BetaManagedAgentsSessionStatusRunning BetaManagedAgentsSessionStatus = "running"`

      Agent is actively executing.

    - `const BetaManagedAgentsSessionStatusIdle BetaManagedAgentsSessionStatus = "idle"`

      Agent is waiting for input, including user messages or tool confirmations. Sessions start in idle.

    - `const BetaManagedAgentsSessionStatusTerminated BetaManagedAgentsSessionStatus = "terminated"`

      Session has ended, either due to an error or completion.

  - `Title string`

  - `UpdatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

  - `Usage BetaManagedAgentsSessionUsage`

    Cumulative token usage for the session.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds during which the session had at least one thread in running status. Overlapping activity from concurrent threads is counted once, unlike `stats.active_seconds`, which sums each thread's own active time. This is the duration the session's runtime cost is priced on.

      format: double

    - `CacheCreation BetaManagedAgentsCacheCreationUsage Optional`

      Tokens used to create prompt cache entries, broken down by cache TTL.

      - `Ephemeral1hInputTokens int64 Optional`

        Tokens used to create 1-hour ephemeral cache entries.

        format: int32

      - `Ephemeral5mInputTokens int64 Optional`

        Tokens used to create 5-minute ephemeral cache entries.

        format: int32

    - `CacheReadInputTokens int64 Optional`

      Total tokens read from prompt cache.

      format: int32

    - `InputTokens int64 Optional`

      Total input tokens consumed across all turns.

      format: int32

    - `ListCost BetaMonetaryAmount Optional`

      Cumulative list cost of the session across all turns, priced at public list rates. Absent until cost tracking is available for the session.

    - `OutputTokens int64 Optional`

      Total output tokens generated across all turns.

      format: int32

    - `ServerToolUse BetaManagedAgentsServerToolUsage Optional`

      Cumulative server-executed tool usage across all turns. Absent until server-tool tracking is available for the session.

      - `WebFetchRequests int64 Optional`

        Number of server-executed web fetch requests.

        format: int32

      - `WebSearchRequests int64 Optional`

        Number of server-executed web search requests.

        format: int32

  - `VaultIDs []string`

    Vault IDs attached to the session at creation. Empty when no vaults were supplied.

  - `DeploymentID string Optional`

    Deployment ID when the session was created from a deployment reference. Null otherwise.

### Example

```go
package main

import (
	"context"
	"fmt"

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

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	page, err := client.Beta.Sessions.List(context.TODO(), anthropic.BetaSessionListParams{})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", page)
}
```

#### Response (200)

```json
{
  "data": [
    {
      "id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
      "agent": {
        "id": "agent_011CZkYpogX7uDKUyvBTophP",
        "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"
          }
        ],
        "model": {
          "id": "claude-opus-5-5",
          "effort": {
            "type": "low"
          },
          "inference_geo": "inference_geo",
          "speed": "standard"
        },
        "multiagent": {
          "agents": [
            {
              "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
              "description": "A focused research subagent.",
              "execution_identity": {
                "type": "service_account"
              },
              "mcp_servers": [
                {
                  "name": "example-mcp",
                  "type": "url",
                  "url": "https://example-server.modelcontextprotocol.io/sse"
                }
              ],
              "model": {
                "id": "claude-opus-5-5",
                "effort": {
                  "type": "low"
                },
                "inference_geo": "inference_geo",
                "speed": "standard"
              },
              "name": "Researcher",
              "skills": [
                {
                  "skill_id": "xlsx",
                  "type": "anthropic",
                  "version": "1"
                }
              ],
              "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
              "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",
              "version": 1
            }
          ],
          "type": "coordinator"
        },
        "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",
        "version": 1
      },
      "archived_at": null,
      "budget": {
        "max_list_cost": {
          "amount": "2500",
          "currency": "USD"
        },
        "type": "limit"
      },
      "created_at": "2026-03-15T10:00:00Z",
      "environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
      "metadata": {},
      "outcome_evaluations": [
        {
          "completed_at": "2026-03-15T10:02:31Z",
          "description": "Produce a 2-page summary as summary.md",
          "explanation": "All five sections present with inline citations.",
          "iteration": 0,
          "outcome_id": "outc_011CZkZRSw2kEfs6ncTVmjxP",
          "result": "satisfied",
          "type": "outcome_evaluation"
        }
      ],
      "resources": [
        {
          "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
          "created_at": "2026-03-15T10:00:00Z",
          "file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
          "mount_path": "/uploads/receipt.pdf",
          "type": "file",
          "updated_at": "2026-03-15T10:00:00Z"
        },
        {
          "id": "sesrsc_011CZkZCKr6eXym1gWMPdQiu",
          "created_at": "2026-03-15T10:00:00Z",
          "mount_path": "/workspace/example-repo",
          "type": "github_repository",
          "updated_at": "2026-03-15T10:00:00Z",
          "url": "https://github.com/example-org/example-repo",
          "checkout": {
            "name": "main",
            "type": "branch"
          }
        }
      ],
      "stats": {
        "active_seconds": 0,
        "duration_seconds": 0
      },
      "status": "idle",
      "title": "Order #1234 inquiry",
      "type": "session",
      "updated_at": "2026-03-15T10:00:00Z",
      "usage": {
        "active_seconds": 0,
        "cache_creation": {
          "ephemeral_1h_input_tokens": 0,
          "ephemeral_5m_input_tokens": 0
        },
        "cache_read_input_tokens": 0,
        "input_tokens": 0,
        "list_cost": {
          "amount": "2500",
          "currency": "USD"
        },
        "output_tokens": 0,
        "server_tool_use": {
          "web_fetch_requests": 0,
          "web_search_requests": 3
        }
      },
      "vault_ids": [
        "vlt_011CZkZDLs7fYzm1hXNPeRjv"
      ],
      "deployment_id": "deployment_id"
    }
  ],
  "next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo=",
  "prev_page": "page_MjAyNS0wNS0xM1QwMDowMDowMFo="
}
```

## Get Session

`client.Beta.Sessions.Get(ctx, sessionID, query) (*BetaManagedAgentsSession, error)`

**GET** `/v1/sessions/{session_id}`

Get Session

### Parameters

- `sessionID string` (path parameter)

- `query BetaSessionGetParams`

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### Returns

- `type BetaManagedAgentsSession`

  A Managed Agents `session`.

  - `Type BetaManagedAgentsSessionType`

  - `ID string`

  - `Agent BetaManagedAgentsSessionAgent`

    Resolved `agent` definition for a `session`. Snapshot of the `agent` at `session` creation time.

    - `Type BetaManagedAgentsSessionAgentType`

    - `ID string`

    - `Description string`

    - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

      Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

      - `type BetaManagedAgentsAWSRoleExecutionIdentity`

        An AWS IAM role principal as returned in API responses.

        - `Type AWSRole`

        - `RoleARN string`

          The IAM role's ARN.

      - `type BetaManagedAgentsServiceAccountExecutionIdentity`

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

        - `Type ServiceAccount`

    - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

      - `Type BetaManagedAgentsMCPServerURLDefinitionType`

      - `Name string`

      - `URL string`

    - `Model BetaManagedAgentsModelConfig`

      Model identifier and configuration.

      - `ID BetaManagedAgentsModel`

        The model that will power your agent.

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

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

          Fastest model for high-volume, real-time tasks

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

          Efficient model for coding and agents

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

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

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

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

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

          Efficient model for coding and agents

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

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

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Best combination of speed and intelligence

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

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

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

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

          High-performance model for agents and coding

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

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

          High-performance model for agents and coding

      - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

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

        - `type BetaManagedAgentsEffortLow`

          Low effort. Favors latency over reasoning depth.

          - `Type BetaManagedAgentsEffortLowType`

        - `type BetaManagedAgentsEffortMedium`

          Medium effort. Balances latency and reasoning depth.

          - `Type BetaManagedAgentsEffortMediumType`

        - `type BetaManagedAgentsEffortHigh`

          High effort. Favors reasoning depth.

          - `Type BetaManagedAgentsEffortHighType`

        - `type BetaManagedAgentsEffortXhigh`

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

          - `Type BetaManagedAgentsEffortXhighType`

        - `type BetaManagedAgentsEffortMax`

          Maximum effort. Favors reasoning depth over latency.

          - `Type BetaManagedAgentsEffortMaxType`

      - `InferenceGeo string Optional`

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

      - `Speed BetaManagedAgentsModelConfigSpeed Optional`

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

        - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

        - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

    - `Multiagent BetaManagedAgentsSessionMultiagentUnion`

      Resolved multiagent orchestration configuration. Null when the agent is single-threaded.

      - `type BetaManagedAgentsSessionMultiagentCoordinator`

        Resolved coordinator topology with full agent definitions for each roster member.

        - `Type BetaManagedAgentsSessionMultiagentCoordinatorType`

        - `Agents []BetaManagedAgentsSessionMultiagentCoordinatorAgentUnion`

          Full `agent` definitions the coordinator may spawn as session threads.

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

            - `Type BetaManagedAgentsSessionThreadAgentType`

            - `ID string`

            - `Description string`

            - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

              Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

            - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Type BetaManagedAgentsMCPServerURLDefinitionType`

              - `Name string`

              - `URL string`

            - `Model BetaManagedAgentsModelConfig`

              Model identifier and configuration.

            - `Name string`

            - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `type BetaManagedAgentsAnthropicSkill`

                A resolved Anthropic-managed skill.

                - `Type BetaManagedAgentsAnthropicSkillType`

                - `SkillID string`

                - `Version string`

              - `type BetaManagedAgentsCustomSkill`

                A resolved user-created custom skill.

                - `Type BetaManagedAgentsCustomSkillType`

                - `SkillID string`

                - `Version string`

            - `System string`

            - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `type BetaManagedAgentsAgentToolset20260401`

                - `Type BetaManagedAgentsAgentToolset20260401Type`

                - `Configs []BetaManagedAgentsAgentToolConfigUnion`

                  - `type BetaManagedAgentsBashToolConfig`

                    Configuration for the bash tool.

                    - `Type Bash`

                    - `Enabled bool`

                    - `Name Bash`

                    - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                        - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                        - `Type BetaManagedAgentsAlwaysAskPolicyType`

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                        - `Type Auto`

                  - `type BetaManagedAgentsEditToolConfig`

                    Configuration for the edit tool.

                    - `Type Edit`

                    - `Enabled bool`

                    - `Name Edit`

                    - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsReadToolConfig`

                    Configuration for the read tool.

                    - `Type Read`

                    - `Enabled bool`

                    - `Name Read`

                    - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsWriteToolConfig`

                    Configuration for the write tool.

                    - `Type Write`

                    - `Enabled bool`

                    - `Name Write`

                    - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsGlobToolConfig`

                    Configuration for the glob tool.

                    - `Type Glob`

                    - `Enabled bool`

                    - `Name Glob`

                    - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsGrepToolConfig`

                    Configuration for the grep tool.

                    - `Type Grep`

                    - `Enabled bool`

                    - `Name Grep`

                    - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsWebFetchToolConfig`

                    Configuration for the web_fetch tool.

                    - `Type WebFetch`

                    - `Enabled bool`

                    - `Name WebFetch`

                    - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `URLSources BetaManagedAgentsWebFetchURLSources`

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

                      - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

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

                        - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                          - `Type All`

                        - `type BetaManagedAgentsWebFetchURLSourceNone`

                          This source contributes no URLs that may be fetched.

                          - `Type None`

                        - `type BetaManagedAgentsWebFetchURLSourceOnly`

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

                          - `Type Only`

                          - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                            - `Type ToolReference`

                              Must be "tool_reference".

                            - `Name string`

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

                              minLength: 1, maxLength: 128

                        - `type BetaManagedAgentsWebFetchURLSourceExcept`

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

                          - `Type Except`

                          - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                            - `Type ToolReference`

                              Must be "tool_reference".

                            - `Name string`

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

                              minLength: 1, maxLength: 128

                      - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

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

                      - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

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

                        - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                        - `type BetaManagedAgentsWebFetchURLSourceNone`

                          This source contributes no URLs that may be fetched.

                    - `AllowedDomains []string Optional`

                    - `BlockedDomains []string Optional`

                    - `MaxContentTokens int64 Optional`

                      format: int32

                  - `type BetaManagedAgentsWebSearchToolConfig`

                    Configuration for the web_search tool.

                    - `Type WebSearch`

                    - `Enabled bool`

                    - `Name WebSearch`

                    - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `AllowedDomains []string Optional`

                    - `BlockedDomains []string Optional`

                    - `UserLocation BetaManagedAgentsUserLocation Optional`

                      Approximate user location for search result localization.

                      - `Type Approximate`

                        Location precision. Only "approximate" is supported.

                      - `City string Optional`

                        City name.

                        minLength: 1, maxLength: 255

                      - `Country string Optional`

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

                      - `Region string Optional`

                        Region or state name.

                        minLength: 1, maxLength: 255

                      - `Timezone string Optional`

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

                        minLength: 1, maxLength: 255

                - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

                  Resolved default configuration for agent tools.

                  - `Enabled bool`

                  - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsMCPToolset`

                - `Type BetaManagedAgentsMCPToolsetType`

                - `Configs []BetaManagedAgentsMCPToolConfig`

                  - `Enabled bool`

                  - `Name string`

                  - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

                  Resolved default configuration for all tools from an MCP server.

                  - `Enabled bool`

                  - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `MCPServerName string`

              - `type BetaManagedAgentsCustomTool`

                A custom tool as returned in API responses.

                - `Type BetaManagedAgentsCustomToolType`

                - `Description string`

                - `InputSchema BetaManagedAgentsCustomToolInputSchema`

                  JSON Schema for custom tool input parameters.

                  - `Type Object`

                  - `Properties map[string, any] Optional`

                  - `Required []string Optional`

                - `Name string`

            - `Version int64`

              format: int32

          - `type BetaManagedAgentsAdvisor`

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

            - `Type BetaManagedAgentsAdvisorType`

            - `Model string`

              The advisor model id.

      - `type BetaManagedAgentsSessionMultiagent20261001`

        Resolved multiagent configuration with three members, as copied to the `session` at creation.

        - `Type Multiagent20261001`

        - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

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

          - `type BetaManagedAgentsMultiagentAdvisorEnabled`

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

            - `Type Enabled`

            - `Model string`

              The advisor model id.

          - `type BetaManagedAgentsMultiagentAdvisorDisabled`

            The agent has no advisor.

            - `Type Disabled`

        - `Subagents BetaManagedAgentsSessionMultiagentSubagentsUnion`

          Whether the agent can spawn session threads.

          - `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

            The agent can spawn session threads.

            - `Type Enabled`

            - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

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

              - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

                The agent can define inline agents.

                - `Type Enabled`

              - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

                The agent cannot define inline agents.

                - `Type Disabled`

            - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

              Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `Version int64`

                format: int32

          - `type BetaManagedAgentsMultiagentSubagentsDisabled`

            The agent cannot spawn session threads.

            - `Type Disabled`

        - `Workflows BetaManagedAgentsSessionMultiagentWorkflowsUnion`

          Whether the agent can start workflow runs.

          - `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

            The agent can start workflow runs.

            - `Type Enabled`

            - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

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

            - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

              Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `Version int64`

                format: int32

          - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

            The agent cannot start workflow runs.

            - `Type Disabled`

    - `Name string`

    - `Skills []BetaManagedAgentsSessionAgentSkillUnion`

      - `type BetaManagedAgentsAnthropicSkill`

        A resolved Anthropic-managed skill.

      - `type BetaManagedAgentsCustomSkill`

        A resolved user-created custom skill.

    - `System string`

    - `Tools []BetaManagedAgentsSessionAgentToolUnion`

      - `type BetaManagedAgentsAgentToolset20260401`

      - `type BetaManagedAgentsMCPToolset`

      - `type BetaManagedAgentsCustomTool`

        A custom tool as returned in API responses.

    - `Version int64`

      format: int32

  - `ArchivedAt Time`

    When the session was archived. Null if not archived.

    format: date-time

  - `Budget BetaManagedAgentsBudgetLimit`

    The session's enforced spend ceiling, or null when no budget is set.

    - `Type BetaManagedAgentsBudgetLimitType`

    - `MaxListCost BetaMonetaryAmount`

      Maximum list cost the session may accrue. List price is used regardless of any negotiated discount, so the cap fires at or before the actual charge.

      - `Amount string`

        Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

      - `Currency BetaCurrency`

        Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

  - `CreatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

  - `EnvironmentID string`

  - `Metadata map[string, string]`

  - `OutcomeEvaluations []BetaManagedAgentsOutcomeEvaluationResource`

    Per-outcome evaluation state. One entry per `define_outcome` event sent to the session.

    - `Type BetaManagedAgentsOutcomeEvaluationResourceType`

    - `CompletedAt Time`

      When the outcome reached a terminal result. Null while `pending`/`running`/`evaluating`.

      format: date-time

    - `Description string`

      What the agent should produce.

    - `Explanation string`

      Grader's verdict text from the most recent evaluation. For `satisfied`, explains why criteria are met; for `needs_revision` (intermediate), what's missing; for `failed`, why unrecoverable.

    - `Iteration int64`

      0-indexed revision cycle the outcome is currently on.

      format: int32

    - `OutcomeID string`

      Server-generated outc_ ID for this outcome.

    - `Result string`

      Current evaluation state. `pending` before the agent begins work; `running` while producing or revising; `evaluating` while the grader scores; `satisfied`/`max_iterations_reached`/`failed`/`interrupted` are terminal.

  - `Resources []BetaManagedAgentsSessionResourceUnion`

    - `type BetaManagedAgentsGitHubRepositoryResource`

      - `Type BetaManagedAgentsGitHubRepositoryResourceType`

      - `ID string`

      - `CreatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `MountPath string`

      - `UpdatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `URL string`

      - `Checkout BetaManagedAgentsGitHubRepositoryResourceCheckoutUnion Optional`

        - `type BetaManagedAgentsBranchCheckout`

          - `Type BetaManagedAgentsBranchCheckoutType`

          - `Name string`

            Branch name to check out.

            minLength: 1, maxLength: 255

        - `type BetaManagedAgentsCommitCheckout`

          - `Type BetaManagedAgentsCommitCheckoutType`

          - `Sha string`

            Full commit SHA to check out.

            minLength: 7, maxLength: 64

    - `type BetaManagedAgentsFileResource`

      - `Type BetaManagedAgentsFileResourceType`

      - `ID string`

      - `CreatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `FileID string`

      - `MountPath string`

      - `UpdatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

    - `type BetaManagedAgentsMemoryStoreResource`

      A memory store attached to an agent session.

      - `Type BetaManagedAgentsMemoryStoreResourceType`

      - `MemoryStoreID string`

        The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

      - `Access BetaManagedAgentsMemoryStoreResourceAccess Optional`

        Access mode for the mounted store. Defaults to `read_write`. `read_only` mounts the store as a read-only filesystem.

        - `const BetaManagedAgentsMemoryStoreResourceAccessReadWrite BetaManagedAgentsMemoryStoreResourceAccess = "read_write"`

        - `const BetaManagedAgentsMemoryStoreResourceAccessReadOnly BetaManagedAgentsMemoryStoreResourceAccess = "read_only"`

      - `Description string Optional`

        Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

      - `Instructions string Optional`

        Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

        maxLength: 4096

      - `MountPath string Optional`

        Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

      - `Name string Optional`

        Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

  - `Stats BetaManagedAgentsSessionStats`

    Timing statistics for the session.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds the session spent in `running` status. Excludes idle time.

      format: double

    - `DurationSeconds float64 Optional`

      Elapsed time since session creation in seconds. For terminated sessions, frozen at the final update.

      format: double

  - `Status BetaManagedAgentsSessionStatus`

    - `const BetaManagedAgentsSessionStatusRescheduling BetaManagedAgentsSessionStatus = "rescheduling"`

      Transient error occurred, retrying automatically.

    - `const BetaManagedAgentsSessionStatusRunning BetaManagedAgentsSessionStatus = "running"`

      Agent is actively executing.

    - `const BetaManagedAgentsSessionStatusIdle BetaManagedAgentsSessionStatus = "idle"`

      Agent is waiting for input, including user messages or tool confirmations. Sessions start in idle.

    - `const BetaManagedAgentsSessionStatusTerminated BetaManagedAgentsSessionStatus = "terminated"`

      Session has ended, either due to an error or completion.

  - `Title string`

  - `UpdatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

  - `Usage BetaManagedAgentsSessionUsage`

    Cumulative token usage for the session.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds during which the session had at least one thread in running status. Overlapping activity from concurrent threads is counted once, unlike `stats.active_seconds`, which sums each thread's own active time. This is the duration the session's runtime cost is priced on.

      format: double

    - `CacheCreation BetaManagedAgentsCacheCreationUsage Optional`

      Tokens used to create prompt cache entries, broken down by cache TTL.

      - `Ephemeral1hInputTokens int64 Optional`

        Tokens used to create 1-hour ephemeral cache entries.

        format: int32

      - `Ephemeral5mInputTokens int64 Optional`

        Tokens used to create 5-minute ephemeral cache entries.

        format: int32

    - `CacheReadInputTokens int64 Optional`

      Total tokens read from prompt cache.

      format: int32

    - `InputTokens int64 Optional`

      Total input tokens consumed across all turns.

      format: int32

    - `ListCost BetaMonetaryAmount Optional`

      Cumulative list cost of the session across all turns, priced at public list rates. Absent until cost tracking is available for the session.

    - `OutputTokens int64 Optional`

      Total output tokens generated across all turns.

      format: int32

    - `ServerToolUse BetaManagedAgentsServerToolUsage Optional`

      Cumulative server-executed tool usage across all turns. Absent until server-tool tracking is available for the session.

      - `WebFetchRequests int64 Optional`

        Number of server-executed web fetch requests.

        format: int32

      - `WebSearchRequests int64 Optional`

        Number of server-executed web search requests.

        format: int32

  - `VaultIDs []string`

    Vault IDs attached to the session at creation. Empty when no vaults were supplied.

  - `DeploymentID string Optional`

    Deployment ID when the session was created from a deployment reference. Null otherwise.

### Example

```go
package main

import (
	"context"
	"fmt"

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

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	betaManagedAgentsSession, err := client.Beta.Sessions.Get(
		context.TODO(),
		"sesn_011CZkZAtmR3yMPDzynEDxu7",
		anthropic.BetaSessionGetParams{},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", betaManagedAgentsSession.ID)
}
```

#### Response (200)

```json
{
  "id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
  "agent": {
    "id": "agent_011CZkYpogX7uDKUyvBTophP",
    "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"
      }
    ],
    "model": {
      "id": "claude-opus-5-5",
      "effort": {
        "type": "low"
      },
      "inference_geo": "inference_geo",
      "speed": "standard"
    },
    "multiagent": {
      "agents": [
        {
          "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
          "description": "A focused research subagent.",
          "execution_identity": {
            "type": "service_account"
          },
          "mcp_servers": [
            {
              "name": "example-mcp",
              "type": "url",
              "url": "https://example-server.modelcontextprotocol.io/sse"
            }
          ],
          "model": {
            "id": "claude-opus-5-5",
            "effort": {
              "type": "low"
            },
            "inference_geo": "inference_geo",
            "speed": "standard"
          },
          "name": "Researcher",
          "skills": [
            {
              "skill_id": "xlsx",
              "type": "anthropic",
              "version": "1"
            }
          ],
          "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
          "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",
          "version": 1
        }
      ],
      "type": "coordinator"
    },
    "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",
    "version": 1
  },
  "archived_at": null,
  "budget": {
    "max_list_cost": {
      "amount": "2500",
      "currency": "USD"
    },
    "type": "limit"
  },
  "created_at": "2026-03-15T10:00:00Z",
  "environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
  "metadata": {},
  "outcome_evaluations": [
    {
      "completed_at": "2026-03-15T10:02:31Z",
      "description": "Produce a 2-page summary as summary.md",
      "explanation": "All five sections present with inline citations.",
      "iteration": 0,
      "outcome_id": "outc_011CZkZRSw2kEfs6ncTVmjxP",
      "result": "satisfied",
      "type": "outcome_evaluation"
    }
  ],
  "resources": [
    {
      "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
      "created_at": "2026-03-15T10:00:00Z",
      "file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
      "mount_path": "/uploads/receipt.pdf",
      "type": "file",
      "updated_at": "2026-03-15T10:00:00Z"
    },
    {
      "id": "sesrsc_011CZkZCKr6eXym1gWMPdQiu",
      "created_at": "2026-03-15T10:00:00Z",
      "mount_path": "/workspace/example-repo",
      "type": "github_repository",
      "updated_at": "2026-03-15T10:00:00Z",
      "url": "https://github.com/example-org/example-repo",
      "checkout": {
        "name": "main",
        "type": "branch"
      }
    }
  ],
  "stats": {
    "active_seconds": 0,
    "duration_seconds": 0
  },
  "status": "idle",
  "title": "Order #1234 inquiry",
  "type": "session",
  "updated_at": "2026-03-15T10:00:00Z",
  "usage": {
    "active_seconds": 0,
    "cache_creation": {
      "ephemeral_1h_input_tokens": 0,
      "ephemeral_5m_input_tokens": 0
    },
    "cache_read_input_tokens": 0,
    "input_tokens": 0,
    "list_cost": {
      "amount": "2500",
      "currency": "USD"
    },
    "output_tokens": 0,
    "server_tool_use": {
      "web_fetch_requests": 0,
      "web_search_requests": 3
    }
  },
  "vault_ids": [
    "vlt_011CZkZDLs7fYzm1hXNPeRjv"
  ],
  "deployment_id": "deployment_id"
}
```

## Update Session

`client.Beta.Sessions.Update(ctx, sessionID, params) (*BetaManagedAgentsSession, error)`

**POST** `/v1/sessions/{session_id}`

Update Session

### Parameters

- `sessionID string` (path parameter)

- `params BetaSessionUpdateParams`

  - `Agent BetaManagedAgentsSessionAgentUpdateParam Optional`

    Agent configuration update. Only `tools` and `mcp_servers` are updatable mid-session. Only valid for sessions created from an agent or deployment reference. The session must not be running.

  - `Budget BetaManagedAgentsBudgetLimitParam Optional`

    Enforced spend ceiling for the session. Set an object to replace the budget of a session that was created with one, or `null` to remove it; omit to preserve. A budget cannot be added to a session created without one (rejected with reason `budget_create_only`), and a removed budget cannot be re-added. Allowed in any non-terminated status. Lowering `max_list_cost` to at or below the session's consumed list cost is rejected with reason `budget_not_raised`, and every model the session can run must have a public list price or the request is rejected with reason `model_not_budgetable`.

  - `Metadata map[string, string] Optional`

    Metadata patch. Set a key to a string to upsert it, or to null to delete it. Omit the field to preserve.

  - `Title param.Opt[string] Optional`

    Human-readable session title.

    minLength: 1, maxLength: 500

  - `VaultIDs []string Optional`

    Vault IDs (`vlt_*`) to attach to the session. Not yet supported; requests setting this field are rejected. Reserved for future use.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### Returns

- `type BetaManagedAgentsSession`

  A Managed Agents `session`.

  - `Type BetaManagedAgentsSessionType`

  - `ID string`

  - `Agent BetaManagedAgentsSessionAgent`

    Resolved `agent` definition for a `session`. Snapshot of the `agent` at `session` creation time.

    - `Type BetaManagedAgentsSessionAgentType`

    - `ID string`

    - `Description string`

    - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

      Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

      - `type BetaManagedAgentsAWSRoleExecutionIdentity`

        An AWS IAM role principal as returned in API responses.

        - `Type AWSRole`

        - `RoleARN string`

          The IAM role's ARN.

      - `type BetaManagedAgentsServiceAccountExecutionIdentity`

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

        - `Type ServiceAccount`

    - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

      - `Type BetaManagedAgentsMCPServerURLDefinitionType`

      - `Name string`

      - `URL string`

    - `Model BetaManagedAgentsModelConfig`

      Model identifier and configuration.

      - `ID BetaManagedAgentsModel`

        The model that will power your agent.

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

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

          Fastest model for high-volume, real-time tasks

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

          Efficient model for coding and agents

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

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

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

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

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

          Efficient model for coding and agents

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

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

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Best combination of speed and intelligence

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

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

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

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

          High-performance model for agents and coding

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

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

          High-performance model for agents and coding

      - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

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

        - `type BetaManagedAgentsEffortLow`

          Low effort. Favors latency over reasoning depth.

          - `Type BetaManagedAgentsEffortLowType`

        - `type BetaManagedAgentsEffortMedium`

          Medium effort. Balances latency and reasoning depth.

          - `Type BetaManagedAgentsEffortMediumType`

        - `type BetaManagedAgentsEffortHigh`

          High effort. Favors reasoning depth.

          - `Type BetaManagedAgentsEffortHighType`

        - `type BetaManagedAgentsEffortXhigh`

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

          - `Type BetaManagedAgentsEffortXhighType`

        - `type BetaManagedAgentsEffortMax`

          Maximum effort. Favors reasoning depth over latency.

          - `Type BetaManagedAgentsEffortMaxType`

      - `InferenceGeo string Optional`

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

      - `Speed BetaManagedAgentsModelConfigSpeed Optional`

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

        - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

        - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

    - `Multiagent BetaManagedAgentsSessionMultiagentUnion`

      Resolved multiagent orchestration configuration. Null when the agent is single-threaded.

      - `type BetaManagedAgentsSessionMultiagentCoordinator`

        Resolved coordinator topology with full agent definitions for each roster member.

        - `Type BetaManagedAgentsSessionMultiagentCoordinatorType`

        - `Agents []BetaManagedAgentsSessionMultiagentCoordinatorAgentUnion`

          Full `agent` definitions the coordinator may spawn as session threads.

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

            - `Type BetaManagedAgentsSessionThreadAgentType`

            - `ID string`

            - `Description string`

            - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

              Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

            - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Type BetaManagedAgentsMCPServerURLDefinitionType`

              - `Name string`

              - `URL string`

            - `Model BetaManagedAgentsModelConfig`

              Model identifier and configuration.

            - `Name string`

            - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `type BetaManagedAgentsAnthropicSkill`

                A resolved Anthropic-managed skill.

                - `Type BetaManagedAgentsAnthropicSkillType`

                - `SkillID string`

                - `Version string`

              - `type BetaManagedAgentsCustomSkill`

                A resolved user-created custom skill.

                - `Type BetaManagedAgentsCustomSkillType`

                - `SkillID string`

                - `Version string`

            - `System string`

            - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `type BetaManagedAgentsAgentToolset20260401`

                - `Type BetaManagedAgentsAgentToolset20260401Type`

                - `Configs []BetaManagedAgentsAgentToolConfigUnion`

                  - `type BetaManagedAgentsBashToolConfig`

                    Configuration for the bash tool.

                    - `Type Bash`

                    - `Enabled bool`

                    - `Name Bash`

                    - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                        - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                        - `Type BetaManagedAgentsAlwaysAskPolicyType`

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                        - `Type Auto`

                  - `type BetaManagedAgentsEditToolConfig`

                    Configuration for the edit tool.

                    - `Type Edit`

                    - `Enabled bool`

                    - `Name Edit`

                    - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsReadToolConfig`

                    Configuration for the read tool.

                    - `Type Read`

                    - `Enabled bool`

                    - `Name Read`

                    - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsWriteToolConfig`

                    Configuration for the write tool.

                    - `Type Write`

                    - `Enabled bool`

                    - `Name Write`

                    - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsGlobToolConfig`

                    Configuration for the glob tool.

                    - `Type Glob`

                    - `Enabled bool`

                    - `Name Glob`

                    - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsGrepToolConfig`

                    Configuration for the grep tool.

                    - `Type Grep`

                    - `Enabled bool`

                    - `Name Grep`

                    - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsWebFetchToolConfig`

                    Configuration for the web_fetch tool.

                    - `Type WebFetch`

                    - `Enabled bool`

                    - `Name WebFetch`

                    - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `URLSources BetaManagedAgentsWebFetchURLSources`

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

                      - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

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

                        - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                          - `Type All`

                        - `type BetaManagedAgentsWebFetchURLSourceNone`

                          This source contributes no URLs that may be fetched.

                          - `Type None`

                        - `type BetaManagedAgentsWebFetchURLSourceOnly`

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

                          - `Type Only`

                          - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                            - `Type ToolReference`

                              Must be "tool_reference".

                            - `Name string`

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

                              minLength: 1, maxLength: 128

                        - `type BetaManagedAgentsWebFetchURLSourceExcept`

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

                          - `Type Except`

                          - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                            - `Type ToolReference`

                              Must be "tool_reference".

                            - `Name string`

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

                              minLength: 1, maxLength: 128

                      - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

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

                      - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

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

                        - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                        - `type BetaManagedAgentsWebFetchURLSourceNone`

                          This source contributes no URLs that may be fetched.

                    - `AllowedDomains []string Optional`

                    - `BlockedDomains []string Optional`

                    - `MaxContentTokens int64 Optional`

                      format: int32

                  - `type BetaManagedAgentsWebSearchToolConfig`

                    Configuration for the web_search tool.

                    - `Type WebSearch`

                    - `Enabled bool`

                    - `Name WebSearch`

                    - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `AllowedDomains []string Optional`

                    - `BlockedDomains []string Optional`

                    - `UserLocation BetaManagedAgentsUserLocation Optional`

                      Approximate user location for search result localization.

                      - `Type Approximate`

                        Location precision. Only "approximate" is supported.

                      - `City string Optional`

                        City name.

                        minLength: 1, maxLength: 255

                      - `Country string Optional`

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

                      - `Region string Optional`

                        Region or state name.

                        minLength: 1, maxLength: 255

                      - `Timezone string Optional`

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

                        minLength: 1, maxLength: 255

                - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

                  Resolved default configuration for agent tools.

                  - `Enabled bool`

                  - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsMCPToolset`

                - `Type BetaManagedAgentsMCPToolsetType`

                - `Configs []BetaManagedAgentsMCPToolConfig`

                  - `Enabled bool`

                  - `Name string`

                  - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

                  Resolved default configuration for all tools from an MCP server.

                  - `Enabled bool`

                  - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `MCPServerName string`

              - `type BetaManagedAgentsCustomTool`

                A custom tool as returned in API responses.

                - `Type BetaManagedAgentsCustomToolType`

                - `Description string`

                - `InputSchema BetaManagedAgentsCustomToolInputSchema`

                  JSON Schema for custom tool input parameters.

                  - `Type Object`

                  - `Properties map[string, any] Optional`

                  - `Required []string Optional`

                - `Name string`

            - `Version int64`

              format: int32

          - `type BetaManagedAgentsAdvisor`

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

            - `Type BetaManagedAgentsAdvisorType`

            - `Model string`

              The advisor model id.

      - `type BetaManagedAgentsSessionMultiagent20261001`

        Resolved multiagent configuration with three members, as copied to the `session` at creation.

        - `Type Multiagent20261001`

        - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

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

          - `type BetaManagedAgentsMultiagentAdvisorEnabled`

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

            - `Type Enabled`

            - `Model string`

              The advisor model id.

          - `type BetaManagedAgentsMultiagentAdvisorDisabled`

            The agent has no advisor.

            - `Type Disabled`

        - `Subagents BetaManagedAgentsSessionMultiagentSubagentsUnion`

          Whether the agent can spawn session threads.

          - `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

            The agent can spawn session threads.

            - `Type Enabled`

            - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

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

              - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

                The agent can define inline agents.

                - `Type Enabled`

              - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

                The agent cannot define inline agents.

                - `Type Disabled`

            - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

              Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `Version int64`

                format: int32

          - `type BetaManagedAgentsMultiagentSubagentsDisabled`

            The agent cannot spawn session threads.

            - `Type Disabled`

        - `Workflows BetaManagedAgentsSessionMultiagentWorkflowsUnion`

          Whether the agent can start workflow runs.

          - `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

            The agent can start workflow runs.

            - `Type Enabled`

            - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

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

            - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

              Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `Version int64`

                format: int32

          - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

            The agent cannot start workflow runs.

            - `Type Disabled`

    - `Name string`

    - `Skills []BetaManagedAgentsSessionAgentSkillUnion`

      - `type BetaManagedAgentsAnthropicSkill`

        A resolved Anthropic-managed skill.

      - `type BetaManagedAgentsCustomSkill`

        A resolved user-created custom skill.

    - `System string`

    - `Tools []BetaManagedAgentsSessionAgentToolUnion`

      - `type BetaManagedAgentsAgentToolset20260401`

      - `type BetaManagedAgentsMCPToolset`

      - `type BetaManagedAgentsCustomTool`

        A custom tool as returned in API responses.

    - `Version int64`

      format: int32

  - `ArchivedAt Time`

    When the session was archived. Null if not archived.

    format: date-time

  - `Budget BetaManagedAgentsBudgetLimit`

    The session's enforced spend ceiling, or null when no budget is set.

    - `Type BetaManagedAgentsBudgetLimitType`

    - `MaxListCost BetaMonetaryAmount`

      Maximum list cost the session may accrue. List price is used regardless of any negotiated discount, so the cap fires at or before the actual charge.

      - `Amount string`

        Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

      - `Currency BetaCurrency`

        Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

  - `CreatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

  - `EnvironmentID string`

  - `Metadata map[string, string]`

  - `OutcomeEvaluations []BetaManagedAgentsOutcomeEvaluationResource`

    Per-outcome evaluation state. One entry per `define_outcome` event sent to the session.

    - `Type BetaManagedAgentsOutcomeEvaluationResourceType`

    - `CompletedAt Time`

      When the outcome reached a terminal result. Null while `pending`/`running`/`evaluating`.

      format: date-time

    - `Description string`

      What the agent should produce.

    - `Explanation string`

      Grader's verdict text from the most recent evaluation. For `satisfied`, explains why criteria are met; for `needs_revision` (intermediate), what's missing; for `failed`, why unrecoverable.

    - `Iteration int64`

      0-indexed revision cycle the outcome is currently on.

      format: int32

    - `OutcomeID string`

      Server-generated outc_ ID for this outcome.

    - `Result string`

      Current evaluation state. `pending` before the agent begins work; `running` while producing or revising; `evaluating` while the grader scores; `satisfied`/`max_iterations_reached`/`failed`/`interrupted` are terminal.

  - `Resources []BetaManagedAgentsSessionResourceUnion`

    - `type BetaManagedAgentsGitHubRepositoryResource`

      - `Type BetaManagedAgentsGitHubRepositoryResourceType`

      - `ID string`

      - `CreatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `MountPath string`

      - `UpdatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `URL string`

      - `Checkout BetaManagedAgentsGitHubRepositoryResourceCheckoutUnion Optional`

        - `type BetaManagedAgentsBranchCheckout`

          - `Type BetaManagedAgentsBranchCheckoutType`

          - `Name string`

            Branch name to check out.

            minLength: 1, maxLength: 255

        - `type BetaManagedAgentsCommitCheckout`

          - `Type BetaManagedAgentsCommitCheckoutType`

          - `Sha string`

            Full commit SHA to check out.

            minLength: 7, maxLength: 64

    - `type BetaManagedAgentsFileResource`

      - `Type BetaManagedAgentsFileResourceType`

      - `ID string`

      - `CreatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `FileID string`

      - `MountPath string`

      - `UpdatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

    - `type BetaManagedAgentsMemoryStoreResource`

      A memory store attached to an agent session.

      - `Type BetaManagedAgentsMemoryStoreResourceType`

      - `MemoryStoreID string`

        The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

      - `Access BetaManagedAgentsMemoryStoreResourceAccess Optional`

        Access mode for the mounted store. Defaults to `read_write`. `read_only` mounts the store as a read-only filesystem.

        - `const BetaManagedAgentsMemoryStoreResourceAccessReadWrite BetaManagedAgentsMemoryStoreResourceAccess = "read_write"`

        - `const BetaManagedAgentsMemoryStoreResourceAccessReadOnly BetaManagedAgentsMemoryStoreResourceAccess = "read_only"`

      - `Description string Optional`

        Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

      - `Instructions string Optional`

        Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

        maxLength: 4096

      - `MountPath string Optional`

        Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

      - `Name string Optional`

        Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

  - `Stats BetaManagedAgentsSessionStats`

    Timing statistics for the session.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds the session spent in `running` status. Excludes idle time.

      format: double

    - `DurationSeconds float64 Optional`

      Elapsed time since session creation in seconds. For terminated sessions, frozen at the final update.

      format: double

  - `Status BetaManagedAgentsSessionStatus`

    - `const BetaManagedAgentsSessionStatusRescheduling BetaManagedAgentsSessionStatus = "rescheduling"`

      Transient error occurred, retrying automatically.

    - `const BetaManagedAgentsSessionStatusRunning BetaManagedAgentsSessionStatus = "running"`

      Agent is actively executing.

    - `const BetaManagedAgentsSessionStatusIdle BetaManagedAgentsSessionStatus = "idle"`

      Agent is waiting for input, including user messages or tool confirmations. Sessions start in idle.

    - `const BetaManagedAgentsSessionStatusTerminated BetaManagedAgentsSessionStatus = "terminated"`

      Session has ended, either due to an error or completion.

  - `Title string`

  - `UpdatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

  - `Usage BetaManagedAgentsSessionUsage`

    Cumulative token usage for the session.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds during which the session had at least one thread in running status. Overlapping activity from concurrent threads is counted once, unlike `stats.active_seconds`, which sums each thread's own active time. This is the duration the session's runtime cost is priced on.

      format: double

    - `CacheCreation BetaManagedAgentsCacheCreationUsage Optional`

      Tokens used to create prompt cache entries, broken down by cache TTL.

      - `Ephemeral1hInputTokens int64 Optional`

        Tokens used to create 1-hour ephemeral cache entries.

        format: int32

      - `Ephemeral5mInputTokens int64 Optional`

        Tokens used to create 5-minute ephemeral cache entries.

        format: int32

    - `CacheReadInputTokens int64 Optional`

      Total tokens read from prompt cache.

      format: int32

    - `InputTokens int64 Optional`

      Total input tokens consumed across all turns.

      format: int32

    - `ListCost BetaMonetaryAmount Optional`

      Cumulative list cost of the session across all turns, priced at public list rates. Absent until cost tracking is available for the session.

    - `OutputTokens int64 Optional`

      Total output tokens generated across all turns.

      format: int32

    - `ServerToolUse BetaManagedAgentsServerToolUsage Optional`

      Cumulative server-executed tool usage across all turns. Absent until server-tool tracking is available for the session.

      - `WebFetchRequests int64 Optional`

        Number of server-executed web fetch requests.

        format: int32

      - `WebSearchRequests int64 Optional`

        Number of server-executed web search requests.

        format: int32

  - `VaultIDs []string`

    Vault IDs attached to the session at creation. Empty when no vaults were supplied.

  - `DeploymentID string Optional`

    Deployment ID when the session was created from a deployment reference. Null otherwise.

### Example

```go
package main

import (
	"context"
	"fmt"

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

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	betaManagedAgentsSession, err := client.Beta.Sessions.Update(
		context.TODO(),
		"sesn_011CZkZAtmR3yMPDzynEDxu7",
		anthropic.BetaSessionUpdateParams{},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", betaManagedAgentsSession.ID)
}
```

#### Response (200)

```json
{
  "id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
  "agent": {
    "id": "agent_011CZkYpogX7uDKUyvBTophP",
    "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"
      }
    ],
    "model": {
      "id": "claude-opus-5-5",
      "effort": {
        "type": "low"
      },
      "inference_geo": "inference_geo",
      "speed": "standard"
    },
    "multiagent": {
      "agents": [
        {
          "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
          "description": "A focused research subagent.",
          "execution_identity": {
            "type": "service_account"
          },
          "mcp_servers": [
            {
              "name": "example-mcp",
              "type": "url",
              "url": "https://example-server.modelcontextprotocol.io/sse"
            }
          ],
          "model": {
            "id": "claude-opus-5-5",
            "effort": {
              "type": "low"
            },
            "inference_geo": "inference_geo",
            "speed": "standard"
          },
          "name": "Researcher",
          "skills": [
            {
              "skill_id": "xlsx",
              "type": "anthropic",
              "version": "1"
            }
          ],
          "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
          "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",
          "version": 1
        }
      ],
      "type": "coordinator"
    },
    "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",
    "version": 1
  },
  "archived_at": null,
  "budget": {
    "max_list_cost": {
      "amount": "2500",
      "currency": "USD"
    },
    "type": "limit"
  },
  "created_at": "2026-03-15T10:00:00Z",
  "environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
  "metadata": {},
  "outcome_evaluations": [
    {
      "completed_at": "2026-03-15T10:02:31Z",
      "description": "Produce a 2-page summary as summary.md",
      "explanation": "All five sections present with inline citations.",
      "iteration": 0,
      "outcome_id": "outc_011CZkZRSw2kEfs6ncTVmjxP",
      "result": "satisfied",
      "type": "outcome_evaluation"
    }
  ],
  "resources": [
    {
      "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
      "created_at": "2026-03-15T10:00:00Z",
      "file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
      "mount_path": "/uploads/receipt.pdf",
      "type": "file",
      "updated_at": "2026-03-15T10:00:00Z"
    },
    {
      "id": "sesrsc_011CZkZCKr6eXym1gWMPdQiu",
      "created_at": "2026-03-15T10:00:00Z",
      "mount_path": "/workspace/example-repo",
      "type": "github_repository",
      "updated_at": "2026-03-15T10:00:00Z",
      "url": "https://github.com/example-org/example-repo",
      "checkout": {
        "name": "main",
        "type": "branch"
      }
    }
  ],
  "stats": {
    "active_seconds": 0,
    "duration_seconds": 0
  },
  "status": "idle",
  "title": "Order #1234 inquiry",
  "type": "session",
  "updated_at": "2026-03-15T10:00:00Z",
  "usage": {
    "active_seconds": 0,
    "cache_creation": {
      "ephemeral_1h_input_tokens": 0,
      "ephemeral_5m_input_tokens": 0
    },
    "cache_read_input_tokens": 0,
    "input_tokens": 0,
    "list_cost": {
      "amount": "2500",
      "currency": "USD"
    },
    "output_tokens": 0,
    "server_tool_use": {
      "web_fetch_requests": 0,
      "web_search_requests": 3
    }
  },
  "vault_ids": [
    "vlt_011CZkZDLs7fYzm1hXNPeRjv"
  ],
  "deployment_id": "deployment_id"
}
```

## Delete Session

`client.Beta.Sessions.Delete(ctx, sessionID, body) (*BetaManagedAgentsDeletedSession, error)`

**DELETE** `/v1/sessions/{session_id}`

Delete Session

### Parameters

- `sessionID string` (path parameter)

- `body BetaSessionDeleteParams`

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### Returns

- `type BetaManagedAgentsDeletedSession`

  Confirmation that a `session` has been permanently deleted.

  - `Type BetaManagedAgentsDeletedSessionType`

  - `ID string`

### Example

```go
package main

import (
	"context"
	"fmt"

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

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	betaManagedAgentsDeletedSession, err := client.Beta.Sessions.Delete(
		context.TODO(),
		"sesn_011CZkZAtmR3yMPDzynEDxu7",
		anthropic.BetaSessionDeleteParams{},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", betaManagedAgentsDeletedSession.ID)
}
```

#### Response (200)

```json
{
  "id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
  "type": "session_deleted"
}
```

## Archive Session

`client.Beta.Sessions.Archive(ctx, sessionID, body) (*BetaManagedAgentsSession, error)`

**POST** `/v1/sessions/{session_id}/archive`

Archive Session

### Parameters

- `sessionID string` (path parameter)

- `body BetaSessionArchiveParams`

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### Returns

- `type BetaManagedAgentsSession`

  A Managed Agents `session`.

  - `Type BetaManagedAgentsSessionType`

  - `ID string`

  - `Agent BetaManagedAgentsSessionAgent`

    Resolved `agent` definition for a `session`. Snapshot of the `agent` at `session` creation time.

    - `Type BetaManagedAgentsSessionAgentType`

    - `ID string`

    - `Description string`

    - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

      Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

      - `type BetaManagedAgentsAWSRoleExecutionIdentity`

        An AWS IAM role principal as returned in API responses.

        - `Type AWSRole`

        - `RoleARN string`

          The IAM role's ARN.

      - `type BetaManagedAgentsServiceAccountExecutionIdentity`

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

        - `Type ServiceAccount`

    - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

      - `Type BetaManagedAgentsMCPServerURLDefinitionType`

      - `Name string`

      - `URL string`

    - `Model BetaManagedAgentsModelConfig`

      Model identifier and configuration.

      - `ID BetaManagedAgentsModel`

        The model that will power your agent.

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

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

          Fastest model for high-volume, real-time tasks

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

          Efficient model for coding and agents

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

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

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

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

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

          Efficient model for coding and agents

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

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

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Best combination of speed and intelligence

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

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

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

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

          High-performance model for agents and coding

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

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

          High-performance model for agents and coding

      - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

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

        - `type BetaManagedAgentsEffortLow`

          Low effort. Favors latency over reasoning depth.

          - `Type BetaManagedAgentsEffortLowType`

        - `type BetaManagedAgentsEffortMedium`

          Medium effort. Balances latency and reasoning depth.

          - `Type BetaManagedAgentsEffortMediumType`

        - `type BetaManagedAgentsEffortHigh`

          High effort. Favors reasoning depth.

          - `Type BetaManagedAgentsEffortHighType`

        - `type BetaManagedAgentsEffortXhigh`

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

          - `Type BetaManagedAgentsEffortXhighType`

        - `type BetaManagedAgentsEffortMax`

          Maximum effort. Favors reasoning depth over latency.

          - `Type BetaManagedAgentsEffortMaxType`

      - `InferenceGeo string Optional`

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

      - `Speed BetaManagedAgentsModelConfigSpeed Optional`

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

        - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

        - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

    - `Multiagent BetaManagedAgentsSessionMultiagentUnion`

      Resolved multiagent orchestration configuration. Null when the agent is single-threaded.

      - `type BetaManagedAgentsSessionMultiagentCoordinator`

        Resolved coordinator topology with full agent definitions for each roster member.

        - `Type BetaManagedAgentsSessionMultiagentCoordinatorType`

        - `Agents []BetaManagedAgentsSessionMultiagentCoordinatorAgentUnion`

          Full `agent` definitions the coordinator may spawn as session threads.

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

            - `Type BetaManagedAgentsSessionThreadAgentType`

            - `ID string`

            - `Description string`

            - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

              Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

            - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Type BetaManagedAgentsMCPServerURLDefinitionType`

              - `Name string`

              - `URL string`

            - `Model BetaManagedAgentsModelConfig`

              Model identifier and configuration.

            - `Name string`

            - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `type BetaManagedAgentsAnthropicSkill`

                A resolved Anthropic-managed skill.

                - `Type BetaManagedAgentsAnthropicSkillType`

                - `SkillID string`

                - `Version string`

              - `type BetaManagedAgentsCustomSkill`

                A resolved user-created custom skill.

                - `Type BetaManagedAgentsCustomSkillType`

                - `SkillID string`

                - `Version string`

            - `System string`

            - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `type BetaManagedAgentsAgentToolset20260401`

                - `Type BetaManagedAgentsAgentToolset20260401Type`

                - `Configs []BetaManagedAgentsAgentToolConfigUnion`

                  - `type BetaManagedAgentsBashToolConfig`

                    Configuration for the bash tool.

                    - `Type Bash`

                    - `Enabled bool`

                    - `Name Bash`

                    - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                        - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                        - `Type BetaManagedAgentsAlwaysAskPolicyType`

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                        - `Type Auto`

                  - `type BetaManagedAgentsEditToolConfig`

                    Configuration for the edit tool.

                    - `Type Edit`

                    - `Enabled bool`

                    - `Name Edit`

                    - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsReadToolConfig`

                    Configuration for the read tool.

                    - `Type Read`

                    - `Enabled bool`

                    - `Name Read`

                    - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsWriteToolConfig`

                    Configuration for the write tool.

                    - `Type Write`

                    - `Enabled bool`

                    - `Name Write`

                    - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsGlobToolConfig`

                    Configuration for the glob tool.

                    - `Type Glob`

                    - `Enabled bool`

                    - `Name Glob`

                    - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsGrepToolConfig`

                    Configuration for the grep tool.

                    - `Type Grep`

                    - `Enabled bool`

                    - `Name Grep`

                    - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsWebFetchToolConfig`

                    Configuration for the web_fetch tool.

                    - `Type WebFetch`

                    - `Enabled bool`

                    - `Name WebFetch`

                    - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `URLSources BetaManagedAgentsWebFetchURLSources`

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

                      - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

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

                        - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                          - `Type All`

                        - `type BetaManagedAgentsWebFetchURLSourceNone`

                          This source contributes no URLs that may be fetched.

                          - `Type None`

                        - `type BetaManagedAgentsWebFetchURLSourceOnly`

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

                          - `Type Only`

                          - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                            - `Type ToolReference`

                              Must be "tool_reference".

                            - `Name string`

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

                              minLength: 1, maxLength: 128

                        - `type BetaManagedAgentsWebFetchURLSourceExcept`

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

                          - `Type Except`

                          - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                            - `Type ToolReference`

                              Must be "tool_reference".

                            - `Name string`

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

                              minLength: 1, maxLength: 128

                      - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

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

                      - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

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

                        - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                        - `type BetaManagedAgentsWebFetchURLSourceNone`

                          This source contributes no URLs that may be fetched.

                    - `AllowedDomains []string Optional`

                    - `BlockedDomains []string Optional`

                    - `MaxContentTokens int64 Optional`

                      format: int32

                  - `type BetaManagedAgentsWebSearchToolConfig`

                    Configuration for the web_search tool.

                    - `Type WebSearch`

                    - `Enabled bool`

                    - `Name WebSearch`

                    - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `AllowedDomains []string Optional`

                    - `BlockedDomains []string Optional`

                    - `UserLocation BetaManagedAgentsUserLocation Optional`

                      Approximate user location for search result localization.

                      - `Type Approximate`

                        Location precision. Only "approximate" is supported.

                      - `City string Optional`

                        City name.

                        minLength: 1, maxLength: 255

                      - `Country string Optional`

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

                      - `Region string Optional`

                        Region or state name.

                        minLength: 1, maxLength: 255

                      - `Timezone string Optional`

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

                        minLength: 1, maxLength: 255

                - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

                  Resolved default configuration for agent tools.

                  - `Enabled bool`

                  - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsMCPToolset`

                - `Type BetaManagedAgentsMCPToolsetType`

                - `Configs []BetaManagedAgentsMCPToolConfig`

                  - `Enabled bool`

                  - `Name string`

                  - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

                  Resolved default configuration for all tools from an MCP server.

                  - `Enabled bool`

                  - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `MCPServerName string`

              - `type BetaManagedAgentsCustomTool`

                A custom tool as returned in API responses.

                - `Type BetaManagedAgentsCustomToolType`

                - `Description string`

                - `InputSchema BetaManagedAgentsCustomToolInputSchema`

                  JSON Schema for custom tool input parameters.

                  - `Type Object`

                  - `Properties map[string, any] Optional`

                  - `Required []string Optional`

                - `Name string`

            - `Version int64`

              format: int32

          - `type BetaManagedAgentsAdvisor`

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

            - `Type BetaManagedAgentsAdvisorType`

            - `Model string`

              The advisor model id.

      - `type BetaManagedAgentsSessionMultiagent20261001`

        Resolved multiagent configuration with three members, as copied to the `session` at creation.

        - `Type Multiagent20261001`

        - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

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

          - `type BetaManagedAgentsMultiagentAdvisorEnabled`

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

            - `Type Enabled`

            - `Model string`

              The advisor model id.

          - `type BetaManagedAgentsMultiagentAdvisorDisabled`

            The agent has no advisor.

            - `Type Disabled`

        - `Subagents BetaManagedAgentsSessionMultiagentSubagentsUnion`

          Whether the agent can spawn session threads.

          - `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

            The agent can spawn session threads.

            - `Type Enabled`

            - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

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

              - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

                The agent can define inline agents.

                - `Type Enabled`

              - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

                The agent cannot define inline agents.

                - `Type Disabled`

            - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

              Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `Version int64`

                format: int32

          - `type BetaManagedAgentsMultiagentSubagentsDisabled`

            The agent cannot spawn session threads.

            - `Type Disabled`

        - `Workflows BetaManagedAgentsSessionMultiagentWorkflowsUnion`

          Whether the agent can start workflow runs.

          - `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

            The agent can start workflow runs.

            - `Type Enabled`

            - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

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

            - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

              Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `Version int64`

                format: int32

          - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

            The agent cannot start workflow runs.

            - `Type Disabled`

    - `Name string`

    - `Skills []BetaManagedAgentsSessionAgentSkillUnion`

      - `type BetaManagedAgentsAnthropicSkill`

        A resolved Anthropic-managed skill.

      - `type BetaManagedAgentsCustomSkill`

        A resolved user-created custom skill.

    - `System string`

    - `Tools []BetaManagedAgentsSessionAgentToolUnion`

      - `type BetaManagedAgentsAgentToolset20260401`

      - `type BetaManagedAgentsMCPToolset`

      - `type BetaManagedAgentsCustomTool`

        A custom tool as returned in API responses.

    - `Version int64`

      format: int32

  - `ArchivedAt Time`

    When the session was archived. Null if not archived.

    format: date-time

  - `Budget BetaManagedAgentsBudgetLimit`

    The session's enforced spend ceiling, or null when no budget is set.

    - `Type BetaManagedAgentsBudgetLimitType`

    - `MaxListCost BetaMonetaryAmount`

      Maximum list cost the session may accrue. List price is used regardless of any negotiated discount, so the cap fires at or before the actual charge.

      - `Amount string`

        Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

      - `Currency BetaCurrency`

        Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

  - `CreatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

  - `EnvironmentID string`

  - `Metadata map[string, string]`

  - `OutcomeEvaluations []BetaManagedAgentsOutcomeEvaluationResource`

    Per-outcome evaluation state. One entry per `define_outcome` event sent to the session.

    - `Type BetaManagedAgentsOutcomeEvaluationResourceType`

    - `CompletedAt Time`

      When the outcome reached a terminal result. Null while `pending`/`running`/`evaluating`.

      format: date-time

    - `Description string`

      What the agent should produce.

    - `Explanation string`

      Grader's verdict text from the most recent evaluation. For `satisfied`, explains why criteria are met; for `needs_revision` (intermediate), what's missing; for `failed`, why unrecoverable.

    - `Iteration int64`

      0-indexed revision cycle the outcome is currently on.

      format: int32

    - `OutcomeID string`

      Server-generated outc_ ID for this outcome.

    - `Result string`

      Current evaluation state. `pending` before the agent begins work; `running` while producing or revising; `evaluating` while the grader scores; `satisfied`/`max_iterations_reached`/`failed`/`interrupted` are terminal.

  - `Resources []BetaManagedAgentsSessionResourceUnion`

    - `type BetaManagedAgentsGitHubRepositoryResource`

      - `Type BetaManagedAgentsGitHubRepositoryResourceType`

      - `ID string`

      - `CreatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `MountPath string`

      - `UpdatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `URL string`

      - `Checkout BetaManagedAgentsGitHubRepositoryResourceCheckoutUnion Optional`

        - `type BetaManagedAgentsBranchCheckout`

          - `Type BetaManagedAgentsBranchCheckoutType`

          - `Name string`

            Branch name to check out.

            minLength: 1, maxLength: 255

        - `type BetaManagedAgentsCommitCheckout`

          - `Type BetaManagedAgentsCommitCheckoutType`

          - `Sha string`

            Full commit SHA to check out.

            minLength: 7, maxLength: 64

    - `type BetaManagedAgentsFileResource`

      - `Type BetaManagedAgentsFileResourceType`

      - `ID string`

      - `CreatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `FileID string`

      - `MountPath string`

      - `UpdatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

    - `type BetaManagedAgentsMemoryStoreResource`

      A memory store attached to an agent session.

      - `Type BetaManagedAgentsMemoryStoreResourceType`

      - `MemoryStoreID string`

        The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

      - `Access BetaManagedAgentsMemoryStoreResourceAccess Optional`

        Access mode for the mounted store. Defaults to `read_write`. `read_only` mounts the store as a read-only filesystem.

        - `const BetaManagedAgentsMemoryStoreResourceAccessReadWrite BetaManagedAgentsMemoryStoreResourceAccess = "read_write"`

        - `const BetaManagedAgentsMemoryStoreResourceAccessReadOnly BetaManagedAgentsMemoryStoreResourceAccess = "read_only"`

      - `Description string Optional`

        Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

      - `Instructions string Optional`

        Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

        maxLength: 4096

      - `MountPath string Optional`

        Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

      - `Name string Optional`

        Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

  - `Stats BetaManagedAgentsSessionStats`

    Timing statistics for the session.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds the session spent in `running` status. Excludes idle time.

      format: double

    - `DurationSeconds float64 Optional`

      Elapsed time since session creation in seconds. For terminated sessions, frozen at the final update.

      format: double

  - `Status BetaManagedAgentsSessionStatus`

    - `const BetaManagedAgentsSessionStatusRescheduling BetaManagedAgentsSessionStatus = "rescheduling"`

      Transient error occurred, retrying automatically.

    - `const BetaManagedAgentsSessionStatusRunning BetaManagedAgentsSessionStatus = "running"`

      Agent is actively executing.

    - `const BetaManagedAgentsSessionStatusIdle BetaManagedAgentsSessionStatus = "idle"`

      Agent is waiting for input, including user messages or tool confirmations. Sessions start in idle.

    - `const BetaManagedAgentsSessionStatusTerminated BetaManagedAgentsSessionStatus = "terminated"`

      Session has ended, either due to an error or completion.

  - `Title string`

  - `UpdatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

  - `Usage BetaManagedAgentsSessionUsage`

    Cumulative token usage for the session.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds during which the session had at least one thread in running status. Overlapping activity from concurrent threads is counted once, unlike `stats.active_seconds`, which sums each thread's own active time. This is the duration the session's runtime cost is priced on.

      format: double

    - `CacheCreation BetaManagedAgentsCacheCreationUsage Optional`

      Tokens used to create prompt cache entries, broken down by cache TTL.

      - `Ephemeral1hInputTokens int64 Optional`

        Tokens used to create 1-hour ephemeral cache entries.

        format: int32

      - `Ephemeral5mInputTokens int64 Optional`

        Tokens used to create 5-minute ephemeral cache entries.

        format: int32

    - `CacheReadInputTokens int64 Optional`

      Total tokens read from prompt cache.

      format: int32

    - `InputTokens int64 Optional`

      Total input tokens consumed across all turns.

      format: int32

    - `ListCost BetaMonetaryAmount Optional`

      Cumulative list cost of the session across all turns, priced at public list rates. Absent until cost tracking is available for the session.

    - `OutputTokens int64 Optional`

      Total output tokens generated across all turns.

      format: int32

    - `ServerToolUse BetaManagedAgentsServerToolUsage Optional`

      Cumulative server-executed tool usage across all turns. Absent until server-tool tracking is available for the session.

      - `WebFetchRequests int64 Optional`

        Number of server-executed web fetch requests.

        format: int32

      - `WebSearchRequests int64 Optional`

        Number of server-executed web search requests.

        format: int32

  - `VaultIDs []string`

    Vault IDs attached to the session at creation. Empty when no vaults were supplied.

  - `DeploymentID string Optional`

    Deployment ID when the session was created from a deployment reference. Null otherwise.

### Example

```go
package main

import (
	"context"
	"fmt"

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

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	betaManagedAgentsSession, err := client.Beta.Sessions.Archive(
		context.TODO(),
		"sesn_011CZkZAtmR3yMPDzynEDxu7",
		anthropic.BetaSessionArchiveParams{},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", betaManagedAgentsSession.ID)
}
```

#### Response (200)

```json
{
  "id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
  "agent": {
    "id": "agent_011CZkYpogX7uDKUyvBTophP",
    "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"
      }
    ],
    "model": {
      "id": "claude-opus-5-5",
      "effort": {
        "type": "low"
      },
      "inference_geo": "inference_geo",
      "speed": "standard"
    },
    "multiagent": {
      "agents": [
        {
          "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
          "description": "A focused research subagent.",
          "execution_identity": {
            "type": "service_account"
          },
          "mcp_servers": [
            {
              "name": "example-mcp",
              "type": "url",
              "url": "https://example-server.modelcontextprotocol.io/sse"
            }
          ],
          "model": {
            "id": "claude-opus-5-5",
            "effort": {
              "type": "low"
            },
            "inference_geo": "inference_geo",
            "speed": "standard"
          },
          "name": "Researcher",
          "skills": [
            {
              "skill_id": "xlsx",
              "type": "anthropic",
              "version": "1"
            }
          ],
          "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
          "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",
          "version": 1
        }
      ],
      "type": "coordinator"
    },
    "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",
    "version": 1
  },
  "archived_at": null,
  "budget": {
    "max_list_cost": {
      "amount": "2500",
      "currency": "USD"
    },
    "type": "limit"
  },
  "created_at": "2026-03-15T10:00:00Z",
  "environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
  "metadata": {},
  "outcome_evaluations": [
    {
      "completed_at": "2026-03-15T10:02:31Z",
      "description": "Produce a 2-page summary as summary.md",
      "explanation": "All five sections present with inline citations.",
      "iteration": 0,
      "outcome_id": "outc_011CZkZRSw2kEfs6ncTVmjxP",
      "result": "satisfied",
      "type": "outcome_evaluation"
    }
  ],
  "resources": [
    {
      "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
      "created_at": "2026-03-15T10:00:00Z",
      "file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
      "mount_path": "/uploads/receipt.pdf",
      "type": "file",
      "updated_at": "2026-03-15T10:00:00Z"
    },
    {
      "id": "sesrsc_011CZkZCKr6eXym1gWMPdQiu",
      "created_at": "2026-03-15T10:00:00Z",
      "mount_path": "/workspace/example-repo",
      "type": "github_repository",
      "updated_at": "2026-03-15T10:00:00Z",
      "url": "https://github.com/example-org/example-repo",
      "checkout": {
        "name": "main",
        "type": "branch"
      }
    }
  ],
  "stats": {
    "active_seconds": 0,
    "duration_seconds": 0
  },
  "status": "idle",
  "title": "Order #1234 inquiry",
  "type": "session",
  "updated_at": "2026-03-15T10:00:00Z",
  "usage": {
    "active_seconds": 0,
    "cache_creation": {
      "ephemeral_1h_input_tokens": 0,
      "ephemeral_5m_input_tokens": 0
    },
    "cache_read_input_tokens": 0,
    "input_tokens": 0,
    "list_cost": {
      "amount": "2500",
      "currency": "USD"
    },
    "output_tokens": 0,
    "server_tool_use": {
      "web_fetch_requests": 0,
      "web_search_requests": 3
    }
  },
  "vault_ids": [
    "vlt_011CZkZDLs7fYzm1hXNPeRjv"
  ],
  "deployment_id": "deployment_id"
}
```

## Domain types

### Beta Managed Agents Advisor Params

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

  - `Type BetaManagedAgentsAdvisorParamsType`

  - `Model string`

    A Claude model id. The model must be permitted as an advisor for this agent's model.

    minLength: 1, maxLength: 256

### Beta Managed Agents Agent Message Preview

- `type BetaManagedAgentsAgentMessagePreview`

  - `Type BetaManagedAgentsAgentMessagePreviewType`

  - `ID string`

    The id the buffered agent.message will carry if it is emitted. Matches the event_id on this preview's event_delta events.

### Beta Managed Agents Agent Params

- `type BetaManagedAgentsAgentParams`

  Specification for an Agent. Provide a specific `version` or use the short-form `agent="agent_id"` for the most recent version

  - `Type BetaManagedAgentsAgentParamsType`

  - `ID string`

    The `agent` ID.

    minLength: 1, maxLength: 128

  - `Version int64 Optional`

    The specific `agent` version to use. Omit to use the latest version. Must be at least 1 if specified.

    format: int32

### Beta Managed Agents Agent Thinking Preview

- `type BetaManagedAgentsAgentThinkingPreview`

  - `Type BetaManagedAgentsAgentThinkingPreviewType`

  - `ID string`

    The id the buffered agent.thinking will carry if it is emitted. Start-only — no event_delta events follow.

### Beta Managed Agents Agent With Overrides Params

- `type BetaManagedAgentsAgentWithOverridesParams`

  Reference to an `agent` plus optional configuration overrides. Each provided field replaces the agent's value for the caller's use; the agent resource is unchanged.

  - `Type BetaManagedAgentsAgentWithOverridesParamsType`

  - `ID string`

    The `agent` ID.

    minLength: 1, maxLength: 128

  - `MCPServers []BetaManagedAgentsURLMCPServerParams Optional`

    Replacement MCP server list. Full replacement: the provided array becomes the MCP servers. Send an empty array to clear; omit to preserve the agent's servers.

    - `Type BetaManagedAgentsURLMCPServerParamsType`

    - `Name string`

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

      minLength: 1, maxLength: 255

    - `URL string`

      Endpoint URL for the MCP server.

      maxLength: 2048

  - `Model BetaManagedAgentsModelConfigParams Optional`

    Replacement model. Accepts the model string, e.g. `claude-opus-5-5`, or a `model_config` object. Omit to use the agent's model.

    - `type BetaManagedAgentsModelConfigParams`

      An object that defines additional configuration control over model use

      - `ID BetaManagedAgentsModel`

        The model that will power your agent.

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

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

          Fastest model for high-volume, real-time tasks

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

          Efficient model for coding and agents

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

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

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

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

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

          Efficient model for coding and agents

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

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

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Best combination of speed and intelligence

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

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

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

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

          High-performance model for agents and coding

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

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

          High-performance model for agents and coding

      - `Effort BetaManagedAgentsModelConfigParamsEffortUnion Optional`

        How hard Claude works on each inference call. Accepts a bare level string (`"high"`) or `{"type": "high"}`. On create, omitting it resolves the per-model default; on update, omitting it leaves the stored value unchanged.

        - `type BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel string`

          How hard Claude works on each turn. Higher levels favor reasoning depth over latency. Not all models accept every level; invalid combinations are rejected at create time.

          - `const BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevelLow BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel = "low"`

            Low effort. Favors latency over reasoning depth.

          - `const BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevelMedium BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel = "medium"`

            Medium effort. Balances latency and reasoning depth.

          - `const BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevelHigh BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel = "high"`

            High effort. Favors reasoning depth.

          - `const BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevelXhigh BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel = "xhigh"`

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

          - `const BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevelMax BetaManagedAgentsModelConfigParamsEffortBetaManagedAgentsEffortLevel = "max"`

            Maximum effort. Favors reasoning depth over latency.

        - `type BetaManagedAgentsEffortLow`

          Low effort. Favors latency over reasoning depth.

          - `Type BetaManagedAgentsEffortLowType`

        - `type BetaManagedAgentsEffortMedium`

          Medium effort. Balances latency and reasoning depth.

          - `Type BetaManagedAgentsEffortMediumType`

        - `type BetaManagedAgentsEffortHigh`

          High effort. Favors reasoning depth.

          - `Type BetaManagedAgentsEffortHighType`

        - `type BetaManagedAgentsEffortXhigh`

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

          - `Type BetaManagedAgentsEffortXhighType`

        - `type BetaManagedAgentsEffortMax`

          Maximum effort. Favors reasoning depth over latency.

          - `Type BetaManagedAgentsEffortMaxType`

      - `InferenceGeo string Optional`

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

      - `Speed BetaManagedAgentsModelConfigParamsSpeed Optional`

        Inference speed mode. Defaults to `standard`.

        - `const BetaManagedAgentsModelConfigParamsSpeedStandard BetaManagedAgentsModelConfigParamsSpeed = "standard"`

        - `const BetaManagedAgentsModelConfigParamsSpeedFast BetaManagedAgentsModelConfigParamsSpeed = "fast"`

  - `Skills []BetaManagedAgentsSkillParamsUnion Optional`

    Replacement skill list. Full replacement: the provided array becomes the skills. Send an empty array to clear; omit to preserve the agent's skills.

    - `type BetaManagedAgentsAnthropicSkillParams`

      An Anthropic-managed skill.

      - `Type BetaManagedAgentsAnthropicSkillParamsType`

      - `SkillID string`

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

        minLength: 1, maxLength: 64

      - `Version string Optional`

        Version to pin. Defaults to latest if omitted.

        minLength: 1, maxLength: 64

    - `type BetaManagedAgentsCustomSkillParams`

      A user-created custom skill.

      - `Type BetaManagedAgentsCustomSkillParamsType`

      - `SkillID string`

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

        minLength: 1, maxLength: 64

      - `Version string Optional`

        Version to pin. Defaults to latest if omitted.

        minLength: 1, maxLength: 64

  - `System string Optional`

    Replacement system prompt. Up to 100,000 characters. Set to null to clear the agent's system prompt; omit to preserve it.

    maxLength: 100000

  - `Tools []BetaManagedAgentsAgentWithOverridesParamsToolUnion Optional`

    Replacement tool list. Full replacement: the provided array becomes the tool configuration. Send an empty array to clear; omit to preserve the agent's tools.

    - `type BetaManagedAgentsAgentToolset20260401Params`

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

      - `Type BetaManagedAgentsAgentToolset20260401ParamsType`

      - `Configs []BetaManagedAgentsAgentToolConfigParamsUnion Optional`

        Per-tool configuration overrides.

        - `type BetaManagedAgentsBashToolConfigParams`

          Configuration override for the bash tool.

          - `Type BetaManagedAgentsBashToolConfigParamsType Optional`

          - `Name Bash`

            Must be "bash".

          - `Enabled bool Optional`

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

          - `PermissionPolicy BetaManagedAgentsBashToolConfigParamsPermissionPolicyUnion Optional`

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

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

              - `Type BetaManagedAgentsAlwaysAllowPolicyType`

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

              - `Type BetaManagedAgentsAlwaysAskPolicyType`

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `Type Auto`

        - `type BetaManagedAgentsEditToolConfigParams`

          Configuration override for the edit tool.

          - `Type BetaManagedAgentsEditToolConfigParamsType Optional`

          - `Name Edit`

            Must be "edit".

          - `Enabled bool Optional`

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

          - `PermissionPolicy BetaManagedAgentsEditToolConfigParamsPermissionPolicyUnion Optional`

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

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsReadToolConfigParams`

          Configuration override for the read tool.

          - `Type BetaManagedAgentsReadToolConfigParamsType Optional`

          - `Name Read`

            Must be "read".

          - `Enabled bool Optional`

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

          - `PermissionPolicy BetaManagedAgentsReadToolConfigParamsPermissionPolicyUnion Optional`

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

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsWriteToolConfigParams`

          Configuration override for the write tool.

          - `Type BetaManagedAgentsWriteToolConfigParamsType Optional`

          - `Name Write`

            Must be "write".

          - `Enabled bool Optional`

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

          - `PermissionPolicy BetaManagedAgentsWriteToolConfigParamsPermissionPolicyUnion Optional`

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

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsGlobToolConfigParams`

          Configuration override for the glob tool.

          - `Type BetaManagedAgentsGlobToolConfigParamsType Optional`

          - `Name Glob`

            Must be "glob".

          - `Enabled bool Optional`

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

          - `PermissionPolicy BetaManagedAgentsGlobToolConfigParamsPermissionPolicyUnion Optional`

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

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsGrepToolConfigParams`

          Configuration override for the grep tool.

          - `Type BetaManagedAgentsGrepToolConfigParamsType Optional`

          - `Name Grep`

            Must be "grep".

          - `Enabled bool Optional`

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

          - `PermissionPolicy BetaManagedAgentsGrepToolConfigParamsPermissionPolicyUnion Optional`

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

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsWebFetchToolConfigParams`

          Configuration override for the web_fetch tool.

          - `Type BetaManagedAgentsWebFetchToolConfigParamsType Optional`

          - `Name WebFetch`

            Must be "web_fetch".

          - `AllowedDomains []string Optional`

            Only fetch URLs whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "docs.example.com" (no scheme, port, or path). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with blocked_domains.

          - `BlockedDomains []string Optional`

            Never fetch URLs whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "ads.example.com" (no scheme, port, or path). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with allowed_domains.

          - `Enabled bool Optional`

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

          - `MaxContentTokens int64 Optional`

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

            format: int32

          - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigParamsPermissionPolicyUnion Optional`

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

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `URLSources BetaManagedAgentsWebFetchURLSourcesParams Optional`

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

            - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterParamsUnion Optional`

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

              - `type BetaManagedAgentsWebFetchURLSourceShorthand string`

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

                - `const BetaManagedAgentsWebFetchURLSourceShorthandAll BetaManagedAgentsWebFetchURLSourceShorthand = "all"`

                - `const BetaManagedAgentsWebFetchURLSourceShorthandNone BetaManagedAgentsWebFetchURLSourceShorthand = "none"`

              - `type BetaManagedAgentsWebFetchURLSourceToolFilterUnion interface{…}`

                Which tools' results contribute URLs that may be fetched.

                - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                  - `Type All`

                - `type BetaManagedAgentsWebFetchURLSourceNone`

                  This source contributes no URLs that may be fetched.

                  - `Type None`

                - `type BetaManagedAgentsWebFetchURLSourceOnly`

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

                  - `Type Only`

                  - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                    - `Type ToolReference`

                      Must be "tool_reference".

                    - `Name string`

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

                      minLength: 1, maxLength: 128

                - `type BetaManagedAgentsWebFetchURLSourceExcept`

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

                  - `Type Except`

                  - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                    - `Type ToolReference`

                      Must be "tool_reference".

                    - `Name string`

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

                      minLength: 1, maxLength: 128

            - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterParamsUnion Optional`

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

            - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputParamsUnion Optional`

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

              - `type BetaManagedAgentsWebFetchURLSourceShorthand string`

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

              - `type BetaManagedAgentsWebFetchURLSourceUserInputUnion interface{…}`

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

                - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                - `type BetaManagedAgentsWebFetchURLSourceNone`

                  This source contributes no URLs that may be fetched.

        - `type BetaManagedAgentsWebSearchToolConfigParams`

          Configuration override for the web_search tool.

          - `Type BetaManagedAgentsWebSearchToolConfigParamsType Optional`

          - `Name WebSearch`

            Must be "web_search".

          - `AllowedDomains []string Optional`

            Only return search results whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "docs.example.com" (no scheme or port; an optional path suffix is accepted). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with blocked_domains.

          - `BlockedDomains []string Optional`

            Never return search results whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "ads.example.com" (no scheme or port; an optional path suffix is accepted). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with allowed_domains.

          - `Enabled bool Optional`

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

          - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigParamsPermissionPolicyUnion Optional`

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

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `UserLocation BetaManagedAgentsUserLocationParam Optional`

            Approximate user location for search result localization.

            - `Type Approximate`

              Location precision. Only "approximate" is supported.

            - `City string Optional`

              City name.

              minLength: 1, maxLength: 255

            - `Country string Optional`

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

            - `Region string Optional`

              Region or state name.

              minLength: 1, maxLength: 255

            - `Timezone string Optional`

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

              minLength: 1, maxLength: 255

      - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfigParams Optional`

        Default configuration applied to all tools in this set.

        - `Enabled bool Optional`

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

        - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigParamsPermissionPolicyUnion Optional`

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

          - `type BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `type BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `type BetaManagedAgentsAutoPolicy`

            The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

    - `type BetaManagedAgentsMCPToolsetParams`

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

      - `Type BetaManagedAgentsMCPToolsetParamsType`

      - `MCPServerName string`

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

        minLength: 1, maxLength: 255

      - `Configs []BetaManagedAgentsMCPToolConfigParams Optional`

        Per-tool configuration overrides.

        - `Name string`

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

          minLength: 1, maxLength: 128

        - `Enabled bool Optional`

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

        - `PermissionPolicy BetaManagedAgentsMCPToolConfigParamsPermissionPolicyUnion Optional`

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

          - `type BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `type BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `type BetaManagedAgentsAutoPolicy`

            The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

      - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfigParams Optional`

        Default configuration for all tools from this server.

        - `Enabled bool Optional`

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

        - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigParamsPermissionPolicyUnion Optional`

          Default permission policy for tools from this server.

          - `type BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `type BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `type BetaManagedAgentsAutoPolicy`

            The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

    - `type BetaManagedAgentsCustomToolParams`

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

      - `Type BetaManagedAgentsCustomToolParamsType`

      - `Description string`

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

        minLength: 1

      - `InputSchema BetaManagedAgentsCustomToolInputSchemaParam`

        JSON Schema defining the expected input parameters for the tool.

        - `Type Object`

        - `Properties map[string, any] Optional`

        - `Required []string Optional`

      - `Name string`

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

        minLength: 1, maxLength: 128

  - `Version int64 Optional`

    The specific `agent` version to use. Omit to use the latest version.

    format: int32

### Beta Managed Agents Branch Checkout

- `type BetaManagedAgentsBranchCheckout`

  - `Type BetaManagedAgentsBranchCheckoutType`

  - `Name string`

    Branch name to check out.

    minLength: 1, maxLength: 255

### Beta Managed Agents Budget Limit

- `type BetaManagedAgentsBudgetLimit`

  A hard spend ceiling. The session stops issuing new model requests once the tracked list cost reaches `max_list_cost`.

  - `Type BetaManagedAgentsBudgetLimitType`

  - `MaxListCost BetaMonetaryAmount`

    Maximum list cost the session may accrue. List price is used regardless of any negotiated discount, so the cap fires at or before the actual charge.

    - `Amount string`

      Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

    - `Currency BetaCurrency`

      Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

### Beta Managed Agents Cache Creation Usage

- `type BetaManagedAgentsCacheCreationUsage`

  Prompt-cache creation token usage broken down by cache lifetime.

  - `Ephemeral1hInputTokens int64 Optional`

    Tokens used to create 1-hour ephemeral cache entries.

    format: int32

  - `Ephemeral5mInputTokens int64 Optional`

    Tokens used to create 5-minute ephemeral cache entries.

    format: int32

### Beta Managed Agents Commit Checkout

- `type BetaManagedAgentsCommitCheckout`

  - `Type BetaManagedAgentsCommitCheckoutType`

  - `Sha string`

    Full commit SHA to check out.

    minLength: 7, maxLength: 64

### Beta Managed Agents Deleted Session

- `type BetaManagedAgentsDeletedSession`

  Confirmation that a `session` has been permanently deleted.

  - `Type BetaManagedAgentsDeletedSessionType`

  - `ID string`

### Beta Managed Agents Delta Content

- `type BetaManagedAgentsDeltaContent`

  - `Type BetaManagedAgentsDeltaContentType`

  - `Content BetaManagedAgentsTextBlock`

    A partial element of the content array at index, typed like the element itself — the same shape the buffered agent.message carries in content.

    - `Type BetaManagedAgentsTextBlockType`

    - `Text string`

      The text content.

      minLength: 1

  - `Index int64 Optional`

    Which entry in the previewed event's content array this fragment lands in. Insert content as that entry when the index is new; append to the existing entry otherwise.

### Beta Managed Agents Delta Event

- `type BetaManagedAgentsDeltaEvent`

  An incremental update to an event that is still being streamed. Deltas are best-effort and may stop early; when the buffered event with id == event_id is produced it carries the complete content. A model request that ends early (an error or interrupt) produces no buffered event — its terminal span.model_request_end closes the preview. Only sent on stream connections that opt in via event_deltas; never appears in event history.

  - `Type BetaManagedAgentsDeltaEventType`

  - `Delta BetaManagedAgentsDeltaContent`

    One fragment of the previewed event. The delta type is named for the previewed event's field it streams into: agent.message events stream content_delta fragments, each a partial element of the content array.

    - `Type BetaManagedAgentsDeltaContentType`

    - `Content BetaManagedAgentsTextBlock`

      A partial element of the content array at index, typed like the element itself — the same shape the buffered agent.message carries in content.

      - `Type BetaManagedAgentsTextBlockType`

      - `Text string`

        The text content.

        minLength: 1

    - `Index int64 Optional`

      Which entry in the previewed event's content array this fragment lands in. Insert content as that entry when the index is new; append to the existing entry otherwise.

  - `EventID string`

    The id of the event being previewed. Matches event.id on the corresponding event_start and the buffered event that reconciles the preview.

### Beta Managed Agents Delta Type

- `type BetaManagedAgentsDeltaType string`

  - `const BetaManagedAgentsDeltaTypeAgentMessage BetaManagedAgentsDeltaType = "agent.message"`

  - `const BetaManagedAgentsDeltaTypeAgentThinking BetaManagedAgentsDeltaType = "agent.thinking"`

### Beta Managed Agents File Resource Params

- `type BetaManagedAgentsFileResourceParams`

  Mount a file uploaded via the Files API into the session.

  - `Type BetaManagedAgentsFileResourceParamsType`

  - `FileID string`

    ID of a previously uploaded file.

    minLength: 1, maxLength: 128

  - `MountPath string Optional`

    Mount path in the container. Defaults to `/mnt/session/uploads/<file_id>`.

    minLength: 1, maxLength: 4096

### Beta Managed Agents GitHub Repository Resource Params

- `type BetaManagedAgentsGitHubRepositoryResourceParams`

  Mount a GitHub repository into the session's container.

  - `Type BetaManagedAgentsGitHubRepositoryResourceParamsType`

  - `URL string`

    Github URL of the repository

    minLength: 1, maxLength: 2048

  - `AuthorizationToken string Optional`

    GitHub authorization token used to clone the repository. Required for private repositories; optional for public ones.

    minLength: 1, maxLength: 4096

  - `Checkout BetaManagedAgentsGitHubRepositoryResourceParamsCheckoutUnion Optional`

    Branch or commit to check out. Defaults to the repository's default branch.

    - `type BetaManagedAgentsBranchCheckout`

      - `Type BetaManagedAgentsBranchCheckoutType`

      - `Name string`

        Branch name to check out.

        minLength: 1, maxLength: 255

    - `type BetaManagedAgentsCommitCheckout`

      - `Type BetaManagedAgentsCommitCheckoutType`

      - `Sha string`

        Full commit SHA to check out.

        minLength: 7, maxLength: 64

  - `MountPath string Optional`

    Mount path in the container. Defaults to `/workspace/<repo-name>`.

    minLength: 1, maxLength: 4096

### Beta Managed Agents Memory Store Resource Param

- `type BetaManagedAgentsMemoryStoreResourceParam`

  Parameters for attaching a memory store to an agent session.

  - `Type BetaManagedAgentsMemoryStoreResourceParamType`

  - `MemoryStoreID string`

    The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

  - `Access BetaManagedAgentsMemoryStoreResourceParamAccess Optional`

    Access mode for the mounted store. Defaults to read_write. read_only mounts the store as a read-only filesystem.

    - `const BetaManagedAgentsMemoryStoreResourceParamAccessReadWrite BetaManagedAgentsMemoryStoreResourceParamAccess = "read_write"`

    - `const BetaManagedAgentsMemoryStoreResourceParamAccessReadOnly BetaManagedAgentsMemoryStoreResourceParamAccess = "read_only"`

  - `Instructions string Optional`

    Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

    maxLength: 4096

### Beta Managed Agents Multiagent

- `type BetaManagedAgentsMultiagentUnion interface{…}`

  Resolved multiagent orchestration configuration as returned in API responses.

  - `type BetaManagedAgentsMultiagentCoordinator`

    Resolved coordinator topology with a concrete agent roster.

    - `Type BetaManagedAgentsMultiagentCoordinatorType`

    - `Agents []BetaManagedAgentsMultiagentCoordinatorAgentUnion`

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

      - `type BetaManagedAgentsAgentReference`

        A resolved agent reference with a concrete version.

        - `Type BetaManagedAgentsAgentReferenceType`

        - `ID string`

        - `Version int64`

          format: int32

      - `type BetaManagedAgentsAdvisor`

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

        - `Type BetaManagedAgentsAdvisorType`

        - `Model string`

          The advisor model id.

  - `type BetaManagedAgentsMultiagent20261001`

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

    - `Type Multiagent20261001`

    - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

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

      - `type BetaManagedAgentsMultiagentAdvisorEnabled`

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

        - `Type Enabled`

        - `Model string`

          The advisor model id.

      - `type BetaManagedAgentsMultiagentAdvisorDisabled`

        The agent has no advisor.

        - `Type Disabled`

    - `Subagents BetaManagedAgentsMultiagentSubagentsUnion`

      Whether the agent can spawn session threads.

      - `type BetaManagedAgentsMultiagentSubagentsEnabled`

        The agent can spawn session threads.

        - `Type Enabled`

        - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

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

          - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

            The agent can define inline agents.

            - `Type Enabled`

          - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

            The agent cannot define inline agents.

            - `Type Disabled`

        - `PredefinedAgents []BetaManagedAgentsAgentReference`

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

          - `Type BetaManagedAgentsAgentReferenceType`

          - `ID string`

          - `Version int64`

            format: int32

      - `type BetaManagedAgentsMultiagentSubagentsDisabled`

        The agent cannot spawn session threads.

        - `Type Disabled`

    - `Workflows BetaManagedAgentsMultiagentWorkflowsUnion`

      Whether the agent can start workflow runs.

      - `type BetaManagedAgentsMultiagentWorkflowsEnabled`

        The agent can start workflow runs.

        - `Type Enabled`

        - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

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

        - `PredefinedAgents []BetaManagedAgentsAgentReference`

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

          - `Type BetaManagedAgentsAgentReferenceType`

          - `ID string`

          - `Version int64`

            format: int32

      - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

        The agent cannot start workflow runs.

        - `Type Disabled`

### Beta Managed Agents Multiagent Params

- `type BetaManagedAgentsMultiagentParamsUnion interface{…}`

  Multiagent orchestration configuration.

  - `type BetaManagedAgentsMultiagentCoordinatorParams`

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

    - `Type BetaManagedAgentsMultiagentCoordinatorParamsType`

    - `Agents []BetaManagedAgentsMultiagentRosterEntryParamsUnion`

      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`

      - `type BetaManagedAgentsAgentParams`

        Specification for an Agent. Provide a specific `version` or use the short-form `agent="agent_id"` for the most recent version

        - `Type BetaManagedAgentsAgentParamsType`

        - `ID string`

          The `agent` ID.

          minLength: 1, maxLength: 128

        - `Version int64 Optional`

          The specific `agent` version to use. Omit to use the latest version. Must be at least 1 if specified.

          format: int32

      - `type BetaManagedAgentsMultiagentSelfParams`

        Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.

        - `Type BetaManagedAgentsMultiagentSelfParamsType`

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

        - `Type BetaManagedAgentsAdvisorParamsType`

        - `Model string`

          A Claude model id. The model must be permitted as an advisor for this agent's model.

          minLength: 1, maxLength: 256

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

    - `Type Multiagent20261001`

    - `Advisor BetaManagedAgentsMultiagentAdvisorParamsUnion Optional`

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

      - `type BetaManagedAgentsMultiagentAdvisorEnabledParams`

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

        - `Type Enabled`

        - `Model string`

          A Claude model id. The model must be permitted as an advisor for this agent's model.

          minLength: 1, maxLength: 256

      - `type BetaManagedAgentsMultiagentAdvisorDisabledParams`

        The agent has no advisor.

        - `Type Disabled`

    - `Subagents BetaManagedAgentsMultiagentSubagentsParamsUnion Optional`

      Whether the agent can spawn session threads. Defaults to enabled.

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

        - `Type Enabled`

        - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsParamsUnion Optional`

          Whether the agent can define inline agents when it spawns session threads. Defaults to enabled.

          - `type BetaManagedAgentsMultiagentInlineAgentsEnabledParams`

            The agent can define inline agents.

            - `Type Enabled`

          - `type BetaManagedAgentsMultiagentInlineAgentsDisabledParams`

            The agent cannot define inline agents.

            - `Type Disabled`

        - `PredefinedAgents []BetaManagedAgentsMultiagentPredefinedAgentParamsUnion Optional`

          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`

          - `type BetaManagedAgentsAgentParams`

            Specification for an Agent. Provide a specific `version` or use the short-form `agent="agent_id"` for the most recent version

          - `type BetaManagedAgentsMultiagentSelfParams`

            Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.

      - `type BetaManagedAgentsMultiagentSubagentsDisabledParams`

        The agent cannot spawn session threads.

        - `Type Disabled`

    - `Workflows BetaManagedAgentsMultiagentWorkflowsParamsUnion Optional`

      Whether the agent can start workflow runs. Defaults to enabled.

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

        - `Type Enabled`

        - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsParamsUnion Optional`

          Whether a run's plan can define inline agents. Defaults to enabled.

        - `PredefinedAgents []BetaManagedAgentsMultiagentPredefinedAgentParamsUnion Optional`

          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`

          - `type BetaManagedAgentsAgentParams`

            Specification for an Agent. Provide a specific `version` or use the short-form `agent="agent_id"` for the most recent version

          - `type BetaManagedAgentsMultiagentSelfParams`

            Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.

      - `type BetaManagedAgentsMultiagentWorkflowsDisabledParams`

        The agent cannot start workflow runs.

        - `Type Disabled`

### Beta Managed Agents Multiagent Roster Entry Params

- `type BetaManagedAgentsMultiagentRosterEntryParamsUnion interface{…}`

  An entry in a multiagent roster: an agent ID string, a versioned agent reference, or `self`.

  - `string`

  - `type BetaManagedAgentsAgentParams`

    Specification for an Agent. Provide a specific `version` or use the short-form `agent="agent_id"` for the most recent version

    - `Type BetaManagedAgentsAgentParamsType`

    - `ID string`

      The `agent` ID.

      minLength: 1, maxLength: 128

    - `Version int64 Optional`

      The specific `agent` version to use. Omit to use the latest version. Must be at least 1 if specified.

      format: int32

  - `type BetaManagedAgentsMultiagentSelfParams`

    Sentinel roster entry meaning "the agent that owns this configuration". Resolved server-side to a concrete agent reference.

    - `Type BetaManagedAgentsMultiagentSelfParamsType`

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

    - `Type BetaManagedAgentsAdvisorParamsType`

    - `Model string`

      A Claude model id. The model must be permitted as an advisor for this agent's model.

      minLength: 1, maxLength: 256

### Beta Managed Agents Outcome Evaluation Resource

- `type BetaManagedAgentsOutcomeEvaluationResource`

  Evaluation state for a single outcome defined via a `define_outcome` event.

  - `Type BetaManagedAgentsOutcomeEvaluationResourceType`

  - `CompletedAt Time`

    When the outcome reached a terminal result. Null while `pending`/`running`/`evaluating`.

    format: date-time

  - `Description string`

    What the agent should produce.

  - `Explanation string`

    Grader's verdict text from the most recent evaluation. For `satisfied`, explains why criteria are met; for `needs_revision` (intermediate), what's missing; for `failed`, why unrecoverable.

  - `Iteration int64`

    0-indexed revision cycle the outcome is currently on.

    format: int32

  - `OutcomeID string`

    Server-generated outc_ ID for this outcome.

  - `Result string`

    Current evaluation state. `pending` before the agent begins work; `running` while producing or revising; `evaluating` while the grader scores; `satisfied`/`max_iterations_reached`/`failed`/`interrupted` are terminal.

### Beta Managed Agents Server Tool Usage

- `type BetaManagedAgentsServerToolUsage`

  Cumulative count of server-executed tool invocations, broken down by tool.

  - `WebFetchRequests int64 Optional`

    Number of server-executed web fetch requests.

    format: int32

  - `WebSearchRequests int64 Optional`

    Number of server-executed web search requests.

    format: int32

### Beta Managed Agents Session

- `type BetaManagedAgentsSession`

  A Managed Agents `session`.

  - `Type BetaManagedAgentsSessionType`

  - `ID string`

  - `Agent BetaManagedAgentsSessionAgent`

    Resolved `agent` definition for a `session`. Snapshot of the `agent` at `session` creation time.

    - `Type BetaManagedAgentsSessionAgentType`

    - `ID string`

    - `Description string`

    - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

      Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

      - `type BetaManagedAgentsAWSRoleExecutionIdentity`

        An AWS IAM role principal as returned in API responses.

        - `Type AWSRole`

        - `RoleARN string`

          The IAM role's ARN.

      - `type BetaManagedAgentsServiceAccountExecutionIdentity`

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

        - `Type ServiceAccount`

    - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

      - `Type BetaManagedAgentsMCPServerURLDefinitionType`

      - `Name string`

      - `URL string`

    - `Model BetaManagedAgentsModelConfig`

      Model identifier and configuration.

      - `ID BetaManagedAgentsModel`

        The model that will power your agent.

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

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

          Fastest model for high-volume, real-time tasks

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

          Efficient model for coding and agents

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

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

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

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

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

          Efficient model for coding and agents

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

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

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

          Best combination of speed and intelligence

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

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

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

          Powerful intelligence for long-running agents and coding

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

          Powerful intelligence for long-running agents and coding

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

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

          High-performance model for agents and coding

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

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

          High-performance model for agents and coding

      - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

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

        - `type BetaManagedAgentsEffortLow`

          Low effort. Favors latency over reasoning depth.

          - `Type BetaManagedAgentsEffortLowType`

        - `type BetaManagedAgentsEffortMedium`

          Medium effort. Balances latency and reasoning depth.

          - `Type BetaManagedAgentsEffortMediumType`

        - `type BetaManagedAgentsEffortHigh`

          High effort. Favors reasoning depth.

          - `Type BetaManagedAgentsEffortHighType`

        - `type BetaManagedAgentsEffortXhigh`

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

          - `Type BetaManagedAgentsEffortXhighType`

        - `type BetaManagedAgentsEffortMax`

          Maximum effort. Favors reasoning depth over latency.

          - `Type BetaManagedAgentsEffortMaxType`

      - `InferenceGeo string Optional`

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

      - `Speed BetaManagedAgentsModelConfigSpeed Optional`

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

        - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

        - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

    - `Multiagent BetaManagedAgentsSessionMultiagentUnion`

      Resolved multiagent orchestration configuration. Null when the agent is single-threaded.

      - `type BetaManagedAgentsSessionMultiagentCoordinator`

        Resolved coordinator topology with full agent definitions for each roster member.

        - `Type BetaManagedAgentsSessionMultiagentCoordinatorType`

        - `Agents []BetaManagedAgentsSessionMultiagentCoordinatorAgentUnion`

          Full `agent` definitions the coordinator may spawn as session threads.

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

            - `Type BetaManagedAgentsSessionThreadAgentType`

            - `ID string`

            - `Description string`

            - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

              Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

            - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Type BetaManagedAgentsMCPServerURLDefinitionType`

              - `Name string`

              - `URL string`

            - `Model BetaManagedAgentsModelConfig`

              Model identifier and configuration.

            - `Name string`

            - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `type BetaManagedAgentsAnthropicSkill`

                A resolved Anthropic-managed skill.

                - `Type BetaManagedAgentsAnthropicSkillType`

                - `SkillID string`

                - `Version string`

              - `type BetaManagedAgentsCustomSkill`

                A resolved user-created custom skill.

                - `Type BetaManagedAgentsCustomSkillType`

                - `SkillID string`

                - `Version string`

            - `System string`

            - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `type BetaManagedAgentsAgentToolset20260401`

                - `Type BetaManagedAgentsAgentToolset20260401Type`

                - `Configs []BetaManagedAgentsAgentToolConfigUnion`

                  - `type BetaManagedAgentsBashToolConfig`

                    Configuration for the bash tool.

                    - `Type Bash`

                    - `Enabled bool`

                    - `Name Bash`

                    - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                        - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                        - `Type BetaManagedAgentsAlwaysAskPolicyType`

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                        - `Type Auto`

                  - `type BetaManagedAgentsEditToolConfig`

                    Configuration for the edit tool.

                    - `Type Edit`

                    - `Enabled bool`

                    - `Name Edit`

                    - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsReadToolConfig`

                    Configuration for the read tool.

                    - `Type Read`

                    - `Enabled bool`

                    - `Name Read`

                    - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsWriteToolConfig`

                    Configuration for the write tool.

                    - `Type Write`

                    - `Enabled bool`

                    - `Name Write`

                    - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsGlobToolConfig`

                    Configuration for the glob tool.

                    - `Type Glob`

                    - `Enabled bool`

                    - `Name Glob`

                    - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsGrepToolConfig`

                    Configuration for the grep tool.

                    - `Type Grep`

                    - `Enabled bool`

                    - `Name Grep`

                    - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsWebFetchToolConfig`

                    Configuration for the web_fetch tool.

                    - `Type WebFetch`

                    - `Enabled bool`

                    - `Name WebFetch`

                    - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `URLSources BetaManagedAgentsWebFetchURLSources`

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

                      - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

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

                        - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                          - `Type All`

                        - `type BetaManagedAgentsWebFetchURLSourceNone`

                          This source contributes no URLs that may be fetched.

                          - `Type None`

                        - `type BetaManagedAgentsWebFetchURLSourceOnly`

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

                          - `Type Only`

                          - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                            - `Type ToolReference`

                              Must be "tool_reference".

                            - `Name string`

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

                              minLength: 1, maxLength: 128

                        - `type BetaManagedAgentsWebFetchURLSourceExcept`

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

                          - `Type Except`

                          - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

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

                            - `Type ToolReference`

                              Must be "tool_reference".

                            - `Name string`

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

                              minLength: 1, maxLength: 128

                      - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

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

                      - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

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

                        - `type BetaManagedAgentsWebFetchURLSourceAll`

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

                        - `type BetaManagedAgentsWebFetchURLSourceNone`

                          This source contributes no URLs that may be fetched.

                    - `AllowedDomains []string Optional`

                    - `BlockedDomains []string Optional`

                    - `MaxContentTokens int64 Optional`

                      format: int32

                  - `type BetaManagedAgentsWebSearchToolConfig`

                    Configuration for the web_search tool.

                    - `Type WebSearch`

                    - `Enabled bool`

                    - `Name WebSearch`

                    - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `AllowedDomains []string Optional`

                    - `BlockedDomains []string Optional`

                    - `UserLocation BetaManagedAgentsUserLocation Optional`

                      Approximate user location for search result localization.

                      - `Type Approximate`

                        Location precision. Only "approximate" is supported.

                      - `City string Optional`

                        City name.

                        minLength: 1, maxLength: 255

                      - `Country string Optional`

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

                      - `Region string Optional`

                        Region or state name.

                        minLength: 1, maxLength: 255

                      - `Timezone string Optional`

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

                        minLength: 1, maxLength: 255

                - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

                  Resolved default configuration for agent tools.

                  - `Enabled bool`

                  - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsMCPToolset`

                - `Type BetaManagedAgentsMCPToolsetType`

                - `Configs []BetaManagedAgentsMCPToolConfig`

                  - `Enabled bool`

                  - `Name string`

                  - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

                  Resolved default configuration for all tools from an MCP server.

                  - `Enabled bool`

                  - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `MCPServerName string`

              - `type BetaManagedAgentsCustomTool`

                A custom tool as returned in API responses.

                - `Type BetaManagedAgentsCustomToolType`

                - `Description string`

                - `InputSchema BetaManagedAgentsCustomToolInputSchema`

                  JSON Schema for custom tool input parameters.

                  - `Type Object`

                  - `Properties map[string, any] Optional`

                  - `Required []string Optional`

                - `Name string`

            - `Version int64`

              format: int32

          - `type BetaManagedAgentsAdvisor`

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

            - `Type BetaManagedAgentsAdvisorType`

            - `Model string`

              The advisor model id.

      - `type BetaManagedAgentsSessionMultiagent20261001`

        Resolved multiagent configuration with three members, as copied to the `session` at creation.

        - `Type Multiagent20261001`

        - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

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

          - `type BetaManagedAgentsMultiagentAdvisorEnabled`

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

            - `Type Enabled`

            - `Model string`

              The advisor model id.

          - `type BetaManagedAgentsMultiagentAdvisorDisabled`

            The agent has no advisor.

            - `Type Disabled`

        - `Subagents BetaManagedAgentsSessionMultiagentSubagentsUnion`

          Whether the agent can spawn session threads.

          - `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

            The agent can spawn session threads.

            - `Type Enabled`

            - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

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

              - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

                The agent can define inline agents.

                - `Type Enabled`

              - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

                The agent cannot define inline agents.

                - `Type Disabled`

            - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

              Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `Version int64`

                format: int32

          - `type BetaManagedAgentsMultiagentSubagentsDisabled`

            The agent cannot spawn session threads.

            - `Type Disabled`

        - `Workflows BetaManagedAgentsSessionMultiagentWorkflowsUnion`

          Whether the agent can start workflow runs.

          - `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

            The agent can start workflow runs.

            - `Type Enabled`

            - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

              Whether a run's plan can define inline agents, which are not saved.

            - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

              Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `Version int64`

                format: int32

          - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

            The agent cannot start workflow runs.

            - `Type Disabled`

    - `Name string`

    - `Skills []BetaManagedAgentsSessionAgentSkillUnion`

      - `type BetaManagedAgentsAnthropicSkill`

        A resolved Anthropic-managed skill.

      - `type BetaManagedAgentsCustomSkill`

        A resolved user-created custom skill.

    - `System string`

    - `Tools []BetaManagedAgentsSessionAgentToolUnion`

      - `type BetaManagedAgentsAgentToolset20260401`

      - `type BetaManagedAgentsMCPToolset`

      - `type BetaManagedAgentsCustomTool`

        A custom tool as returned in API responses.

    - `Version int64`

      format: int32

  - `ArchivedAt Time`

    When the session was archived. Null if not archived.

    format: date-time

  - `Budget BetaManagedAgentsBudgetLimit`

    The session's enforced spend ceiling, or null when no budget is set.

    - `Type BetaManagedAgentsBudgetLimitType`

    - `MaxListCost BetaMonetaryAmount`

      Maximum list cost the session may accrue. List price is used regardless of any negotiated discount, so the cap fires at or before the actual charge.

      - `Amount string`

        Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

      - `Currency BetaCurrency`

        Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

  - `CreatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

  - `EnvironmentID string`

  - `Metadata map[string, string]`

  - `OutcomeEvaluations []BetaManagedAgentsOutcomeEvaluationResource`

    Per-outcome evaluation state. One entry per `define_outcome` event sent to the session.

    - `Type BetaManagedAgentsOutcomeEvaluationResourceType`

    - `CompletedAt Time`

      When the outcome reached a terminal result. Null while `pending`/`running`/`evaluating`.

      format: date-time

    - `Description string`

      What the agent should produce.

    - `Explanation string`

      Grader's verdict text from the most recent evaluation. For `satisfied`, explains why criteria are met; for `needs_revision` (intermediate), what's missing; for `failed`, why unrecoverable.

    - `Iteration int64`

      0-indexed revision cycle the outcome is currently on.

      format: int32

    - `OutcomeID string`

      Server-generated outc_ ID for this outcome.

    - `Result string`

      Current evaluation state. `pending` before the agent begins work; `running` while producing or revising; `evaluating` while the grader scores; `satisfied`/`max_iterations_reached`/`failed`/`interrupted` are terminal.

  - `Resources []BetaManagedAgentsSessionResourceUnion`

    - `type BetaManagedAgentsGitHubRepositoryResource`

      - `Type BetaManagedAgentsGitHubRepositoryResourceType`

      - `ID string`

      - `CreatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `MountPath string`

      - `UpdatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `URL string`

      - `Checkout BetaManagedAgentsGitHubRepositoryResourceCheckoutUnion Optional`

        - `type BetaManagedAgentsBranchCheckout`

          - `Type BetaManagedAgentsBranchCheckoutType`

          - `Name string`

            Branch name to check out.

            minLength: 1, maxLength: 255

        - `type BetaManagedAgentsCommitCheckout`

          - `Type BetaManagedAgentsCommitCheckoutType`

          - `Sha string`

            Full commit SHA to check out.

            minLength: 7, maxLength: 64

    - `type BetaManagedAgentsFileResource`

      - `Type BetaManagedAgentsFileResourceType`

      - `ID string`

      - `CreatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

      - `FileID string`

      - `MountPath string`

      - `UpdatedAt Time`

        A timestamp in RFC 3339 format

        format: date-time

    - `type BetaManagedAgentsMemoryStoreResource`

      A memory store attached to an agent session.

      - `Type BetaManagedAgentsMemoryStoreResourceType`

      - `MemoryStoreID string`

        The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

      - `Access BetaManagedAgentsMemoryStoreResourceAccess Optional`

        Access mode for the mounted store. Defaults to `read_write`. `read_only` mounts the store as a read-only filesystem.

        - `const BetaManagedAgentsMemoryStoreResourceAccessReadWrite BetaManagedAgentsMemoryStoreResourceAccess = "read_write"`

        - `const BetaManagedAgentsMemoryStoreResourceAccessReadOnly BetaManagedAgentsMemoryStoreResourceAccess = "read_only"`

      - `Description string Optional`

        Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

      - `Instructions string Optional`

        Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

        maxLength: 4096

      - `MountPath string Optional`

        Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

      - `Name string Optional`

        Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

  - `Stats BetaManagedAgentsSessionStats`

    Timing statistics for the session.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds the session spent in `running` status. Excludes idle time.

      format: double

    - `DurationSeconds float64 Optional`

      Elapsed time since session creation in seconds. For terminated sessions, frozen at the final update.

      format: double

  - `Status BetaManagedAgentsSessionStatus`

    - `const BetaManagedAgentsSessionStatusRescheduling BetaManagedAgentsSessionStatus = "rescheduling"`

      Transient error occurred, retrying automatically.

    - `const BetaManagedAgentsSessionStatusRunning BetaManagedAgentsSessionStatus = "running"`

      Agent is actively executing.

    - `const BetaManagedAgentsSessionStatusIdle BetaManagedAgentsSessionStatus = "idle"`

      Agent is waiting for input, including user messages or tool confirmations. Sessions start in idle.

    - `const BetaManagedAgentsSessionStatusTerminated BetaManagedAgentsSessionStatus = "terminated"`

      Session has ended, either due to an error or completion.

  - `Title string`

  - `UpdatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

  - `Usage BetaManagedAgentsSessionUsage`

    Cumulative token usage for the session.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds during which the session had at least one thread in running status. Overlapping activity from concurrent threads is counted once, unlike `stats.active_seconds`, which sums each thread's own active time. This is the duration the session's runtime cost is priced on.

      format: double

    - `CacheCreation BetaManagedAgentsCacheCreationUsage Optional`

      Tokens used to create prompt cache entries, broken down by cache TTL.

      - `Ephemeral1hInputTokens int64 Optional`

        Tokens used to create 1-hour ephemeral cache entries.

        format: int32

      - `Ephemeral5mInputTokens int64 Optional`

        Tokens used to create 5-minute ephemeral cache entries.

        format: int32

    - `CacheReadInputTokens int64 Optional`

      Total tokens read from prompt cache.

      format: int32

    - `InputTokens int64 Optional`

      Total input tokens consumed across all turns.

      format: int32

    - `ListCost BetaMonetaryAmount Optional`

      Cumulative list cost of the session across all turns, priced at public list rates. Absent until cost tracking is available for the session.

    - `OutputTokens int64 Optional`

      Total output tokens generated across all turns.

      format: int32

    - `ServerToolUse BetaManagedAgentsServerToolUsage Optional`

      Cumulative server-executed tool usage across all turns. Absent until server-tool tracking is available for the session.

      - `WebFetchRequests int64 Optional`

        Number of server-executed web fetch requests.

        format: int32

      - `WebSearchRequests int64 Optional`

        Number of server-executed web search requests.

        format: int32

  - `VaultIDs []string`

    Vault IDs attached to the session at creation. Empty when no vaults were supplied.

  - `DeploymentID string Optional`

    Deployment ID when the session was created from a deployment reference. Null otherwise.

### Beta Managed Agents Session Agent

- `type BetaManagedAgentsSessionAgent`

  Resolved `agent` definition for a `session`. Snapshot of the `agent` at `session` creation time.

  - `Type BetaManagedAgentsSessionAgentType`

  - `ID string`

  - `Description string`

  - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

    Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

    - `type BetaManagedAgentsAWSRoleExecutionIdentity`

      An AWS IAM role principal as returned in API responses.

      - `Type AWSRole`

      - `RoleARN string`

        The IAM role's ARN.

    - `type BetaManagedAgentsServiceAccountExecutionIdentity`

      The Anthropic-managed service account as returned in API responses.

      - `Type ServiceAccount`

  - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

    - `Type BetaManagedAgentsMCPServerURLDefinitionType`

    - `Name string`

    - `URL string`

  - `Model BetaManagedAgentsModelConfig`

    Model identifier and configuration.

    - `ID BetaManagedAgentsModel`

      The model that will power your agent.

      See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

      - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

        Fastest model for high-volume, real-time tasks

      - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

        Efficient model for coding and agents

      - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

        Powerful intelligence for coding, knowledge work, and long-running agents

      - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

        Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

      - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

        Efficient model for coding and agents

      - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

        Next generation of intelligence for the hardest knowledge work and coding problems

      - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

        Powerful intelligence for long-running agents and coding

      - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

        Powerful intelligence for long-running agents and coding

      - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

        Powerful intelligence for long-running agents and coding

      - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

        Powerful intelligence for long-running agents and coding

      - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

        Best combination of speed and intelligence

      - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

      - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

      - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

        Powerful intelligence for long-running agents and coding

      - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

        Powerful intelligence for long-running agents and coding

      - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

        **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

        High-performance model for agents and coding

      - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

        **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

        High-performance model for agents and coding

    - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

      How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

      - `type BetaManagedAgentsEffortLow`

        Low effort. Favors latency over reasoning depth.

        - `Type BetaManagedAgentsEffortLowType`

      - `type BetaManagedAgentsEffortMedium`

        Medium effort. Balances latency and reasoning depth.

        - `Type BetaManagedAgentsEffortMediumType`

      - `type BetaManagedAgentsEffortHigh`

        High effort. Favors reasoning depth.

        - `Type BetaManagedAgentsEffortHighType`

      - `type BetaManagedAgentsEffortXhigh`

        Extra-high effort. Not all models accept this level.

        - `Type BetaManagedAgentsEffortXhighType`

      - `type BetaManagedAgentsEffortMax`

        Maximum effort. Favors reasoning depth over latency.

        - `Type BetaManagedAgentsEffortMaxType`

    - `InferenceGeo string Optional`

      Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

    - `Speed BetaManagedAgentsModelConfigSpeed Optional`

      Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

      - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

      - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

  - `Multiagent BetaManagedAgentsSessionMultiagentUnion`

    Resolved multiagent orchestration configuration. Null when the agent is single-threaded.

    - `type BetaManagedAgentsSessionMultiagentCoordinator`

      Resolved coordinator topology with full agent definitions for each roster member.

      - `Type BetaManagedAgentsSessionMultiagentCoordinatorType`

      - `Agents []BetaManagedAgentsSessionMultiagentCoordinatorAgentUnion`

        Full `agent` definitions the coordinator may spawn as session threads.

        - `type 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`.

          - `Type BetaManagedAgentsSessionThreadAgentType`

          - `ID string`

          - `Description string`

          - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

            Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

          - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

            - `Type BetaManagedAgentsMCPServerURLDefinitionType`

            - `Name string`

            - `URL string`

          - `Model BetaManagedAgentsModelConfig`

            Model identifier and configuration.

          - `Name string`

          - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

            - `type BetaManagedAgentsAnthropicSkill`

              A resolved Anthropic-managed skill.

              - `Type BetaManagedAgentsAnthropicSkillType`

              - `SkillID string`

              - `Version string`

            - `type BetaManagedAgentsCustomSkill`

              A resolved user-created custom skill.

              - `Type BetaManagedAgentsCustomSkillType`

              - `SkillID string`

              - `Version string`

          - `System string`

          - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

            - `type BetaManagedAgentsAgentToolset20260401`

              - `Type BetaManagedAgentsAgentToolset20260401Type`

              - `Configs []BetaManagedAgentsAgentToolConfigUnion`

                - `type BetaManagedAgentsBashToolConfig`

                  Configuration for the bash tool.

                  - `Type Bash`

                  - `Enabled bool`

                  - `Name Bash`

                  - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                      - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                      - `Type BetaManagedAgentsAlwaysAskPolicyType`

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                      - `Type Auto`

                - `type BetaManagedAgentsEditToolConfig`

                  Configuration for the edit tool.

                  - `Type Edit`

                  - `Enabled bool`

                  - `Name Edit`

                  - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `type BetaManagedAgentsReadToolConfig`

                  Configuration for the read tool.

                  - `Type Read`

                  - `Enabled bool`

                  - `Name Read`

                  - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `type BetaManagedAgentsWriteToolConfig`

                  Configuration for the write tool.

                  - `Type Write`

                  - `Enabled bool`

                  - `Name Write`

                  - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `type BetaManagedAgentsGlobToolConfig`

                  Configuration for the glob tool.

                  - `Type Glob`

                  - `Enabled bool`

                  - `Name Glob`

                  - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `type BetaManagedAgentsGrepToolConfig`

                  Configuration for the grep tool.

                  - `Type Grep`

                  - `Enabled bool`

                  - `Name Grep`

                  - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `type BetaManagedAgentsWebFetchToolConfig`

                  Configuration for the web_fetch tool.

                  - `Type WebFetch`

                  - `Enabled bool`

                  - `Name WebFetch`

                  - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `URLSources BetaManagedAgentsWebFetchURLSources`

                    Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

                    - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                      Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                      - `type BetaManagedAgentsWebFetchURLSourceAll`

                        Every URL from this source may be fetched. This is the default.

                        - `Type All`

                      - `type BetaManagedAgentsWebFetchURLSourceNone`

                        This source contributes no URLs that may be fetched.

                        - `Type None`

                      - `type BetaManagedAgentsWebFetchURLSourceOnly`

                        Only the named tools' results contribute URLs that may be fetched.

                        - `Type Only`

                        - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                          The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                          - `Type ToolReference`

                            Must be "tool_reference".

                          - `Name string`

                            Name of the tool. Compared exactly, so upper and lower case letters are different.

                            minLength: 1, maxLength: 128

                      - `type BetaManagedAgentsWebFetchURLSourceExcept`

                        Every tool's results contribute URLs that may be fetched, except the named tools' results.

                        - `Type Except`

                        - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                          The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                          - `Type ToolReference`

                            Must be "tool_reference".

                          - `Name string`

                            Name of the tool. Compared exactly, so upper and lower case letters are different.

                            minLength: 1, maxLength: 128

                    - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                      Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

                    - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                      Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                      - `type BetaManagedAgentsWebFetchURLSourceAll`

                        Every URL from this source may be fetched. This is the default.

                      - `type BetaManagedAgentsWebFetchURLSourceNone`

                        This source contributes no URLs that may be fetched.

                  - `AllowedDomains []string Optional`

                  - `BlockedDomains []string Optional`

                  - `MaxContentTokens int64 Optional`

                    format: int32

                - `type BetaManagedAgentsWebSearchToolConfig`

                  Configuration for the web_search tool.

                  - `Type WebSearch`

                  - `Enabled bool`

                  - `Name WebSearch`

                  - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `AllowedDomains []string Optional`

                  - `BlockedDomains []string Optional`

                  - `UserLocation BetaManagedAgentsUserLocation Optional`

                    Approximate user location for search result localization.

                    - `Type Approximate`

                      Location precision. Only "approximate" is supported.

                    - `City string Optional`

                      City name.

                      minLength: 1, maxLength: 255

                    - `Country string Optional`

                      Two-letter ISO 3166-1 country code, uppercase.

                    - `Region string Optional`

                      Region or state name.

                      minLength: 1, maxLength: 255

                    - `Timezone string Optional`

                      IANA timezone identifier, e.g. "America/Los_Angeles".

                      minLength: 1, maxLength: 255

              - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

                Resolved default configuration for agent tools.

                - `Enabled bool`

                - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsMCPToolset`

              - `Type BetaManagedAgentsMCPToolsetType`

              - `Configs []BetaManagedAgentsMCPToolConfig`

                - `Enabled bool`

                - `Name string`

                - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

                Resolved default configuration for all tools from an MCP server.

                - `Enabled bool`

                - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `MCPServerName string`

            - `type BetaManagedAgentsCustomTool`

              A custom tool as returned in API responses.

              - `Type BetaManagedAgentsCustomToolType`

              - `Description string`

              - `InputSchema BetaManagedAgentsCustomToolInputSchema`

                JSON Schema for custom tool input parameters.

                - `Type Object`

                - `Properties map[string, any] Optional`

                - `Required []string Optional`

              - `Name string`

          - `Version int64`

            format: int32

        - `type BetaManagedAgentsAdvisor`

          Platform advisor roster entry: a model the session's primary thread may consult mid-turn.

          - `Type BetaManagedAgentsAdvisorType`

          - `Model string`

            The advisor model id.

    - `type BetaManagedAgentsSessionMultiagent20261001`

      Resolved multiagent configuration with three members, as copied to the `session` at creation.

      - `Type Multiagent20261001`

      - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

        Whether the session's primary thread can consult an advisor model.

        - `type BetaManagedAgentsMultiagentAdvisorEnabled`

          The session's primary thread can consult `model` mid-turn.

          - `Type Enabled`

          - `Model string`

            The advisor model id.

        - `type BetaManagedAgentsMultiagentAdvisorDisabled`

          The agent has no advisor.

          - `Type Disabled`

      - `Subagents BetaManagedAgentsSessionMultiagentSubagentsUnion`

        Whether the agent can spawn session threads.

        - `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

          The agent can spawn session threads.

          - `Type Enabled`

          - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

            Whether the agent can define inline agents, which are not saved, when it spawns session threads.

            - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

              The agent can define inline agents.

              - `Type Enabled`

            - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

              The agent cannot define inline agents.

              - `Type Disabled`

          - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

            Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

            - `Type BetaManagedAgentsSessionThreadAgentType`

            - `ID string`

            - `Description string`

            - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

              Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

            - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

            - `Model BetaManagedAgentsModelConfig`

              Model identifier and configuration.

            - `Name string`

            - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

            - `System string`

            - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

            - `Version int64`

              format: int32

        - `type BetaManagedAgentsMultiagentSubagentsDisabled`

          The agent cannot spawn session threads.

          - `Type Disabled`

      - `Workflows BetaManagedAgentsSessionMultiagentWorkflowsUnion`

        Whether the agent can start workflow runs.

        - `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

          The agent can start workflow runs.

          - `Type Enabled`

          - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

            Whether a run's plan can define inline agents, which are not saved.

          - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

            Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

            - `Type BetaManagedAgentsSessionThreadAgentType`

            - `ID string`

            - `Description string`

            - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

              Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

            - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

            - `Model BetaManagedAgentsModelConfig`

              Model identifier and configuration.

            - `Name string`

            - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

            - `System string`

            - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

            - `Version int64`

              format: int32

        - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

          The agent cannot start workflow runs.

          - `Type Disabled`

  - `Name string`

  - `Skills []BetaManagedAgentsSessionAgentSkillUnion`

    - `type BetaManagedAgentsAnthropicSkill`

      A resolved Anthropic-managed skill.

    - `type BetaManagedAgentsCustomSkill`

      A resolved user-created custom skill.

  - `System string`

  - `Tools []BetaManagedAgentsSessionAgentToolUnion`

    - `type BetaManagedAgentsAgentToolset20260401`

    - `type BetaManagedAgentsMCPToolset`

    - `type BetaManagedAgentsCustomTool`

      A custom tool as returned in API responses.

  - `Version int64`

    format: int32

### Beta Managed Agents Session Agent Update

- `type BetaManagedAgentsSessionAgentUpdateParam`

  Mid-session agent configuration update. Only `tools` and `mcp_servers` are updatable. Full replacement: the provided array becomes the new value. To preserve existing entries, GET the session, modify the array, and POST it back.

  - `MCPServers []BetaManagedAgentsURLMCPServerParams Optional`

    Replacement MCP server list. Full replacement: the provided array becomes the new value. Send an empty array to clear; omit to preserve.

    - `Type BetaManagedAgentsURLMCPServerParamsType`

    - `Name string`

      Unique name for this server, referenced by mcp_toolset configurations. 1-255 characters.

      minLength: 1, maxLength: 255

    - `URL string`

      Endpoint URL for the MCP server.

      maxLength: 2048

  - `Tools []BetaManagedAgentsSessionAgentUpdateToolUnionParam Optional`

    Replacement tool list. Full replacement: the provided array becomes the new value. Send an empty array to clear; omit to preserve.

    - `type BetaManagedAgentsAgentToolset20260401Params`

      Configuration for built-in agent tools. Use this to enable or disable groups of tools available to the agent.

      - `Type BetaManagedAgentsAgentToolset20260401ParamsType`

      - `Configs []BetaManagedAgentsAgentToolConfigParamsUnion Optional`

        Per-tool configuration overrides.

        - `type BetaManagedAgentsBashToolConfigParams`

          Configuration override for the bash tool.

          - `Type BetaManagedAgentsBashToolConfigParamsType Optional`

          - `Name Bash`

            Must be "bash".

          - `Enabled bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `PermissionPolicy BetaManagedAgentsBashToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

              - `Type BetaManagedAgentsAlwaysAllowPolicyType`

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

              - `Type BetaManagedAgentsAlwaysAskPolicyType`

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `Type Auto`

        - `type BetaManagedAgentsEditToolConfigParams`

          Configuration override for the edit tool.

          - `Type BetaManagedAgentsEditToolConfigParamsType Optional`

          - `Name Edit`

            Must be "edit".

          - `Enabled bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `PermissionPolicy BetaManagedAgentsEditToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsReadToolConfigParams`

          Configuration override for the read tool.

          - `Type BetaManagedAgentsReadToolConfigParamsType Optional`

          - `Name Read`

            Must be "read".

          - `Enabled bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `PermissionPolicy BetaManagedAgentsReadToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsWriteToolConfigParams`

          Configuration override for the write tool.

          - `Type BetaManagedAgentsWriteToolConfigParamsType Optional`

          - `Name Write`

            Must be "write".

          - `Enabled bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `PermissionPolicy BetaManagedAgentsWriteToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsGlobToolConfigParams`

          Configuration override for the glob tool.

          - `Type BetaManagedAgentsGlobToolConfigParamsType Optional`

          - `Name Glob`

            Must be "glob".

          - `Enabled bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `PermissionPolicy BetaManagedAgentsGlobToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsGrepToolConfigParams`

          Configuration override for the grep tool.

          - `Type BetaManagedAgentsGrepToolConfigParamsType Optional`

          - `Name Grep`

            Must be "grep".

          - `Enabled bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `PermissionPolicy BetaManagedAgentsGrepToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsWebFetchToolConfigParams`

          Configuration override for the web_fetch tool.

          - `Type BetaManagedAgentsWebFetchToolConfigParamsType Optional`

          - `Name WebFetch`

            Must be "web_fetch".

          - `AllowedDomains []string Optional`

            Only fetch URLs whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "docs.example.com" (no scheme, port, or path). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with blocked_domains.

          - `BlockedDomains []string Optional`

            Never fetch URLs whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "ads.example.com" (no scheme, port, or path). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with allowed_domains.

          - `Enabled bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `MaxContentTokens int64 Optional`

            Maximum number of tokens of fetched text content to include in context per call. Does not apply to binary content such as PDFs.

            format: int32

          - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `URLSources BetaManagedAgentsWebFetchURLSourcesParams Optional`

            Which sources contribute URLs the tool may fetch. Omit to allow every source.

            - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterParamsUnion Optional`

              Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array.

              - `type BetaManagedAgentsWebFetchURLSourceShorthand string`

                String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}.

                - `const BetaManagedAgentsWebFetchURLSourceShorthandAll BetaManagedAgentsWebFetchURLSourceShorthand = "all"`

                - `const BetaManagedAgentsWebFetchURLSourceShorthandNone BetaManagedAgentsWebFetchURLSourceShorthand = "none"`

              - `type BetaManagedAgentsWebFetchURLSourceToolFilterUnion interface{…}`

                Which tools' results contribute URLs that may be fetched.

                - `type BetaManagedAgentsWebFetchURLSourceAll`

                  Every URL from this source may be fetched. This is the default.

                  - `Type All`

                - `type BetaManagedAgentsWebFetchURLSourceNone`

                  This source contributes no URLs that may be fetched.

                  - `Type None`

                - `type BetaManagedAgentsWebFetchURLSourceOnly`

                  Only the named tools' results contribute URLs that may be fetched.

                  - `Type Only`

                  - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                    The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                    - `Type ToolReference`

                      Must be "tool_reference".

                    - `Name string`

                      Name of the tool. Compared exactly, so upper and lower case letters are different.

                      minLength: 1, maxLength: 128

                - `type BetaManagedAgentsWebFetchURLSourceExcept`

                  Every tool's results contribute URLs that may be fetched, except the named tools' results.

                  - `Type Except`

                  - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                    The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                    - `Type ToolReference`

                      Must be "tool_reference".

                    - `Name string`

                      Name of the tool. Compared exactly, so upper and lower case letters are different.

                      minLength: 1, maxLength: 128

            - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterParamsUnion Optional`

              Which of the web_search and web_fetch tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be "web_search" or "web_fetch".

            - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputParamsUnion Optional`

              Whether URLs in the text of user messages may be fetched: "all" (the default) or "none".

              - `type BetaManagedAgentsWebFetchURLSourceShorthand string`

                String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}.

              - `type BetaManagedAgentsWebFetchURLSourceUserInputUnion interface{…}`

                Whether URLs in the text of user messages may be fetched.

                - `type BetaManagedAgentsWebFetchURLSourceAll`

                  Every URL from this source may be fetched. This is the default.

                - `type BetaManagedAgentsWebFetchURLSourceNone`

                  This source contributes no URLs that may be fetched.

        - `type BetaManagedAgentsWebSearchToolConfigParams`

          Configuration override for the web_search tool.

          - `Type BetaManagedAgentsWebSearchToolConfigParamsType Optional`

          - `Name WebSearch`

            Must be "web_search".

          - `AllowedDomains []string Optional`

            Only return search results whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "docs.example.com" (no scheme or port; an optional path suffix is accepted). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with blocked_domains.

          - `BlockedDomains []string Optional`

            Never return search results whose host is one of these domains or a subdomain of one. Each entry is a plain hostname like "ads.example.com" (no scheme or port; an optional path suffix is accepted). At most 64 entries; an empty list is rejected (omit the field instead). Cannot be combined with allowed_domains.

          - `Enabled bool Optional`

            Whether this tool is enabled and available to Claude. Overrides the default_config setting.

          - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigParamsPermissionPolicyUnion Optional`

            Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `UserLocation BetaManagedAgentsUserLocationParam Optional`

            Approximate user location for search result localization.

            - `Type Approximate`

              Location precision. Only "approximate" is supported.

            - `City string Optional`

              City name.

              minLength: 1, maxLength: 255

            - `Country string Optional`

              Two-letter ISO 3166-1 country code, uppercase.

            - `Region string Optional`

              Region or state name.

              minLength: 1, maxLength: 255

            - `Timezone string Optional`

              IANA timezone identifier, e.g. "America/Los_Angeles".

              minLength: 1, maxLength: 255

      - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfigParams Optional`

        Default configuration applied to all tools in this set.

        - `Enabled bool Optional`

          Whether tools are enabled and available to Claude by default. Defaults to true if not specified.

        - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigParamsPermissionPolicyUnion Optional`

          Default permission policy for tools. Controls whether tool calls are auto-approved or require confirmation.

          - `type BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `type BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `type BetaManagedAgentsAutoPolicy`

            The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

    - `type BetaManagedAgentsMCPToolsetParams`

      Configuration for tools from an MCP server defined in `mcp_servers`.

      - `Type BetaManagedAgentsMCPToolsetParamsType`

      - `MCPServerName string`

        Name of the MCP server. Must match a server name from the mcp_servers array. 1-255 characters.

        minLength: 1, maxLength: 255

      - `Configs []BetaManagedAgentsMCPToolConfigParams Optional`

        Per-tool configuration overrides.

        - `Name string`

          Name of the MCP tool to configure. 1-128 characters.

          minLength: 1, maxLength: 128

        - `Enabled bool Optional`

          Whether this tool is enabled. Overrides the `default_config` setting.

        - `PermissionPolicy BetaManagedAgentsMCPToolConfigParamsPermissionPolicyUnion Optional`

          Permission policy for this tool. Overrides the `default_config` setting.

          - `type BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `type BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `type BetaManagedAgentsAutoPolicy`

            The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

      - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfigParams Optional`

        Default configuration for all tools from this server.

        - `Enabled bool Optional`

          Whether tools are enabled by default. Defaults to true if not specified.

        - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigParamsPermissionPolicyUnion Optional`

          Default permission policy for tools from this server.

          - `type BetaManagedAgentsAlwaysAllowPolicy`

            Tool calls are automatically approved without user confirmation.

          - `type BetaManagedAgentsAlwaysAskPolicy`

            Tool calls require user confirmation before execution.

          - `type BetaManagedAgentsAutoPolicy`

            The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

    - `type BetaManagedAgentsCustomToolParams`

      A custom tool that is executed by the API client rather than the agent. When the agent calls this tool, an `agent.custom_tool_use` event is emitted and the session goes idle, waiting for the client to provide the result via a `user.custom_tool_result` event.

      - `Type BetaManagedAgentsCustomToolParamsType`

      - `Description string`

        Description of what the tool does, shown to the agent to help it decide when to use the tool.

        minLength: 1

      - `InputSchema BetaManagedAgentsCustomToolInputSchemaParam`

        JSON Schema defining the expected input parameters for the tool.

        - `Type Object`

        - `Properties map[string, any] Optional`

        - `Required []string Optional`

      - `Name string`

        Unique name for the tool. 1-128 characters; letters, digits, underscores, and hyphens.

        minLength: 1, maxLength: 128

### Beta Managed Agents Session Multiagent

- `type BetaManagedAgentsSessionMultiagentUnion interface{…}`

  Resolved multiagent orchestration configuration as returned on a `session`.

  - `type BetaManagedAgentsSessionMultiagentCoordinator`

    Resolved coordinator topology with full agent definitions for each roster member.

    - `Type BetaManagedAgentsSessionMultiagentCoordinatorType`

    - `Agents []BetaManagedAgentsSessionMultiagentCoordinatorAgentUnion`

      Full `agent` definitions the coordinator may spawn as session threads.

      - `type 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`.

        - `Type BetaManagedAgentsSessionThreadAgentType`

        - `ID string`

        - `Description string`

        - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

          Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

          - `type BetaManagedAgentsAWSRoleExecutionIdentity`

            An AWS IAM role principal as returned in API responses.

            - `Type AWSRole`

            - `RoleARN string`

              The IAM role's ARN.

          - `type BetaManagedAgentsServiceAccountExecutionIdentity`

            The Anthropic-managed service account as returned in API responses.

            - `Type ServiceAccount`

        - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

          - `Type BetaManagedAgentsMCPServerURLDefinitionType`

          - `Name string`

          - `URL string`

        - `Model BetaManagedAgentsModelConfig`

          Model identifier and configuration.

          - `ID BetaManagedAgentsModel`

            The model that will power your agent.

            See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

            - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

              Fastest model for high-volume, real-time tasks

            - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

              Efficient model for coding and agents

            - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

              Powerful intelligence for coding, knowledge work, and long-running agents

            - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

              Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

            - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

              Efficient model for coding and agents

            - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

              Next generation of intelligence for the hardest knowledge work and coding problems

            - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

              Powerful intelligence for long-running agents and coding

            - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

              Powerful intelligence for long-running agents and coding

            - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

              Powerful intelligence for long-running agents and coding

            - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

              Powerful intelligence for long-running agents and coding

            - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

              Best combination of speed and intelligence

            - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

            - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

            - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

              Powerful intelligence for long-running agents and coding

            - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

              Powerful intelligence for long-running agents and coding

            - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

              **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

              High-performance model for agents and coding

            - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

              **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

              High-performance model for agents and coding

          - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

            How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

            - `type BetaManagedAgentsEffortLow`

              Low effort. Favors latency over reasoning depth.

              - `Type BetaManagedAgentsEffortLowType`

            - `type BetaManagedAgentsEffortMedium`

              Medium effort. Balances latency and reasoning depth.

              - `Type BetaManagedAgentsEffortMediumType`

            - `type BetaManagedAgentsEffortHigh`

              High effort. Favors reasoning depth.

              - `Type BetaManagedAgentsEffortHighType`

            - `type BetaManagedAgentsEffortXhigh`

              Extra-high effort. Not all models accept this level.

              - `Type BetaManagedAgentsEffortXhighType`

            - `type BetaManagedAgentsEffortMax`

              Maximum effort. Favors reasoning depth over latency.

              - `Type BetaManagedAgentsEffortMaxType`

          - `InferenceGeo string Optional`

            Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

          - `Speed BetaManagedAgentsModelConfigSpeed Optional`

            Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

            - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

            - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

        - `Name string`

        - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

          - `type BetaManagedAgentsAnthropicSkill`

            A resolved Anthropic-managed skill.

            - `Type BetaManagedAgentsAnthropicSkillType`

            - `SkillID string`

            - `Version string`

          - `type BetaManagedAgentsCustomSkill`

            A resolved user-created custom skill.

            - `Type BetaManagedAgentsCustomSkillType`

            - `SkillID string`

            - `Version string`

        - `System string`

        - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

          - `type BetaManagedAgentsAgentToolset20260401`

            - `Type BetaManagedAgentsAgentToolset20260401Type`

            - `Configs []BetaManagedAgentsAgentToolConfigUnion`

              - `type BetaManagedAgentsBashToolConfig`

                Configuration for the bash tool.

                - `Type Bash`

                - `Enabled bool`

                - `Name Bash`

                - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                    - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                    - `Type BetaManagedAgentsAlwaysAskPolicyType`

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `Type Auto`

              - `type BetaManagedAgentsEditToolConfig`

                Configuration for the edit tool.

                - `Type Edit`

                - `Enabled bool`

                - `Name Edit`

                - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsReadToolConfig`

                Configuration for the read tool.

                - `Type Read`

                - `Enabled bool`

                - `Name Read`

                - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsWriteToolConfig`

                Configuration for the write tool.

                - `Type Write`

                - `Enabled bool`

                - `Name Write`

                - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsGlobToolConfig`

                Configuration for the glob tool.

                - `Type Glob`

                - `Enabled bool`

                - `Name Glob`

                - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsGrepToolConfig`

                Configuration for the grep tool.

                - `Type Grep`

                - `Enabled bool`

                - `Name Grep`

                - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsWebFetchToolConfig`

                Configuration for the web_fetch tool.

                - `Type WebFetch`

                - `Enabled bool`

                - `Name WebFetch`

                - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `URLSources BetaManagedAgentsWebFetchURLSources`

                  Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

                  - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                    Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                    - `type BetaManagedAgentsWebFetchURLSourceAll`

                      Every URL from this source may be fetched. This is the default.

                      - `Type All`

                    - `type BetaManagedAgentsWebFetchURLSourceNone`

                      This source contributes no URLs that may be fetched.

                      - `Type None`

                    - `type BetaManagedAgentsWebFetchURLSourceOnly`

                      Only the named tools' results contribute URLs that may be fetched.

                      - `Type Only`

                      - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                        The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                        - `Type ToolReference`

                          Must be "tool_reference".

                        - `Name string`

                          Name of the tool. Compared exactly, so upper and lower case letters are different.

                          minLength: 1, maxLength: 128

                    - `type BetaManagedAgentsWebFetchURLSourceExcept`

                      Every tool's results contribute URLs that may be fetched, except the named tools' results.

                      - `Type Except`

                      - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                        The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                        - `Type ToolReference`

                          Must be "tool_reference".

                        - `Name string`

                          Name of the tool. Compared exactly, so upper and lower case letters are different.

                          minLength: 1, maxLength: 128

                  - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                    Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

                  - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                    Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                    - `type BetaManagedAgentsWebFetchURLSourceAll`

                      Every URL from this source may be fetched. This is the default.

                    - `type BetaManagedAgentsWebFetchURLSourceNone`

                      This source contributes no URLs that may be fetched.

                - `AllowedDomains []string Optional`

                - `BlockedDomains []string Optional`

                - `MaxContentTokens int64 Optional`

                  format: int32

              - `type BetaManagedAgentsWebSearchToolConfig`

                Configuration for the web_search tool.

                - `Type WebSearch`

                - `Enabled bool`

                - `Name WebSearch`

                - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `AllowedDomains []string Optional`

                - `BlockedDomains []string Optional`

                - `UserLocation BetaManagedAgentsUserLocation Optional`

                  Approximate user location for search result localization.

                  - `Type Approximate`

                    Location precision. Only "approximate" is supported.

                  - `City string Optional`

                    City name.

                    minLength: 1, maxLength: 255

                  - `Country string Optional`

                    Two-letter ISO 3166-1 country code, uppercase.

                  - `Region string Optional`

                    Region or state name.

                    minLength: 1, maxLength: 255

                  - `Timezone string Optional`

                    IANA timezone identifier, e.g. "America/Los_Angeles".

                    minLength: 1, maxLength: 255

            - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

              Resolved default configuration for agent tools.

              - `Enabled bool`

              - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `type BetaManagedAgentsMCPToolset`

            - `Type BetaManagedAgentsMCPToolsetType`

            - `Configs []BetaManagedAgentsMCPToolConfig`

              - `Enabled bool`

              - `Name string`

              - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

              Resolved default configuration for all tools from an MCP server.

              - `Enabled bool`

              - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `MCPServerName string`

          - `type BetaManagedAgentsCustomTool`

            A custom tool as returned in API responses.

            - `Type BetaManagedAgentsCustomToolType`

            - `Description string`

            - `InputSchema BetaManagedAgentsCustomToolInputSchema`

              JSON Schema for custom tool input parameters.

              - `Type Object`

              - `Properties map[string, any] Optional`

              - `Required []string Optional`

            - `Name string`

        - `Version int64`

          format: int32

      - `type BetaManagedAgentsAdvisor`

        Platform advisor roster entry: a model the session's primary thread may consult mid-turn.

        - `Type BetaManagedAgentsAdvisorType`

        - `Model string`

          The advisor model id.

  - `type BetaManagedAgentsSessionMultiagent20261001`

    Resolved multiagent configuration with three members, as copied to the `session` at creation.

    - `Type Multiagent20261001`

    - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

      Whether the session's primary thread can consult an advisor model.

      - `type BetaManagedAgentsMultiagentAdvisorEnabled`

        The session's primary thread can consult `model` mid-turn.

        - `Type Enabled`

        - `Model string`

          The advisor model id.

      - `type BetaManagedAgentsMultiagentAdvisorDisabled`

        The agent has no advisor.

        - `Type Disabled`

    - `Subagents BetaManagedAgentsSessionMultiagentSubagentsUnion`

      Whether the agent can spawn session threads.

      - `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

        The agent can spawn session threads.

        - `Type Enabled`

        - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

          Whether the agent can define inline agents, which are not saved, when it spawns session threads.

          - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

            The agent can define inline agents.

            - `Type Enabled`

          - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

            The agent cannot define inline agents.

            - `Type Disabled`

        - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

          Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

          - `Type BetaManagedAgentsSessionThreadAgentType`

          - `ID string`

          - `Description string`

          - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

            Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

          - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

          - `Model BetaManagedAgentsModelConfig`

            Model identifier and configuration.

          - `Name string`

          - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

          - `System string`

          - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

          - `Version int64`

            format: int32

      - `type BetaManagedAgentsMultiagentSubagentsDisabled`

        The agent cannot spawn session threads.

        - `Type Disabled`

    - `Workflows BetaManagedAgentsSessionMultiagentWorkflowsUnion`

      Whether the agent can start workflow runs.

      - `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

        The agent can start workflow runs.

        - `Type Enabled`

        - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

          Whether a run's plan can define inline agents, which are not saved.

        - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

          Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

          - `Type BetaManagedAgentsSessionThreadAgentType`

          - `ID string`

          - `Description string`

          - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

            Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

          - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

          - `Model BetaManagedAgentsModelConfig`

            Model identifier and configuration.

          - `Name string`

          - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

          - `System string`

          - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

          - `Version int64`

            format: int32

      - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

        The agent cannot start workflow runs.

        - `Type Disabled`

### Beta Managed Agents Session Multiagent Coordinator

- `type BetaManagedAgentsSessionMultiagentCoordinator`

  Resolved coordinator topology with full agent definitions for each roster member.

  - `Type BetaManagedAgentsSessionMultiagentCoordinatorType`

  - `Agents []BetaManagedAgentsSessionMultiagentCoordinatorAgentUnion`

    Full `agent` definitions the coordinator may spawn as session threads.

    - `type 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`.

      - `Type BetaManagedAgentsSessionThreadAgentType`

      - `ID string`

      - `Description string`

      - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

        Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

        - `type BetaManagedAgentsAWSRoleExecutionIdentity`

          An AWS IAM role principal as returned in API responses.

          - `Type AWSRole`

          - `RoleARN string`

            The IAM role's ARN.

        - `type BetaManagedAgentsServiceAccountExecutionIdentity`

          The Anthropic-managed service account as returned in API responses.

          - `Type ServiceAccount`

      - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

        - `Type BetaManagedAgentsMCPServerURLDefinitionType`

        - `Name string`

        - `URL string`

      - `Model BetaManagedAgentsModelConfig`

        Model identifier and configuration.

        - `ID BetaManagedAgentsModel`

          The model that will power your agent.

          See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

          - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

            Fastest model for high-volume, real-time tasks

          - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

            Powerful intelligence for coding, knowledge work, and long-running agents

          - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

            Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

          - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

            Next generation of intelligence for the hardest knowledge work and coding problems

          - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

            Best combination of speed and intelligence

          - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

          - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

          - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

        - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

          How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

          - `type BetaManagedAgentsEffortLow`

            Low effort. Favors latency over reasoning depth.

            - `Type BetaManagedAgentsEffortLowType`

          - `type BetaManagedAgentsEffortMedium`

            Medium effort. Balances latency and reasoning depth.

            - `Type BetaManagedAgentsEffortMediumType`

          - `type BetaManagedAgentsEffortHigh`

            High effort. Favors reasoning depth.

            - `Type BetaManagedAgentsEffortHighType`

          - `type BetaManagedAgentsEffortXhigh`

            Extra-high effort. Not all models accept this level.

            - `Type BetaManagedAgentsEffortXhighType`

          - `type BetaManagedAgentsEffortMax`

            Maximum effort. Favors reasoning depth over latency.

            - `Type BetaManagedAgentsEffortMaxType`

        - `InferenceGeo string Optional`

          Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

        - `Speed BetaManagedAgentsModelConfigSpeed Optional`

          Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

          - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

          - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

      - `Name string`

      - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

        - `type BetaManagedAgentsAnthropicSkill`

          A resolved Anthropic-managed skill.

          - `Type BetaManagedAgentsAnthropicSkillType`

          - `SkillID string`

          - `Version string`

        - `type BetaManagedAgentsCustomSkill`

          A resolved user-created custom skill.

          - `Type BetaManagedAgentsCustomSkillType`

          - `SkillID string`

          - `Version string`

      - `System string`

      - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

        - `type BetaManagedAgentsAgentToolset20260401`

          - `Type BetaManagedAgentsAgentToolset20260401Type`

          - `Configs []BetaManagedAgentsAgentToolConfigUnion`

            - `type BetaManagedAgentsBashToolConfig`

              Configuration for the bash tool.

              - `Type Bash`

              - `Enabled bool`

              - `Name Bash`

              - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                  - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                  - `Type BetaManagedAgentsAlwaysAskPolicyType`

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `Type Auto`

            - `type BetaManagedAgentsEditToolConfig`

              Configuration for the edit tool.

              - `Type Edit`

              - `Enabled bool`

              - `Name Edit`

              - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsReadToolConfig`

              Configuration for the read tool.

              - `Type Read`

              - `Enabled bool`

              - `Name Read`

              - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsWriteToolConfig`

              Configuration for the write tool.

              - `Type Write`

              - `Enabled bool`

              - `Name Write`

              - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsGlobToolConfig`

              Configuration for the glob tool.

              - `Type Glob`

              - `Enabled bool`

              - `Name Glob`

              - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsGrepToolConfig`

              Configuration for the grep tool.

              - `Type Grep`

              - `Enabled bool`

              - `Name Grep`

              - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsWebFetchToolConfig`

              Configuration for the web_fetch tool.

              - `Type WebFetch`

              - `Enabled bool`

              - `Name WebFetch`

              - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `URLSources BetaManagedAgentsWebFetchURLSources`

                Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

                - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                  Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                  - `type BetaManagedAgentsWebFetchURLSourceAll`

                    Every URL from this source may be fetched. This is the default.

                    - `Type All`

                  - `type BetaManagedAgentsWebFetchURLSourceNone`

                    This source contributes no URLs that may be fetched.

                    - `Type None`

                  - `type BetaManagedAgentsWebFetchURLSourceOnly`

                    Only the named tools' results contribute URLs that may be fetched.

                    - `Type Only`

                    - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                      The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                      - `Type ToolReference`

                        Must be "tool_reference".

                      - `Name string`

                        Name of the tool. Compared exactly, so upper and lower case letters are different.

                        minLength: 1, maxLength: 128

                  - `type BetaManagedAgentsWebFetchURLSourceExcept`

                    Every tool's results contribute URLs that may be fetched, except the named tools' results.

                    - `Type Except`

                    - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                      The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                      - `Type ToolReference`

                        Must be "tool_reference".

                      - `Name string`

                        Name of the tool. Compared exactly, so upper and lower case letters are different.

                        minLength: 1, maxLength: 128

                - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                  Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

                - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                  Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                  - `type BetaManagedAgentsWebFetchURLSourceAll`

                    Every URL from this source may be fetched. This is the default.

                  - `type BetaManagedAgentsWebFetchURLSourceNone`

                    This source contributes no URLs that may be fetched.

              - `AllowedDomains []string Optional`

              - `BlockedDomains []string Optional`

              - `MaxContentTokens int64 Optional`

                format: int32

            - `type BetaManagedAgentsWebSearchToolConfig`

              Configuration for the web_search tool.

              - `Type WebSearch`

              - `Enabled bool`

              - `Name WebSearch`

              - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `AllowedDomains []string Optional`

              - `BlockedDomains []string Optional`

              - `UserLocation BetaManagedAgentsUserLocation Optional`

                Approximate user location for search result localization.

                - `Type Approximate`

                  Location precision. Only "approximate" is supported.

                - `City string Optional`

                  City name.

                  minLength: 1, maxLength: 255

                - `Country string Optional`

                  Two-letter ISO 3166-1 country code, uppercase.

                - `Region string Optional`

                  Region or state name.

                  minLength: 1, maxLength: 255

                - `Timezone string Optional`

                  IANA timezone identifier, e.g. "America/Los_Angeles".

                  minLength: 1, maxLength: 255

          - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

            Resolved default configuration for agent tools.

            - `Enabled bool`

            - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsMCPToolset`

          - `Type BetaManagedAgentsMCPToolsetType`

          - `Configs []BetaManagedAgentsMCPToolConfig`

            - `Enabled bool`

            - `Name string`

            - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

            Resolved default configuration for all tools from an MCP server.

            - `Enabled bool`

            - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `MCPServerName string`

        - `type BetaManagedAgentsCustomTool`

          A custom tool as returned in API responses.

          - `Type BetaManagedAgentsCustomToolType`

          - `Description string`

          - `InputSchema BetaManagedAgentsCustomToolInputSchema`

            JSON Schema for custom tool input parameters.

            - `Type Object`

            - `Properties map[string, any] Optional`

            - `Required []string Optional`

          - `Name string`

      - `Version int64`

        format: int32

    - `type BetaManagedAgentsAdvisor`

      Platform advisor roster entry: a model the session's primary thread may consult mid-turn.

      - `Type BetaManagedAgentsAdvisorType`

      - `Model string`

        The advisor model id.

### Beta Managed Agents Session Multiagent Subagents

- `type BetaManagedAgentsSessionMultiagentSubagentsUnion interface{…}`

  Whether the agent can spawn session threads.

  - `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

    The agent can spawn session threads.

    - `Type Enabled`

    - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

      Whether the agent can define inline agents, which are not saved, when it spawns session threads.

      - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

        The agent can define inline agents.

        - `Type Enabled`

      - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

        The agent cannot define inline agents.

        - `Type Disabled`

    - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

      Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

      - `Type BetaManagedAgentsSessionThreadAgentType`

      - `ID string`

      - `Description string`

      - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

        Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

        - `type BetaManagedAgentsAWSRoleExecutionIdentity`

          An AWS IAM role principal as returned in API responses.

          - `Type AWSRole`

          - `RoleARN string`

            The IAM role's ARN.

        - `type BetaManagedAgentsServiceAccountExecutionIdentity`

          The Anthropic-managed service account as returned in API responses.

          - `Type ServiceAccount`

      - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

        - `Type BetaManagedAgentsMCPServerURLDefinitionType`

        - `Name string`

        - `URL string`

      - `Model BetaManagedAgentsModelConfig`

        Model identifier and configuration.

        - `ID BetaManagedAgentsModel`

          The model that will power your agent.

          See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

          - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

            Fastest model for high-volume, real-time tasks

          - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

            Powerful intelligence for coding, knowledge work, and long-running agents

          - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

            Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

          - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

            Next generation of intelligence for the hardest knowledge work and coding problems

          - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

            Best combination of speed and intelligence

          - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

          - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

          - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

        - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

          How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

          - `type BetaManagedAgentsEffortLow`

            Low effort. Favors latency over reasoning depth.

            - `Type BetaManagedAgentsEffortLowType`

          - `type BetaManagedAgentsEffortMedium`

            Medium effort. Balances latency and reasoning depth.

            - `Type BetaManagedAgentsEffortMediumType`

          - `type BetaManagedAgentsEffortHigh`

            High effort. Favors reasoning depth.

            - `Type BetaManagedAgentsEffortHighType`

          - `type BetaManagedAgentsEffortXhigh`

            Extra-high effort. Not all models accept this level.

            - `Type BetaManagedAgentsEffortXhighType`

          - `type BetaManagedAgentsEffortMax`

            Maximum effort. Favors reasoning depth over latency.

            - `Type BetaManagedAgentsEffortMaxType`

        - `InferenceGeo string Optional`

          Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

        - `Speed BetaManagedAgentsModelConfigSpeed Optional`

          Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

          - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

          - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

      - `Name string`

      - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

        - `type BetaManagedAgentsAnthropicSkill`

          A resolved Anthropic-managed skill.

          - `Type BetaManagedAgentsAnthropicSkillType`

          - `SkillID string`

          - `Version string`

        - `type BetaManagedAgentsCustomSkill`

          A resolved user-created custom skill.

          - `Type BetaManagedAgentsCustomSkillType`

          - `SkillID string`

          - `Version string`

      - `System string`

      - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

        - `type BetaManagedAgentsAgentToolset20260401`

          - `Type BetaManagedAgentsAgentToolset20260401Type`

          - `Configs []BetaManagedAgentsAgentToolConfigUnion`

            - `type BetaManagedAgentsBashToolConfig`

              Configuration for the bash tool.

              - `Type Bash`

              - `Enabled bool`

              - `Name Bash`

              - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                  - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                  - `Type BetaManagedAgentsAlwaysAskPolicyType`

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `Type Auto`

            - `type BetaManagedAgentsEditToolConfig`

              Configuration for the edit tool.

              - `Type Edit`

              - `Enabled bool`

              - `Name Edit`

              - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsReadToolConfig`

              Configuration for the read tool.

              - `Type Read`

              - `Enabled bool`

              - `Name Read`

              - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsWriteToolConfig`

              Configuration for the write tool.

              - `Type Write`

              - `Enabled bool`

              - `Name Write`

              - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsGlobToolConfig`

              Configuration for the glob tool.

              - `Type Glob`

              - `Enabled bool`

              - `Name Glob`

              - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsGrepToolConfig`

              Configuration for the grep tool.

              - `Type Grep`

              - `Enabled bool`

              - `Name Grep`

              - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsWebFetchToolConfig`

              Configuration for the web_fetch tool.

              - `Type WebFetch`

              - `Enabled bool`

              - `Name WebFetch`

              - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `URLSources BetaManagedAgentsWebFetchURLSources`

                Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

                - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                  Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                  - `type BetaManagedAgentsWebFetchURLSourceAll`

                    Every URL from this source may be fetched. This is the default.

                    - `Type All`

                  - `type BetaManagedAgentsWebFetchURLSourceNone`

                    This source contributes no URLs that may be fetched.

                    - `Type None`

                  - `type BetaManagedAgentsWebFetchURLSourceOnly`

                    Only the named tools' results contribute URLs that may be fetched.

                    - `Type Only`

                    - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                      The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                      - `Type ToolReference`

                        Must be "tool_reference".

                      - `Name string`

                        Name of the tool. Compared exactly, so upper and lower case letters are different.

                        minLength: 1, maxLength: 128

                  - `type BetaManagedAgentsWebFetchURLSourceExcept`

                    Every tool's results contribute URLs that may be fetched, except the named tools' results.

                    - `Type Except`

                    - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                      The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                      - `Type ToolReference`

                        Must be "tool_reference".

                      - `Name string`

                        Name of the tool. Compared exactly, so upper and lower case letters are different.

                        minLength: 1, maxLength: 128

                - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                  Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

                - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                  Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                  - `type BetaManagedAgentsWebFetchURLSourceAll`

                    Every URL from this source may be fetched. This is the default.

                  - `type BetaManagedAgentsWebFetchURLSourceNone`

                    This source contributes no URLs that may be fetched.

              - `AllowedDomains []string Optional`

              - `BlockedDomains []string Optional`

              - `MaxContentTokens int64 Optional`

                format: int32

            - `type BetaManagedAgentsWebSearchToolConfig`

              Configuration for the web_search tool.

              - `Type WebSearch`

              - `Enabled bool`

              - `Name WebSearch`

              - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `AllowedDomains []string Optional`

              - `BlockedDomains []string Optional`

              - `UserLocation BetaManagedAgentsUserLocation Optional`

                Approximate user location for search result localization.

                - `Type Approximate`

                  Location precision. Only "approximate" is supported.

                - `City string Optional`

                  City name.

                  minLength: 1, maxLength: 255

                - `Country string Optional`

                  Two-letter ISO 3166-1 country code, uppercase.

                - `Region string Optional`

                  Region or state name.

                  minLength: 1, maxLength: 255

                - `Timezone string Optional`

                  IANA timezone identifier, e.g. "America/Los_Angeles".

                  minLength: 1, maxLength: 255

          - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

            Resolved default configuration for agent tools.

            - `Enabled bool`

            - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsMCPToolset`

          - `Type BetaManagedAgentsMCPToolsetType`

          - `Configs []BetaManagedAgentsMCPToolConfig`

            - `Enabled bool`

            - `Name string`

            - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

            Resolved default configuration for all tools from an MCP server.

            - `Enabled bool`

            - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `MCPServerName string`

        - `type BetaManagedAgentsCustomTool`

          A custom tool as returned in API responses.

          - `Type BetaManagedAgentsCustomToolType`

          - `Description string`

          - `InputSchema BetaManagedAgentsCustomToolInputSchema`

            JSON Schema for custom tool input parameters.

            - `Type Object`

            - `Properties map[string, any] Optional`

            - `Required []string Optional`

          - `Name string`

      - `Version int64`

        format: int32

  - `type BetaManagedAgentsMultiagentSubagentsDisabled`

    The agent cannot spawn session threads.

    - `Type Disabled`

### Beta Managed Agents Session Multiagent Subagents Enabled

- `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

  The agent can spawn session threads.

  - `Type Enabled`

  - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

    Whether the agent can define inline agents, which are not saved, when it spawns session threads.

    - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

      The agent can define inline agents.

      - `Type Enabled`

    - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

      The agent cannot define inline agents.

      - `Type Disabled`

  - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

    Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

    - `Type BetaManagedAgentsSessionThreadAgentType`

    - `ID string`

    - `Description string`

    - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

      Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

      - `type BetaManagedAgentsAWSRoleExecutionIdentity`

        An AWS IAM role principal as returned in API responses.

        - `Type AWSRole`

        - `RoleARN string`

          The IAM role's ARN.

      - `type BetaManagedAgentsServiceAccountExecutionIdentity`

        The Anthropic-managed service account as returned in API responses.

        - `Type ServiceAccount`

    - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

      - `Type BetaManagedAgentsMCPServerURLDefinitionType`

      - `Name string`

      - `URL string`

    - `Model BetaManagedAgentsModelConfig`

      Model identifier and configuration.

      - `ID BetaManagedAgentsModel`

        The model that will power your agent.

        See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

        - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

          Fastest model for high-volume, real-time tasks

        - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

          Efficient model for coding and agents

        - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

          Powerful intelligence for coding, knowledge work, and long-running agents

        - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

          Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

        - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

          Efficient model for coding and agents

        - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

          Next generation of intelligence for the hardest knowledge work and coding problems

        - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

          Best combination of speed and intelligence

        - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

        - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

        - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

          **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

          High-performance model for agents and coding

        - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

          **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

          High-performance model for agents and coding

      - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

        How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

        - `type BetaManagedAgentsEffortLow`

          Low effort. Favors latency over reasoning depth.

          - `Type BetaManagedAgentsEffortLowType`

        - `type BetaManagedAgentsEffortMedium`

          Medium effort. Balances latency and reasoning depth.

          - `Type BetaManagedAgentsEffortMediumType`

        - `type BetaManagedAgentsEffortHigh`

          High effort. Favors reasoning depth.

          - `Type BetaManagedAgentsEffortHighType`

        - `type BetaManagedAgentsEffortXhigh`

          Extra-high effort. Not all models accept this level.

          - `Type BetaManagedAgentsEffortXhighType`

        - `type BetaManagedAgentsEffortMax`

          Maximum effort. Favors reasoning depth over latency.

          - `Type BetaManagedAgentsEffortMaxType`

      - `InferenceGeo string Optional`

        Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

      - `Speed BetaManagedAgentsModelConfigSpeed Optional`

        Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

        - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

        - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

    - `Name string`

    - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

      - `type BetaManagedAgentsAnthropicSkill`

        A resolved Anthropic-managed skill.

        - `Type BetaManagedAgentsAnthropicSkillType`

        - `SkillID string`

        - `Version string`

      - `type BetaManagedAgentsCustomSkill`

        A resolved user-created custom skill.

        - `Type BetaManagedAgentsCustomSkillType`

        - `SkillID string`

        - `Version string`

    - `System string`

    - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

      - `type BetaManagedAgentsAgentToolset20260401`

        - `Type BetaManagedAgentsAgentToolset20260401Type`

        - `Configs []BetaManagedAgentsAgentToolConfigUnion`

          - `type BetaManagedAgentsBashToolConfig`

            Configuration for the bash tool.

            - `Type Bash`

            - `Enabled bool`

            - `Name Bash`

            - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

                - `Type BetaManagedAgentsAlwaysAllowPolicyType`

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

                - `Type BetaManagedAgentsAlwaysAskPolicyType`

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `Type Auto`

          - `type BetaManagedAgentsEditToolConfig`

            Configuration for the edit tool.

            - `Type Edit`

            - `Enabled bool`

            - `Name Edit`

            - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `type BetaManagedAgentsReadToolConfig`

            Configuration for the read tool.

            - `Type Read`

            - `Enabled bool`

            - `Name Read`

            - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `type BetaManagedAgentsWriteToolConfig`

            Configuration for the write tool.

            - `Type Write`

            - `Enabled bool`

            - `Name Write`

            - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `type BetaManagedAgentsGlobToolConfig`

            Configuration for the glob tool.

            - `Type Glob`

            - `Enabled bool`

            - `Name Glob`

            - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `type BetaManagedAgentsGrepToolConfig`

            Configuration for the grep tool.

            - `Type Grep`

            - `Enabled bool`

            - `Name Grep`

            - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `type BetaManagedAgentsWebFetchToolConfig`

            Configuration for the web_fetch tool.

            - `Type WebFetch`

            - `Enabled bool`

            - `Name WebFetch`

            - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `URLSources BetaManagedAgentsWebFetchURLSources`

              Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

              - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                - `type BetaManagedAgentsWebFetchURLSourceAll`

                  Every URL from this source may be fetched. This is the default.

                  - `Type All`

                - `type BetaManagedAgentsWebFetchURLSourceNone`

                  This source contributes no URLs that may be fetched.

                  - `Type None`

                - `type BetaManagedAgentsWebFetchURLSourceOnly`

                  Only the named tools' results contribute URLs that may be fetched.

                  - `Type Only`

                  - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                    The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                    - `Type ToolReference`

                      Must be "tool_reference".

                    - `Name string`

                      Name of the tool. Compared exactly, so upper and lower case letters are different.

                      minLength: 1, maxLength: 128

                - `type BetaManagedAgentsWebFetchURLSourceExcept`

                  Every tool's results contribute URLs that may be fetched, except the named tools' results.

                  - `Type Except`

                  - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                    The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                    - `Type ToolReference`

                      Must be "tool_reference".

                    - `Name string`

                      Name of the tool. Compared exactly, so upper and lower case letters are different.

                      minLength: 1, maxLength: 128

              - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

              - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                - `type BetaManagedAgentsWebFetchURLSourceAll`

                  Every URL from this source may be fetched. This is the default.

                - `type BetaManagedAgentsWebFetchURLSourceNone`

                  This source contributes no URLs that may be fetched.

            - `AllowedDomains []string Optional`

            - `BlockedDomains []string Optional`

            - `MaxContentTokens int64 Optional`

              format: int32

          - `type BetaManagedAgentsWebSearchToolConfig`

            Configuration for the web_search tool.

            - `Type WebSearch`

            - `Enabled bool`

            - `Name WebSearch`

            - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `AllowedDomains []string Optional`

            - `BlockedDomains []string Optional`

            - `UserLocation BetaManagedAgentsUserLocation Optional`

              Approximate user location for search result localization.

              - `Type Approximate`

                Location precision. Only "approximate" is supported.

              - `City string Optional`

                City name.

                minLength: 1, maxLength: 255

              - `Country string Optional`

                Two-letter ISO 3166-1 country code, uppercase.

              - `Region string Optional`

                Region or state name.

                minLength: 1, maxLength: 255

              - `Timezone string Optional`

                IANA timezone identifier, e.g. "America/Los_Angeles".

                minLength: 1, maxLength: 255

        - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

          Resolved default configuration for agent tools.

          - `Enabled bool`

          - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

            Permission policy for tool execution.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

      - `type BetaManagedAgentsMCPToolset`

        - `Type BetaManagedAgentsMCPToolsetType`

        - `Configs []BetaManagedAgentsMCPToolConfig`

          - `Enabled bool`

          - `Name string`

          - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

            Permission policy for tool execution.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

          Resolved default configuration for all tools from an MCP server.

          - `Enabled bool`

          - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

            Permission policy for tool execution.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `MCPServerName string`

      - `type BetaManagedAgentsCustomTool`

        A custom tool as returned in API responses.

        - `Type BetaManagedAgentsCustomToolType`

        - `Description string`

        - `InputSchema BetaManagedAgentsCustomToolInputSchema`

          JSON Schema for custom tool input parameters.

          - `Type Object`

          - `Properties map[string, any] Optional`

          - `Required []string Optional`

        - `Name string`

    - `Version int64`

      format: int32

### Beta Managed Agents Session Multiagent Workflows

- `type BetaManagedAgentsSessionMultiagentWorkflowsUnion interface{…}`

  Whether the agent can start workflow runs.

  - `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

    The agent can start workflow runs.

    - `Type Enabled`

    - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

      Whether a run's plan can define inline agents, which are not saved.

      - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

        The agent can define inline agents.

        - `Type Enabled`

      - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

        The agent cannot define inline agents.

        - `Type Disabled`

    - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

      Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

      - `Type BetaManagedAgentsSessionThreadAgentType`

      - `ID string`

      - `Description string`

      - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

        Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

        - `type BetaManagedAgentsAWSRoleExecutionIdentity`

          An AWS IAM role principal as returned in API responses.

          - `Type AWSRole`

          - `RoleARN string`

            The IAM role's ARN.

        - `type BetaManagedAgentsServiceAccountExecutionIdentity`

          The Anthropic-managed service account as returned in API responses.

          - `Type ServiceAccount`

      - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

        - `Type BetaManagedAgentsMCPServerURLDefinitionType`

        - `Name string`

        - `URL string`

      - `Model BetaManagedAgentsModelConfig`

        Model identifier and configuration.

        - `ID BetaManagedAgentsModel`

          The model that will power your agent.

          See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

          - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

            Fastest model for high-volume, real-time tasks

          - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

            Powerful intelligence for coding, knowledge work, and long-running agents

          - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

            Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

          - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

            Next generation of intelligence for the hardest knowledge work and coding problems

          - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

            Best combination of speed and intelligence

          - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

          - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

          - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

        - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

          How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

          - `type BetaManagedAgentsEffortLow`

            Low effort. Favors latency over reasoning depth.

            - `Type BetaManagedAgentsEffortLowType`

          - `type BetaManagedAgentsEffortMedium`

            Medium effort. Balances latency and reasoning depth.

            - `Type BetaManagedAgentsEffortMediumType`

          - `type BetaManagedAgentsEffortHigh`

            High effort. Favors reasoning depth.

            - `Type BetaManagedAgentsEffortHighType`

          - `type BetaManagedAgentsEffortXhigh`

            Extra-high effort. Not all models accept this level.

            - `Type BetaManagedAgentsEffortXhighType`

          - `type BetaManagedAgentsEffortMax`

            Maximum effort. Favors reasoning depth over latency.

            - `Type BetaManagedAgentsEffortMaxType`

        - `InferenceGeo string Optional`

          Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

        - `Speed BetaManagedAgentsModelConfigSpeed Optional`

          Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

          - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

          - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

      - `Name string`

      - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

        - `type BetaManagedAgentsAnthropicSkill`

          A resolved Anthropic-managed skill.

          - `Type BetaManagedAgentsAnthropicSkillType`

          - `SkillID string`

          - `Version string`

        - `type BetaManagedAgentsCustomSkill`

          A resolved user-created custom skill.

          - `Type BetaManagedAgentsCustomSkillType`

          - `SkillID string`

          - `Version string`

      - `System string`

      - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

        - `type BetaManagedAgentsAgentToolset20260401`

          - `Type BetaManagedAgentsAgentToolset20260401Type`

          - `Configs []BetaManagedAgentsAgentToolConfigUnion`

            - `type BetaManagedAgentsBashToolConfig`

              Configuration for the bash tool.

              - `Type Bash`

              - `Enabled bool`

              - `Name Bash`

              - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                  - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                  - `Type BetaManagedAgentsAlwaysAskPolicyType`

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `Type Auto`

            - `type BetaManagedAgentsEditToolConfig`

              Configuration for the edit tool.

              - `Type Edit`

              - `Enabled bool`

              - `Name Edit`

              - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsReadToolConfig`

              Configuration for the read tool.

              - `Type Read`

              - `Enabled bool`

              - `Name Read`

              - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsWriteToolConfig`

              Configuration for the write tool.

              - `Type Write`

              - `Enabled bool`

              - `Name Write`

              - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsGlobToolConfig`

              Configuration for the glob tool.

              - `Type Glob`

              - `Enabled bool`

              - `Name Glob`

              - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsGrepToolConfig`

              Configuration for the grep tool.

              - `Type Grep`

              - `Enabled bool`

              - `Name Grep`

              - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsWebFetchToolConfig`

              Configuration for the web_fetch tool.

              - `Type WebFetch`

              - `Enabled bool`

              - `Name WebFetch`

              - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `URLSources BetaManagedAgentsWebFetchURLSources`

                Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

                - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                  Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                  - `type BetaManagedAgentsWebFetchURLSourceAll`

                    Every URL from this source may be fetched. This is the default.

                    - `Type All`

                  - `type BetaManagedAgentsWebFetchURLSourceNone`

                    This source contributes no URLs that may be fetched.

                    - `Type None`

                  - `type BetaManagedAgentsWebFetchURLSourceOnly`

                    Only the named tools' results contribute URLs that may be fetched.

                    - `Type Only`

                    - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                      The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                      - `Type ToolReference`

                        Must be "tool_reference".

                      - `Name string`

                        Name of the tool. Compared exactly, so upper and lower case letters are different.

                        minLength: 1, maxLength: 128

                  - `type BetaManagedAgentsWebFetchURLSourceExcept`

                    Every tool's results contribute URLs that may be fetched, except the named tools' results.

                    - `Type Except`

                    - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                      The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                      - `Type ToolReference`

                        Must be "tool_reference".

                      - `Name string`

                        Name of the tool. Compared exactly, so upper and lower case letters are different.

                        minLength: 1, maxLength: 128

                - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                  Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

                - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                  Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                  - `type BetaManagedAgentsWebFetchURLSourceAll`

                    Every URL from this source may be fetched. This is the default.

                  - `type BetaManagedAgentsWebFetchURLSourceNone`

                    This source contributes no URLs that may be fetched.

              - `AllowedDomains []string Optional`

              - `BlockedDomains []string Optional`

              - `MaxContentTokens int64 Optional`

                format: int32

            - `type BetaManagedAgentsWebSearchToolConfig`

              Configuration for the web_search tool.

              - `Type WebSearch`

              - `Enabled bool`

              - `Name WebSearch`

              - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `AllowedDomains []string Optional`

              - `BlockedDomains []string Optional`

              - `UserLocation BetaManagedAgentsUserLocation Optional`

                Approximate user location for search result localization.

                - `Type Approximate`

                  Location precision. Only "approximate" is supported.

                - `City string Optional`

                  City name.

                  minLength: 1, maxLength: 255

                - `Country string Optional`

                  Two-letter ISO 3166-1 country code, uppercase.

                - `Region string Optional`

                  Region or state name.

                  minLength: 1, maxLength: 255

                - `Timezone string Optional`

                  IANA timezone identifier, e.g. "America/Los_Angeles".

                  minLength: 1, maxLength: 255

          - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

            Resolved default configuration for agent tools.

            - `Enabled bool`

            - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsMCPToolset`

          - `Type BetaManagedAgentsMCPToolsetType`

          - `Configs []BetaManagedAgentsMCPToolConfig`

            - `Enabled bool`

            - `Name string`

            - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

            Resolved default configuration for all tools from an MCP server.

            - `Enabled bool`

            - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `MCPServerName string`

        - `type BetaManagedAgentsCustomTool`

          A custom tool as returned in API responses.

          - `Type BetaManagedAgentsCustomToolType`

          - `Description string`

          - `InputSchema BetaManagedAgentsCustomToolInputSchema`

            JSON Schema for custom tool input parameters.

            - `Type Object`

            - `Properties map[string, any] Optional`

            - `Required []string Optional`

          - `Name string`

      - `Version int64`

        format: int32

  - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

    The agent cannot start workflow runs.

    - `Type Disabled`

### Beta Managed Agents Session Multiagent Workflows Enabled

- `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

  The agent can start workflow runs.

  - `Type Enabled`

  - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

    Whether a run's plan can define inline agents, which are not saved.

    - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

      The agent can define inline agents.

      - `Type Enabled`

    - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

      The agent cannot define inline agents.

      - `Type Disabled`

  - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

    Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

    - `Type BetaManagedAgentsSessionThreadAgentType`

    - `ID string`

    - `Description string`

    - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

      Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

      - `type BetaManagedAgentsAWSRoleExecutionIdentity`

        An AWS IAM role principal as returned in API responses.

        - `Type AWSRole`

        - `RoleARN string`

          The IAM role's ARN.

      - `type BetaManagedAgentsServiceAccountExecutionIdentity`

        The Anthropic-managed service account as returned in API responses.

        - `Type ServiceAccount`

    - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

      - `Type BetaManagedAgentsMCPServerURLDefinitionType`

      - `Name string`

      - `URL string`

    - `Model BetaManagedAgentsModelConfig`

      Model identifier and configuration.

      - `ID BetaManagedAgentsModel`

        The model that will power your agent.

        See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

        - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

          Fastest model for high-volume, real-time tasks

        - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

          Efficient model for coding and agents

        - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

          Powerful intelligence for coding, knowledge work, and long-running agents

        - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

          Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

        - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

          Efficient model for coding and agents

        - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

          Next generation of intelligence for the hardest knowledge work and coding problems

        - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

          Best combination of speed and intelligence

        - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

        - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

        - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

          **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

          High-performance model for agents and coding

        - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

          **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

          High-performance model for agents and coding

      - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

        How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

        - `type BetaManagedAgentsEffortLow`

          Low effort. Favors latency over reasoning depth.

          - `Type BetaManagedAgentsEffortLowType`

        - `type BetaManagedAgentsEffortMedium`

          Medium effort. Balances latency and reasoning depth.

          - `Type BetaManagedAgentsEffortMediumType`

        - `type BetaManagedAgentsEffortHigh`

          High effort. Favors reasoning depth.

          - `Type BetaManagedAgentsEffortHighType`

        - `type BetaManagedAgentsEffortXhigh`

          Extra-high effort. Not all models accept this level.

          - `Type BetaManagedAgentsEffortXhighType`

        - `type BetaManagedAgentsEffortMax`

          Maximum effort. Favors reasoning depth over latency.

          - `Type BetaManagedAgentsEffortMaxType`

      - `InferenceGeo string Optional`

        Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

      - `Speed BetaManagedAgentsModelConfigSpeed Optional`

        Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

        - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

        - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

    - `Name string`

    - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

      - `type BetaManagedAgentsAnthropicSkill`

        A resolved Anthropic-managed skill.

        - `Type BetaManagedAgentsAnthropicSkillType`

        - `SkillID string`

        - `Version string`

      - `type BetaManagedAgentsCustomSkill`

        A resolved user-created custom skill.

        - `Type BetaManagedAgentsCustomSkillType`

        - `SkillID string`

        - `Version string`

    - `System string`

    - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

      - `type BetaManagedAgentsAgentToolset20260401`

        - `Type BetaManagedAgentsAgentToolset20260401Type`

        - `Configs []BetaManagedAgentsAgentToolConfigUnion`

          - `type BetaManagedAgentsBashToolConfig`

            Configuration for the bash tool.

            - `Type Bash`

            - `Enabled bool`

            - `Name Bash`

            - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

                - `Type BetaManagedAgentsAlwaysAllowPolicyType`

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

                - `Type BetaManagedAgentsAlwaysAskPolicyType`

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `Type Auto`

          - `type BetaManagedAgentsEditToolConfig`

            Configuration for the edit tool.

            - `Type Edit`

            - `Enabled bool`

            - `Name Edit`

            - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `type BetaManagedAgentsReadToolConfig`

            Configuration for the read tool.

            - `Type Read`

            - `Enabled bool`

            - `Name Read`

            - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `type BetaManagedAgentsWriteToolConfig`

            Configuration for the write tool.

            - `Type Write`

            - `Enabled bool`

            - `Name Write`

            - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `type BetaManagedAgentsGlobToolConfig`

            Configuration for the glob tool.

            - `Type Glob`

            - `Enabled bool`

            - `Name Glob`

            - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `type BetaManagedAgentsGrepToolConfig`

            Configuration for the grep tool.

            - `Type Grep`

            - `Enabled bool`

            - `Name Grep`

            - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `type BetaManagedAgentsWebFetchToolConfig`

            Configuration for the web_fetch tool.

            - `Type WebFetch`

            - `Enabled bool`

            - `Name WebFetch`

            - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `URLSources BetaManagedAgentsWebFetchURLSources`

              Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

              - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                - `type BetaManagedAgentsWebFetchURLSourceAll`

                  Every URL from this source may be fetched. This is the default.

                  - `Type All`

                - `type BetaManagedAgentsWebFetchURLSourceNone`

                  This source contributes no URLs that may be fetched.

                  - `Type None`

                - `type BetaManagedAgentsWebFetchURLSourceOnly`

                  Only the named tools' results contribute URLs that may be fetched.

                  - `Type Only`

                  - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                    The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                    - `Type ToolReference`

                      Must be "tool_reference".

                    - `Name string`

                      Name of the tool. Compared exactly, so upper and lower case letters are different.

                      minLength: 1, maxLength: 128

                - `type BetaManagedAgentsWebFetchURLSourceExcept`

                  Every tool's results contribute URLs that may be fetched, except the named tools' results.

                  - `Type Except`

                  - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                    The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                    - `Type ToolReference`

                      Must be "tool_reference".

                    - `Name string`

                      Name of the tool. Compared exactly, so upper and lower case letters are different.

                      minLength: 1, maxLength: 128

              - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

              - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                - `type BetaManagedAgentsWebFetchURLSourceAll`

                  Every URL from this source may be fetched. This is the default.

                - `type BetaManagedAgentsWebFetchURLSourceNone`

                  This source contributes no URLs that may be fetched.

            - `AllowedDomains []string Optional`

            - `BlockedDomains []string Optional`

            - `MaxContentTokens int64 Optional`

              format: int32

          - `type BetaManagedAgentsWebSearchToolConfig`

            Configuration for the web_search tool.

            - `Type WebSearch`

            - `Enabled bool`

            - `Name WebSearch`

            - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `AllowedDomains []string Optional`

            - `BlockedDomains []string Optional`

            - `UserLocation BetaManagedAgentsUserLocation Optional`

              Approximate user location for search result localization.

              - `Type Approximate`

                Location precision. Only "approximate" is supported.

              - `City string Optional`

                City name.

                minLength: 1, maxLength: 255

              - `Country string Optional`

                Two-letter ISO 3166-1 country code, uppercase.

              - `Region string Optional`

                Region or state name.

                minLength: 1, maxLength: 255

              - `Timezone string Optional`

                IANA timezone identifier, e.g. "America/Los_Angeles".

                minLength: 1, maxLength: 255

        - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

          Resolved default configuration for agent tools.

          - `Enabled bool`

          - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

            Permission policy for tool execution.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

      - `type BetaManagedAgentsMCPToolset`

        - `Type BetaManagedAgentsMCPToolsetType`

        - `Configs []BetaManagedAgentsMCPToolConfig`

          - `Enabled bool`

          - `Name string`

          - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

            Permission policy for tool execution.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

          Resolved default configuration for all tools from an MCP server.

          - `Enabled bool`

          - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

            Permission policy for tool execution.

            - `type BetaManagedAgentsAlwaysAllowPolicy`

              Tool calls are automatically approved without user confirmation.

            - `type BetaManagedAgentsAlwaysAskPolicy`

              Tool calls require user confirmation before execution.

            - `type BetaManagedAgentsAutoPolicy`

              The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `MCPServerName string`

      - `type BetaManagedAgentsCustomTool`

        A custom tool as returned in API responses.

        - `Type BetaManagedAgentsCustomToolType`

        - `Description string`

        - `InputSchema BetaManagedAgentsCustomToolInputSchema`

          JSON Schema for custom tool input parameters.

          - `Type Object`

          - `Properties map[string, any] Optional`

          - `Required []string Optional`

        - `Name string`

    - `Version int64`

      format: int32

### Beta Managed Agents Session Multiagent20261001

- `type BetaManagedAgentsSessionMultiagent20261001`

  Resolved multiagent configuration with three members, as copied to the `session` at creation.

  - `Type Multiagent20261001`

  - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

    Whether the session's primary thread can consult an advisor model.

    - `type BetaManagedAgentsMultiagentAdvisorEnabled`

      The session's primary thread can consult `model` mid-turn.

      - `Type Enabled`

      - `Model string`

        The advisor model id.

    - `type BetaManagedAgentsMultiagentAdvisorDisabled`

      The agent has no advisor.

      - `Type Disabled`

  - `Subagents BetaManagedAgentsSessionMultiagentSubagentsUnion`

    Whether the agent can spawn session threads.

    - `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

      The agent can spawn session threads.

      - `Type Enabled`

      - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

        Whether the agent can define inline agents, which are not saved, when it spawns session threads.

        - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

          The agent can define inline agents.

          - `Type Enabled`

        - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

          The agent cannot define inline agents.

          - `Type Disabled`

      - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

        Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

        - `Type BetaManagedAgentsSessionThreadAgentType`

        - `ID string`

        - `Description string`

        - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

          Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

          - `type BetaManagedAgentsAWSRoleExecutionIdentity`

            An AWS IAM role principal as returned in API responses.

            - `Type AWSRole`

            - `RoleARN string`

              The IAM role's ARN.

          - `type BetaManagedAgentsServiceAccountExecutionIdentity`

            The Anthropic-managed service account as returned in API responses.

            - `Type ServiceAccount`

        - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

          - `Type BetaManagedAgentsMCPServerURLDefinitionType`

          - `Name string`

          - `URL string`

        - `Model BetaManagedAgentsModelConfig`

          Model identifier and configuration.

          - `ID BetaManagedAgentsModel`

            The model that will power your agent.

            See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

            - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

              Fastest model for high-volume, real-time tasks

            - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

              Efficient model for coding and agents

            - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

              Powerful intelligence for coding, knowledge work, and long-running agents

            - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

              Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

            - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

              Efficient model for coding and agents

            - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

              Next generation of intelligence for the hardest knowledge work and coding problems

            - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

              Powerful intelligence for long-running agents and coding

            - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

              Powerful intelligence for long-running agents and coding

            - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

              Powerful intelligence for long-running agents and coding

            - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

              Powerful intelligence for long-running agents and coding

            - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

              Best combination of speed and intelligence

            - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

            - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

            - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

              Powerful intelligence for long-running agents and coding

            - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

              Powerful intelligence for long-running agents and coding

            - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

              **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

              High-performance model for agents and coding

            - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

              **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

              High-performance model for agents and coding

          - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

            How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

            - `type BetaManagedAgentsEffortLow`

              Low effort. Favors latency over reasoning depth.

              - `Type BetaManagedAgentsEffortLowType`

            - `type BetaManagedAgentsEffortMedium`

              Medium effort. Balances latency and reasoning depth.

              - `Type BetaManagedAgentsEffortMediumType`

            - `type BetaManagedAgentsEffortHigh`

              High effort. Favors reasoning depth.

              - `Type BetaManagedAgentsEffortHighType`

            - `type BetaManagedAgentsEffortXhigh`

              Extra-high effort. Not all models accept this level.

              - `Type BetaManagedAgentsEffortXhighType`

            - `type BetaManagedAgentsEffortMax`

              Maximum effort. Favors reasoning depth over latency.

              - `Type BetaManagedAgentsEffortMaxType`

          - `InferenceGeo string Optional`

            Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

          - `Speed BetaManagedAgentsModelConfigSpeed Optional`

            Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

            - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

            - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

        - `Name string`

        - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

          - `type BetaManagedAgentsAnthropicSkill`

            A resolved Anthropic-managed skill.

            - `Type BetaManagedAgentsAnthropicSkillType`

            - `SkillID string`

            - `Version string`

          - `type BetaManagedAgentsCustomSkill`

            A resolved user-created custom skill.

            - `Type BetaManagedAgentsCustomSkillType`

            - `SkillID string`

            - `Version string`

        - `System string`

        - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

          - `type BetaManagedAgentsAgentToolset20260401`

            - `Type BetaManagedAgentsAgentToolset20260401Type`

            - `Configs []BetaManagedAgentsAgentToolConfigUnion`

              - `type BetaManagedAgentsBashToolConfig`

                Configuration for the bash tool.

                - `Type Bash`

                - `Enabled bool`

                - `Name Bash`

                - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                    - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                    - `Type BetaManagedAgentsAlwaysAskPolicyType`

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `Type Auto`

              - `type BetaManagedAgentsEditToolConfig`

                Configuration for the edit tool.

                - `Type Edit`

                - `Enabled bool`

                - `Name Edit`

                - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsReadToolConfig`

                Configuration for the read tool.

                - `Type Read`

                - `Enabled bool`

                - `Name Read`

                - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsWriteToolConfig`

                Configuration for the write tool.

                - `Type Write`

                - `Enabled bool`

                - `Name Write`

                - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsGlobToolConfig`

                Configuration for the glob tool.

                - `Type Glob`

                - `Enabled bool`

                - `Name Glob`

                - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsGrepToolConfig`

                Configuration for the grep tool.

                - `Type Grep`

                - `Enabled bool`

                - `Name Grep`

                - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsWebFetchToolConfig`

                Configuration for the web_fetch tool.

                - `Type WebFetch`

                - `Enabled bool`

                - `Name WebFetch`

                - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `URLSources BetaManagedAgentsWebFetchURLSources`

                  Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

                  - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                    Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                    - `type BetaManagedAgentsWebFetchURLSourceAll`

                      Every URL from this source may be fetched. This is the default.

                      - `Type All`

                    - `type BetaManagedAgentsWebFetchURLSourceNone`

                      This source contributes no URLs that may be fetched.

                      - `Type None`

                    - `type BetaManagedAgentsWebFetchURLSourceOnly`

                      Only the named tools' results contribute URLs that may be fetched.

                      - `Type Only`

                      - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                        The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                        - `Type ToolReference`

                          Must be "tool_reference".

                        - `Name string`

                          Name of the tool. Compared exactly, so upper and lower case letters are different.

                          minLength: 1, maxLength: 128

                    - `type BetaManagedAgentsWebFetchURLSourceExcept`

                      Every tool's results contribute URLs that may be fetched, except the named tools' results.

                      - `Type Except`

                      - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                        The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                        - `Type ToolReference`

                          Must be "tool_reference".

                        - `Name string`

                          Name of the tool. Compared exactly, so upper and lower case letters are different.

                          minLength: 1, maxLength: 128

                  - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                    Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

                  - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                    Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                    - `type BetaManagedAgentsWebFetchURLSourceAll`

                      Every URL from this source may be fetched. This is the default.

                    - `type BetaManagedAgentsWebFetchURLSourceNone`

                      This source contributes no URLs that may be fetched.

                - `AllowedDomains []string Optional`

                - `BlockedDomains []string Optional`

                - `MaxContentTokens int64 Optional`

                  format: int32

              - `type BetaManagedAgentsWebSearchToolConfig`

                Configuration for the web_search tool.

                - `Type WebSearch`

                - `Enabled bool`

                - `Name WebSearch`

                - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                  Permission policy for tool execution.

                  - `type BetaManagedAgentsAlwaysAllowPolicy`

                    Tool calls are automatically approved without user confirmation.

                  - `type BetaManagedAgentsAlwaysAskPolicy`

                    Tool calls require user confirmation before execution.

                  - `type BetaManagedAgentsAutoPolicy`

                    The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `AllowedDomains []string Optional`

                - `BlockedDomains []string Optional`

                - `UserLocation BetaManagedAgentsUserLocation Optional`

                  Approximate user location for search result localization.

                  - `Type Approximate`

                    Location precision. Only "approximate" is supported.

                  - `City string Optional`

                    City name.

                    minLength: 1, maxLength: 255

                  - `Country string Optional`

                    Two-letter ISO 3166-1 country code, uppercase.

                  - `Region string Optional`

                    Region or state name.

                    minLength: 1, maxLength: 255

                  - `Timezone string Optional`

                    IANA timezone identifier, e.g. "America/Los_Angeles".

                    minLength: 1, maxLength: 255

            - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

              Resolved default configuration for agent tools.

              - `Enabled bool`

              - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `type BetaManagedAgentsMCPToolset`

            - `Type BetaManagedAgentsMCPToolsetType`

            - `Configs []BetaManagedAgentsMCPToolConfig`

              - `Enabled bool`

              - `Name string`

              - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

              Resolved default configuration for all tools from an MCP server.

              - `Enabled bool`

              - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `MCPServerName string`

          - `type BetaManagedAgentsCustomTool`

            A custom tool as returned in API responses.

            - `Type BetaManagedAgentsCustomToolType`

            - `Description string`

            - `InputSchema BetaManagedAgentsCustomToolInputSchema`

              JSON Schema for custom tool input parameters.

              - `Type Object`

              - `Properties map[string, any] Optional`

              - `Required []string Optional`

            - `Name string`

        - `Version int64`

          format: int32

    - `type BetaManagedAgentsMultiagentSubagentsDisabled`

      The agent cannot spawn session threads.

      - `Type Disabled`

  - `Workflows BetaManagedAgentsSessionMultiagentWorkflowsUnion`

    Whether the agent can start workflow runs.

    - `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

      The agent can start workflow runs.

      - `Type Enabled`

      - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

        Whether a run's plan can define inline agents, which are not saved.

      - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

        Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

        - `Type BetaManagedAgentsSessionThreadAgentType`

        - `ID string`

        - `Description string`

        - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

          Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

        - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

        - `Model BetaManagedAgentsModelConfig`

          Model identifier and configuration.

        - `Name string`

        - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

        - `System string`

        - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

        - `Version int64`

          format: int32

    - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

      The agent cannot start workflow runs.

      - `Type Disabled`

### Beta Managed Agents Session Stats

- `type BetaManagedAgentsSessionStats`

  Timing statistics for a session.

  - `ActiveSeconds float64 Optional`

    Cumulative time in seconds the session spent in `running` status. Excludes idle time.

    format: double

  - `DurationSeconds float64 Optional`

    Elapsed time since session creation in seconds. For terminated sessions, frozen at the final update.

    format: double

### Beta Managed Agents Session Updated Event

- `type BetaManagedAgentsSessionUpdatedEvent`

  Emitted when an UpdateSession request changed at least one field. Carries only the fields that changed; absent fields were not part of the update. The new configuration applies from the next turn.

  - `Type BetaManagedAgentsSessionUpdatedEventType`

  - `ID string`

    Unique identifier for this event.

  - `ProcessedAt Time`

    Timestamp when the update was applied.

    format: date-time

  - `Agent BetaManagedAgentsSessionAgent Optional`

    The session's effective agent configuration after the update. Present only when the update changed `agent` (tools or mcp_servers); when present it is the full materialised snapshot, not a diff.

    - `Type BetaManagedAgentsSessionAgentType`

    - `ID string`

    - `Description string`

    - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

      Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

      - `type BetaManagedAgentsAWSRoleExecutionIdentity`

        An AWS IAM role principal as returned in API responses.

        - `Type AWSRole`

        - `RoleARN string`

          The IAM role's ARN.

      - `type BetaManagedAgentsServiceAccountExecutionIdentity`

        The Anthropic-managed service account as returned in API responses.

        - `Type ServiceAccount`

    - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

      - `Type BetaManagedAgentsMCPServerURLDefinitionType`

      - `Name string`

      - `URL string`

    - `Model BetaManagedAgentsModelConfig`

      Model identifier and configuration.

      - `ID BetaManagedAgentsModel`

        The model that will power your agent.

        See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

        - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

          Fastest model for high-volume, real-time tasks

        - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

          Efficient model for coding and agents

        - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

          Powerful intelligence for coding, knowledge work, and long-running agents

        - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

          Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

        - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

          Efficient model for coding and agents

        - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

          Next generation of intelligence for the hardest knowledge work and coding problems

        - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

          Best combination of speed and intelligence

        - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

        - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

        - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

          Powerful intelligence for long-running agents and coding

        - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

          **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

          High-performance model for agents and coding

        - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

          **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

          High-performance model for agents and coding

      - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

        How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

        - `type BetaManagedAgentsEffortLow`

          Low effort. Favors latency over reasoning depth.

          - `Type BetaManagedAgentsEffortLowType`

        - `type BetaManagedAgentsEffortMedium`

          Medium effort. Balances latency and reasoning depth.

          - `Type BetaManagedAgentsEffortMediumType`

        - `type BetaManagedAgentsEffortHigh`

          High effort. Favors reasoning depth.

          - `Type BetaManagedAgentsEffortHighType`

        - `type BetaManagedAgentsEffortXhigh`

          Extra-high effort. Not all models accept this level.

          - `Type BetaManagedAgentsEffortXhighType`

        - `type BetaManagedAgentsEffortMax`

          Maximum effort. Favors reasoning depth over latency.

          - `Type BetaManagedAgentsEffortMaxType`

      - `InferenceGeo string Optional`

        Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

      - `Speed BetaManagedAgentsModelConfigSpeed Optional`

        Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

        - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

        - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

    - `Multiagent BetaManagedAgentsSessionMultiagentUnion`

      Resolved multiagent orchestration configuration. Null when the agent is single-threaded.

      - `type BetaManagedAgentsSessionMultiagentCoordinator`

        Resolved coordinator topology with full agent definitions for each roster member.

        - `Type BetaManagedAgentsSessionMultiagentCoordinatorType`

        - `Agents []BetaManagedAgentsSessionMultiagentCoordinatorAgentUnion`

          Full `agent` definitions the coordinator may spawn as session threads.

          - `type 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`.

            - `Type BetaManagedAgentsSessionThreadAgentType`

            - `ID string`

            - `Description string`

            - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

              Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

            - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Type BetaManagedAgentsMCPServerURLDefinitionType`

              - `Name string`

              - `URL string`

            - `Model BetaManagedAgentsModelConfig`

              Model identifier and configuration.

            - `Name string`

            - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `type BetaManagedAgentsAnthropicSkill`

                A resolved Anthropic-managed skill.

                - `Type BetaManagedAgentsAnthropicSkillType`

                - `SkillID string`

                - `Version string`

              - `type BetaManagedAgentsCustomSkill`

                A resolved user-created custom skill.

                - `Type BetaManagedAgentsCustomSkillType`

                - `SkillID string`

                - `Version string`

            - `System string`

            - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `type BetaManagedAgentsAgentToolset20260401`

                - `Type BetaManagedAgentsAgentToolset20260401Type`

                - `Configs []BetaManagedAgentsAgentToolConfigUnion`

                  - `type BetaManagedAgentsBashToolConfig`

                    Configuration for the bash tool.

                    - `Type Bash`

                    - `Enabled bool`

                    - `Name Bash`

                    - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                        - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                        - `Type BetaManagedAgentsAlwaysAskPolicyType`

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                        - `Type Auto`

                  - `type BetaManagedAgentsEditToolConfig`

                    Configuration for the edit tool.

                    - `Type Edit`

                    - `Enabled bool`

                    - `Name Edit`

                    - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsReadToolConfig`

                    Configuration for the read tool.

                    - `Type Read`

                    - `Enabled bool`

                    - `Name Read`

                    - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsWriteToolConfig`

                    Configuration for the write tool.

                    - `Type Write`

                    - `Enabled bool`

                    - `Name Write`

                    - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsGlobToolConfig`

                    Configuration for the glob tool.

                    - `Type Glob`

                    - `Enabled bool`

                    - `Name Glob`

                    - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsGrepToolConfig`

                    Configuration for the grep tool.

                    - `Type Grep`

                    - `Enabled bool`

                    - `Name Grep`

                    - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `type BetaManagedAgentsWebFetchToolConfig`

                    Configuration for the web_fetch tool.

                    - `Type WebFetch`

                    - `Enabled bool`

                    - `Name WebFetch`

                    - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `URLSources BetaManagedAgentsWebFetchURLSources`

                      Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

                      - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                        Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                        - `type BetaManagedAgentsWebFetchURLSourceAll`

                          Every URL from this source may be fetched. This is the default.

                          - `Type All`

                        - `type BetaManagedAgentsWebFetchURLSourceNone`

                          This source contributes no URLs that may be fetched.

                          - `Type None`

                        - `type BetaManagedAgentsWebFetchURLSourceOnly`

                          Only the named tools' results contribute URLs that may be fetched.

                          - `Type Only`

                          - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                            The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                            - `Type ToolReference`

                              Must be "tool_reference".

                            - `Name string`

                              Name of the tool. Compared exactly, so upper and lower case letters are different.

                              minLength: 1, maxLength: 128

                        - `type BetaManagedAgentsWebFetchURLSourceExcept`

                          Every tool's results contribute URLs that may be fetched, except the named tools' results.

                          - `Type Except`

                          - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                            The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                            - `Type ToolReference`

                              Must be "tool_reference".

                            - `Name string`

                              Name of the tool. Compared exactly, so upper and lower case letters are different.

                              minLength: 1, maxLength: 128

                      - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                        Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

                      - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                        Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                        - `type BetaManagedAgentsWebFetchURLSourceAll`

                          Every URL from this source may be fetched. This is the default.

                        - `type BetaManagedAgentsWebFetchURLSourceNone`

                          This source contributes no URLs that may be fetched.

                    - `AllowedDomains []string Optional`

                    - `BlockedDomains []string Optional`

                    - `MaxContentTokens int64 Optional`

                      format: int32

                  - `type BetaManagedAgentsWebSearchToolConfig`

                    Configuration for the web_search tool.

                    - `Type WebSearch`

                    - `Enabled bool`

                    - `Name WebSearch`

                    - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `AllowedDomains []string Optional`

                    - `BlockedDomains []string Optional`

                    - `UserLocation BetaManagedAgentsUserLocation Optional`

                      Approximate user location for search result localization.

                      - `Type Approximate`

                        Location precision. Only "approximate" is supported.

                      - `City string Optional`

                        City name.

                        minLength: 1, maxLength: 255

                      - `Country string Optional`

                        Two-letter ISO 3166-1 country code, uppercase.

                      - `Region string Optional`

                        Region or state name.

                        minLength: 1, maxLength: 255

                      - `Timezone string Optional`

                        IANA timezone identifier, e.g. "America/Los_Angeles".

                        minLength: 1, maxLength: 255

                - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

                  Resolved default configuration for agent tools.

                  - `Enabled bool`

                  - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `type BetaManagedAgentsMCPToolset`

                - `Type BetaManagedAgentsMCPToolsetType`

                - `Configs []BetaManagedAgentsMCPToolConfig`

                  - `Enabled bool`

                  - `Name string`

                  - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

                  Resolved default configuration for all tools from an MCP server.

                  - `Enabled bool`

                  - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

                    Permission policy for tool execution.

                    - `type BetaManagedAgentsAlwaysAllowPolicy`

                      Tool calls are automatically approved without user confirmation.

                    - `type BetaManagedAgentsAlwaysAskPolicy`

                      Tool calls require user confirmation before execution.

                    - `type BetaManagedAgentsAutoPolicy`

                      The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `MCPServerName string`

              - `type BetaManagedAgentsCustomTool`

                A custom tool as returned in API responses.

                - `Type BetaManagedAgentsCustomToolType`

                - `Description string`

                - `InputSchema BetaManagedAgentsCustomToolInputSchema`

                  JSON Schema for custom tool input parameters.

                  - `Type Object`

                  - `Properties map[string, any] Optional`

                  - `Required []string Optional`

                - `Name string`

            - `Version int64`

              format: int32

          - `type BetaManagedAgentsAdvisor`

            Platform advisor roster entry: a model the session's primary thread may consult mid-turn.

            - `Type BetaManagedAgentsAdvisorType`

            - `Model string`

              The advisor model id.

      - `type BetaManagedAgentsSessionMultiagent20261001`

        Resolved multiagent configuration with three members, as copied to the `session` at creation.

        - `Type Multiagent20261001`

        - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

          Whether the session's primary thread can consult an advisor model.

          - `type BetaManagedAgentsMultiagentAdvisorEnabled`

            The session's primary thread can consult `model` mid-turn.

            - `Type Enabled`

            - `Model string`

              The advisor model id.

          - `type BetaManagedAgentsMultiagentAdvisorDisabled`

            The agent has no advisor.

            - `Type Disabled`

        - `Subagents BetaManagedAgentsSessionMultiagentSubagentsUnion`

          Whether the agent can spawn session threads.

          - `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

            The agent can spawn session threads.

            - `Type Enabled`

            - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

              Whether the agent can define inline agents, which are not saved, when it spawns session threads.

              - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

                The agent can define inline agents.

                - `Type Enabled`

              - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

                The agent cannot define inline agents.

                - `Type Disabled`

            - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

              Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `Version int64`

                format: int32

          - `type BetaManagedAgentsMultiagentSubagentsDisabled`

            The agent cannot spawn session threads.

            - `Type Disabled`

        - `Workflows BetaManagedAgentsSessionMultiagentWorkflowsUnion`

          Whether the agent can start workflow runs.

          - `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

            The agent can start workflow runs.

            - `Type Enabled`

            - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

              Whether a run's plan can define inline agents, which are not saved.

            - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

              Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

              - `Version int64`

                format: int32

          - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

            The agent cannot start workflow runs.

            - `Type Disabled`

    - `Name string`

    - `Skills []BetaManagedAgentsSessionAgentSkillUnion`

      - `type BetaManagedAgentsAnthropicSkill`

        A resolved Anthropic-managed skill.

      - `type BetaManagedAgentsCustomSkill`

        A resolved user-created custom skill.

    - `System string`

    - `Tools []BetaManagedAgentsSessionAgentToolUnion`

      - `type BetaManagedAgentsAgentToolset20260401`

      - `type BetaManagedAgentsMCPToolset`

      - `type BetaManagedAgentsCustomTool`

        A custom tool as returned in API responses.

    - `Version int64`

      format: int32

  - `Budget BetaManagedAgentsBudgetLimit Optional`

    The session's budget after the update: the new budget when set or replaced, or null when the update removed it. Present only when the update changed the budget.

    - `Type BetaManagedAgentsBudgetLimitType`

    - `MaxListCost BetaMonetaryAmount`

      Maximum list cost the session may accrue. List price is used regardless of any negotiated discount, so the cap fires at or before the actual charge.

      - `Amount string`

        Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

      - `Currency BetaCurrency`

        Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

  - `Metadata map[string, string] Optional`

    The session's full metadata bag after the update. Present when the update set non-empty metadata; absent when metadata was unchanged or cleared to empty.

  - `Title string Optional`

    The session's new title. Present only when the update changed it.

### Beta Managed Agents Session Usage

- `type BetaManagedAgentsSessionUsage`

  Cumulative token usage for a session across all turns.

  - `ActiveSeconds float64 Optional`

    Cumulative time in seconds during which the session had at least one thread in running status. Overlapping activity from concurrent threads is counted once, unlike `stats.active_seconds`, which sums each thread's own active time. This is the duration the session's runtime cost is priced on.

    format: double

  - `CacheCreation BetaManagedAgentsCacheCreationUsage Optional`

    Tokens used to create prompt cache entries, broken down by cache TTL.

    - `Ephemeral1hInputTokens int64 Optional`

      Tokens used to create 1-hour ephemeral cache entries.

      format: int32

    - `Ephemeral5mInputTokens int64 Optional`

      Tokens used to create 5-minute ephemeral cache entries.

      format: int32

  - `CacheReadInputTokens int64 Optional`

    Total tokens read from prompt cache.

    format: int32

  - `InputTokens int64 Optional`

    Total input tokens consumed across all turns.

    format: int32

  - `ListCost BetaMonetaryAmount Optional`

    Cumulative list cost of the session across all turns, priced at public list rates. Absent until cost tracking is available for the session.

    - `Amount string`

      Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

    - `Currency BetaCurrency`

      Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

  - `OutputTokens int64 Optional`

    Total output tokens generated across all turns.

    format: int32

  - `ServerToolUse BetaManagedAgentsServerToolUsage Optional`

    Cumulative server-executed tool usage across all turns. Absent until server-tool tracking is available for the session.

    - `WebFetchRequests int64 Optional`

      Number of server-executed web fetch requests.

      format: int32

    - `WebSearchRequests int64 Optional`

      Number of server-executed web search requests.

      format: int32

### Beta Managed Agents Session Usage Event

- `type BetaManagedAgentsSessionUsageEvent`

  Periodic snapshot of the session's cumulative usage and tracked list cost.

  - `Type BetaManagedAgentsSessionUsageEventType`

  - `ID string`

    Unique identifier for this event.

  - `ProcessedAt Time`

    Timestamp when the snapshot was taken.

    format: date-time

  - `Usage BetaManagedAgentsSessionUsageSnapshot`

    The session's cumulative usage at the snapshot time.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds during which the session had at least one thread in running status. Overlapping activity from concurrent threads is counted once. This is the duration the session's runtime cost is priced on.

      format: double

    - `CacheCreation BetaManagedAgentsCacheCreationUsage Optional`

      Tokens used to create prompt cache entries, broken down by cache TTL.

      - `Ephemeral1hInputTokens int64 Optional`

        Tokens used to create 1-hour ephemeral cache entries.

        format: int32

      - `Ephemeral5mInputTokens int64 Optional`

        Tokens used to create 5-minute ephemeral cache entries.

        format: int32

    - `CacheReadInputTokens int64 Optional`

      Total tokens read from prompt cache.

      format: int32

    - `InputTokens int64 Optional`

      Total input tokens consumed across all turns.

      format: int32

    - `ListCost BetaMonetaryAmount Optional`

      Cumulative list cost of the session across all turns, priced at public list rates.

      - `Amount string`

        Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

      - `Currency BetaCurrency`

        Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

    - `OutputTokens int64 Optional`

      Total output tokens generated across all turns.

      format: int32

    - `ServerToolUse BetaManagedAgentsServerToolUsage Optional`

      Cumulative server-executed tool usage across all turns.

      - `WebFetchRequests int64 Optional`

        Number of server-executed web fetch requests.

        format: int32

      - `WebSearchRequests int64 Optional`

        Number of server-executed web search requests.

        format: int32

  - `Budget BetaManagedAgentsBudgetLimit Optional`

    The session's configured budget at the snapshot time, or null when the session has no budget.

    - `Type BetaManagedAgentsBudgetLimitType`

    - `MaxListCost BetaMonetaryAmount`

      Maximum list cost the session may accrue. List price is used regardless of any negotiated discount, so the cap fires at or before the actual charge.

### Beta Managed Agents Start Event

- `type BetaManagedAgentsStartEvent`

  Opens a preview of a buffered event. Carries the previewed event's type and id only. Followed by zero or more event_delta events with the same event id, normally concluded by the buffered event carrying that id. If the producing model request ends without that event (an error or interrupt mid-stream), its terminal span.model_request_end closes the preview. Only sent on stream connections that opt in via event_deltas; never appears in event history.

  - `Type BetaManagedAgentsStartEventType`

  - `Event BetaManagedAgentsStartEventPreviewUnion`

    The previewed event's type and id. The event type determines which delta types the preview's event_delta events carry: agent.message events stream content_delta fragments; agent.thinking previews are start-only — no deltas follow, and the buffered agent.thinking with the same id concludes them.

    - `type BetaManagedAgentsAgentMessagePreview`

      - `Type BetaManagedAgentsAgentMessagePreviewType`

      - `ID string`

        The id the buffered agent.message will carry if it is emitted. Matches the event_id on this preview's event_delta events.

    - `type BetaManagedAgentsAgentThinkingPreview`

      - `Type BetaManagedAgentsAgentThinkingPreviewType`

      - `ID string`

        The id the buffered agent.thinking will carry if it is emitted. Start-only — no event_delta events follow.

### Beta Managed Agents Start Event Preview

- `type BetaManagedAgentsStartEventPreviewUnion interface{…}`

  - `type BetaManagedAgentsAgentMessagePreview`

    - `Type BetaManagedAgentsAgentMessagePreviewType`

    - `ID string`

      The id the buffered agent.message will carry if it is emitted. Matches the event_id on this preview's event_delta events.

  - `type BetaManagedAgentsAgentThinkingPreview`

    - `Type BetaManagedAgentsAgentThinkingPreviewType`

    - `ID string`

      The id the buffered agent.thinking will carry if it is emitted. Start-only — no event_delta events follow.

### Beta Managed Agents System Content Block

- `type BetaManagedAgentsSystemContentBlock`

  Content block in a mid-conversation system message. Text-only.

  - `Type BetaManagedAgentsSystemContentBlockType`

  - `Text string`

    The text content.

    minLength: 1

### Beta Managed Agents System Message Event

- `type BetaManagedAgentsSystemMessageEvent`

  A mid-conversation system message event. Carries system-role content that is appended to the session as a `role: "system"` turn.

  - `Type BetaManagedAgentsSystemMessageEventType`

  - `ID string`

    Unique identifier for this event.

  - `Content []BetaManagedAgentsSystemContentBlock`

    System content blocks. Text-only.

    - `Type BetaManagedAgentsSystemContentBlockType`

    - `Text string`

      The text content.

      minLength: 1

  - `ProcessedAt Time Optional`

    Timestamp when this system message was processed.

    format: date-time

### Beta Managed Agents User Tool Result Event

- `type BetaManagedAgentsUserToolResultEvent`

  Event sent by the client providing the result of an agent-toolset tool execution. Only valid on `self_hosted` environments, where sandbox-routed tools are executed by the client rather than the server.

  - `Type BetaManagedAgentsUserToolResultEventType`

  - `ID string`

    Unique identifier for this event.

  - `ToolUseID string`

    The id of the `agent.tool_use` event this result corresponds to, which can be found in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

  - `Content []BetaManagedAgentsUserToolResultEventContentUnion Optional`

    The result content returned by the tool.

    - `type BetaManagedAgentsTextBlock`

      Regular text content.

      - `Type BetaManagedAgentsTextBlockType`

      - `Text string`

        The text content.

        minLength: 1

    - `type BetaManagedAgentsImageBlock`

      Image content specified directly as base64 data or as a reference via a URL.

      - `Type BetaManagedAgentsImageBlockType`

      - `Source BetaManagedAgentsImageBlockSourceUnion`

        The source of the image data.

        - `type BetaManagedAgentsBase64ImageSource`

          Base64-encoded image data.

          - `Type BetaManagedAgentsBase64ImageSourceType`

          - `Data string`

            Base64-encoded image data.

            minLength: 1

          - `MediaType string`

            MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

            minLength: 1

        - `type BetaManagedAgentsURLImageSource`

          Image referenced by URL.

          - `Type BetaManagedAgentsURLImageSourceType`

          - `URL string`

            URL of the image to fetch.

            minLength: 1

        - `type BetaManagedAgentsFileImageSource`

          Image referenced by file ID.

          - `Type BetaManagedAgentsFileImageSourceType`

          - `FileID string`

            ID of a previously uploaded file.

            minLength: 1

    - `type BetaManagedAgentsDocumentBlock`

      Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `Type BetaManagedAgentsDocumentBlockType`

      - `Source BetaManagedAgentsDocumentBlockSourceUnion`

        The source of the document data.

        - `type BetaManagedAgentsBase64DocumentSource`

          Base64-encoded document data.

          - `Type BetaManagedAgentsBase64DocumentSourceType`

          - `Data string`

            Base64-encoded document data.

            minLength: 1

          - `MediaType string`

            MIME type of the document (e.g., "application/pdf").

            minLength: 1

        - `type BetaManagedAgentsPlainTextDocumentSource`

          Plain text document content.

          - `Type BetaManagedAgentsPlainTextDocumentSourceType`

          - `Data string`

            The plain text content.

            minLength: 1

          - `MediaType BetaManagedAgentsPlainTextDocumentSourceMediaType`

            MIME type of the text content. Must be "text/plain".

        - `type BetaManagedAgentsURLDocumentSource`

          Document referenced by URL.

          - `Type BetaManagedAgentsURLDocumentSourceType`

          - `URL string`

            URL of the document to fetch.

            minLength: 1

        - `type BetaManagedAgentsFileDocumentSource`

          Document referenced by file ID.

          - `Type BetaManagedAgentsFileDocumentSourceType`

          - `FileID string`

            ID of a previously uploaded file.

            minLength: 1

      - `Context string Optional`

        Additional context about the document for the model.

      - `Title string Optional`

        The title of the document.

    - `type BetaManagedAgentsSearchResultBlock`

      A block containing a web search result.

      - `Type BetaManagedAgentsSearchResultBlockType`

      - `Citations BetaManagedAgentsSearchResultCitations`

        Citation settings for this search result.

        - `Enabled bool`

          Whether citations are enabled for this search result.

      - `Content []BetaManagedAgentsSearchResultContent`

        Array of text content blocks from the search result.

        - `Type BetaManagedAgentsSearchResultContentType`

        - `Text string`

          The text content.

          minLength: 1

      - `Source string`

        The URL source of the search result.

        minLength: 1

      - `Title string`

        The title of the search result.

        minLength: 1

  - `IsError bool Optional`

    Whether the tool execution resulted in an error.

  - `ProcessedAt Time Optional`

    Timestamp when this result was processed.

    format: date-time

  - `SessionThreadID string Optional`

    Set by the server to the subagent thread this result was routed to. Omitted when it was routed to the primary thread.

## Sessions › Events

### List Events

`client.Beta.Sessions.Events.List(ctx, sessionID, params) (*PageCursor[BetaManagedAgentsSessionEventUnion], error)`

**GET** `/v1/sessions/{session_id}/events`

List Events

#### Parameters

- `sessionID string` (path parameter)

- `params BetaSessionEventListParams`

  - `CreatedAtGt param.Opt[Time] Optional` (query parameter)

    Return events created after this time (exclusive). Compared against the event's `processed_at` value.

    format: date-time

  - `CreatedAtGte param.Opt[Time] Optional` (query parameter)

    Return events created at or after this time (inclusive). Compared against the event's `processed_at` value.

    format: date-time

  - `CreatedAtLt param.Opt[Time] Optional` (query parameter)

    Return events created before this time (exclusive). Compared against the event's `processed_at` value.

    format: date-time

  - `CreatedAtLte param.Opt[Time] Optional` (query parameter)

    Return events created at or before this time (inclusive). Compared against the event's `processed_at` value.

    format: date-time

  - `Limit param.Opt[int64] Optional` (query parameter)

    format: int32

  - `Order BetaSessionEventListParamsOrder Optional` (query parameter)

    Sort direction for results, ordered by the event's `processed_at`. Defaults to `asc` (chronological).

    - `const BetaSessionEventListParamsOrderAsc BetaSessionEventListParamsOrder = "asc"`

    - `const BetaSessionEventListParamsOrderDesc BetaSessionEventListParamsOrder = "desc"`

  - `Page param.Opt[string] Optional` (query parameter)

    Opaque pagination cursor from a previous response's `next_page`.

  - `Types []BetaManagedAgentsSessionEventType Optional` (query parameter)

    Filter by event type. Values match the `type` field on returned events (for example, `user.message` or `agent.tool_use`). Omit to return all event types.

    - `const BetaManagedAgentsSessionEventTypeUserMessage BetaManagedAgentsSessionEventType = "user.message"`

    - `const BetaManagedAgentsSessionEventTypeUserInterrupt BetaManagedAgentsSessionEventType = "user.interrupt"`

    - `const BetaManagedAgentsSessionEventTypeUserToolConfirmation BetaManagedAgentsSessionEventType = "user.tool_confirmation"`

    - `const BetaManagedAgentsSessionEventTypeUserCustomToolResult BetaManagedAgentsSessionEventType = "user.custom_tool_result"`

    - `const BetaManagedAgentsSessionEventTypeAgentCustomToolUse BetaManagedAgentsSessionEventType = "agent.custom_tool_use"`

    - `const BetaManagedAgentsSessionEventTypeAgentMessage BetaManagedAgentsSessionEventType = "agent.message"`

    - `const BetaManagedAgentsSessionEventTypeAgentThinking BetaManagedAgentsSessionEventType = "agent.thinking"`

    - `const BetaManagedAgentsSessionEventTypeAgentMCPToolUse BetaManagedAgentsSessionEventType = "agent.mcp_tool_use"`

    - `const BetaManagedAgentsSessionEventTypeAgentMCPToolResult BetaManagedAgentsSessionEventType = "agent.mcp_tool_result"`

    - `const BetaManagedAgentsSessionEventTypeAgentToolUse BetaManagedAgentsSessionEventType = "agent.tool_use"`

    - `const BetaManagedAgentsSessionEventTypeAgentToolResult BetaManagedAgentsSessionEventType = "agent.tool_result"`

    - `const BetaManagedAgentsSessionEventTypeAgentThreadMessageReceived BetaManagedAgentsSessionEventType = "agent.thread_message_received"`

    - `const BetaManagedAgentsSessionEventTypeAgentThreadMessageSent BetaManagedAgentsSessionEventType = "agent.thread_message_sent"`

    - `const BetaManagedAgentsSessionEventTypeAgentThreadContextCompacted BetaManagedAgentsSessionEventType = "agent.thread_context_compacted"`

    - `const BetaManagedAgentsSessionEventTypeSessionError BetaManagedAgentsSessionEventType = "session.error"`

    - `const BetaManagedAgentsSessionEventTypeSessionStatusRescheduled BetaManagedAgentsSessionEventType = "session.status_rescheduled"`

    - `const BetaManagedAgentsSessionEventTypeSessionStatusRunning BetaManagedAgentsSessionEventType = "session.status_running"`

    - `const BetaManagedAgentsSessionEventTypeSessionStatusIdle BetaManagedAgentsSessionEventType = "session.status_idle"`

    - `const BetaManagedAgentsSessionEventTypeSessionStatusTerminated BetaManagedAgentsSessionEventType = "session.status_terminated"`

    - `const BetaManagedAgentsSessionEventTypeSessionThreadCreated BetaManagedAgentsSessionEventType = "session.thread_created"`

    - `const BetaManagedAgentsSessionEventTypeSpanOutcomeEvaluationStart BetaManagedAgentsSessionEventType = "span.outcome_evaluation_start"`

    - `const BetaManagedAgentsSessionEventTypeSpanOutcomeEvaluationEnd BetaManagedAgentsSessionEventType = "span.outcome_evaluation_end"`

    - `const BetaManagedAgentsSessionEventTypeSpanModelRequestStart BetaManagedAgentsSessionEventType = "span.model_request_start"`

    - `const BetaManagedAgentsSessionEventTypeSpanModelRequestEnd BetaManagedAgentsSessionEventType = "span.model_request_end"`

    - `const BetaManagedAgentsSessionEventTypeSpanOutcomeEvaluationOngoing BetaManagedAgentsSessionEventType = "span.outcome_evaluation_ongoing"`

    - `const BetaManagedAgentsSessionEventTypeUserDefineOutcome BetaManagedAgentsSessionEventType = "user.define_outcome"`

    - `const BetaManagedAgentsSessionEventTypeSessionThreadStatusRunning BetaManagedAgentsSessionEventType = "session.thread_status_running"`

    - `const BetaManagedAgentsSessionEventTypeSessionThreadStatusIdle BetaManagedAgentsSessionEventType = "session.thread_status_idle"`

    - `const BetaManagedAgentsSessionEventTypeSessionThreadStatusTerminated BetaManagedAgentsSessionEventType = "session.thread_status_terminated"`

    - `const BetaManagedAgentsSessionEventTypeUserToolResult BetaManagedAgentsSessionEventType = "user.tool_result"`

    - `const BetaManagedAgentsSessionEventTypeSessionThreadStatusRescheduled BetaManagedAgentsSessionEventType = "session.thread_status_rescheduled"`

    - `const BetaManagedAgentsSessionEventTypeSessionUpdated BetaManagedAgentsSessionEventType = "session.updated"`

    - `const BetaManagedAgentsSessionEventTypeSystemMessage BetaManagedAgentsSessionEventType = "system.message"`

    - `const BetaManagedAgentsSessionEventTypeSessionUsage BetaManagedAgentsSessionEventType = "session.usage"`

    - `const BetaManagedAgentsSessionEventTypeWorkflowRunCreated BetaManagedAgentsSessionEventType = "workflow_run.created"`

    - `const BetaManagedAgentsSessionEventTypeWorkflowRunStatusRunning BetaManagedAgentsSessionEventType = "workflow_run.status_running"`

    - `const BetaManagedAgentsSessionEventTypeWorkflowRunStatusIdle BetaManagedAgentsSessionEventType = "workflow_run.status_idle"`

    - `const BetaManagedAgentsSessionEventTypeWorkflowRunStatusEnded BetaManagedAgentsSessionEventType = "workflow_run.status_ended"`

    - `const BetaManagedAgentsSessionEventTypeWorkflowRunError BetaManagedAgentsSessionEventType = "workflow_run.error"`

    - `const BetaManagedAgentsSessionEventTypeWorkflowRunPhaseStarted BetaManagedAgentsSessionEventType = "workflow_run.phase_started"`

    - `const BetaManagedAgentsSessionEventTypeWorkflowRunPhaseEnded BetaManagedAgentsSessionEventType = "workflow_run.phase_ended"`

  - `Betas []AnthropicBeta Optional` (header parameter)

    This endpoint is in beta: requests must send `managed-agents-2026-04-01` in this header.

    - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"`

    - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"`

    - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"`

    - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"`

    - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"`

    - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"`

    - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"`

    - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"`

    - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"`

    - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"`

    - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"`

    - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"`

    - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"`

    - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"`

    - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"`

    - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"`

    - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"`

    - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"`

    - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"`

    - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"`

    - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"`

    - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"`

    - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"`

    - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"`

    - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"`

    - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"`

    - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"`

    - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"`

    - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"`

    - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"`

    - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"`

    - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"`

    - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"`

    - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"`

    - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"`

    - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"`

    - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"`

    - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"`

    - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"`

    - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"`

    - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"`

    - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"`

    - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"`

    - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"`

    - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"`

    - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"`

    - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"`

    - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"`

    - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"`

  - `WorkspaceID param.Opt[string] Optional` (header parameter)

    Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).

    Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

#### Returns

- `type BetaManagedAgentsSessionEventUnion interface{…}`

  Union type for all event types in a session.

  - `type BetaManagedAgentsUserMessageEvent`

    A user message event in the session conversation.

    - `Type BetaManagedAgentsUserMessageEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsUserMessageEventContentUnion`

      Array of content blocks comprising the user message.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

        - `Type BetaManagedAgentsTextBlockType`

        - `Text string`

          The text content.

          minLength: 1

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

        - `Type BetaManagedAgentsImageBlockType`

        - `Source BetaManagedAgentsImageBlockSourceUnion`

          The source of the image data.

          - `type BetaManagedAgentsBase64ImageSource`

            Base64-encoded image data.

            - `Type BetaManagedAgentsBase64ImageSourceType`

            - `Data string`

              Base64-encoded image data.

              minLength: 1

            - `MediaType string`

              MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

              minLength: 1

          - `type BetaManagedAgentsURLImageSource`

            Image referenced by URL.

            - `Type BetaManagedAgentsURLImageSourceType`

            - `URL string`

              URL of the image to fetch.

              minLength: 1

          - `type BetaManagedAgentsFileImageSource`

            Image referenced by file ID.

            - `Type BetaManagedAgentsFileImageSourceType`

            - `FileID string`

              ID of a previously uploaded file.

              minLength: 1

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        - `Type BetaManagedAgentsDocumentBlockType`

        - `Source BetaManagedAgentsDocumentBlockSourceUnion`

          The source of the document data.

          - `type BetaManagedAgentsBase64DocumentSource`

            Base64-encoded document data.

            - `Type BetaManagedAgentsBase64DocumentSourceType`

            - `Data string`

              Base64-encoded document data.

              minLength: 1

            - `MediaType string`

              MIME type of the document (e.g., "application/pdf").

              minLength: 1

          - `type BetaManagedAgentsPlainTextDocumentSource`

            Plain text document content.

            - `Type BetaManagedAgentsPlainTextDocumentSourceType`

            - `Data string`

              The plain text content.

              minLength: 1

            - `MediaType BetaManagedAgentsPlainTextDocumentSourceMediaType`

              MIME type of the text content. Must be "text/plain".

          - `type BetaManagedAgentsURLDocumentSource`

            Document referenced by URL.

            - `Type BetaManagedAgentsURLDocumentSourceType`

            - `URL string`

              URL of the document to fetch.

              minLength: 1

          - `type BetaManagedAgentsFileDocumentSource`

            Document referenced by file ID.

            - `Type BetaManagedAgentsFileDocumentSourceType`

            - `FileID string`

              ID of a previously uploaded file.

              minLength: 1

        - `Context string Optional`

          Additional context about the document for the model.

        - `Title string Optional`

          The title of the document.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

        - `Type BetaManagedAgentsRedactedBlockType`

    - `ProcessedAt Time Optional`

      Timestamp when the agent finished processing this message.

      format: date-time

  - `type BetaManagedAgentsUserInterruptEvent`

    An interrupt event that pauses agent execution and returns control to the user.

    - `Type BetaManagedAgentsUserInterruptEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time Optional`

      Timestamp when the interrupt was processed.

      format: date-time

    - `SessionThreadID string Optional`

      If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

  - `type BetaManagedAgentsUserToolConfirmationEvent`

    A tool confirmation event that approves or denies a pending tool execution.

    - `Type BetaManagedAgentsUserToolConfirmationEventType`

    - `ID string`

      Unique identifier for this event.

    - `Result BetaManagedAgentsUserToolConfirmationEventResult`

      The confirmation result: 'allow' or 'deny'.

      - `const BetaManagedAgentsUserToolConfirmationEventResultAllow BetaManagedAgentsUserToolConfirmationEventResult = "allow"`

      - `const BetaManagedAgentsUserToolConfirmationEventResultDeny BetaManagedAgentsUserToolConfirmationEventResult = "deny"`

    - `ToolUseID string`

      The id of the `agent.tool_use` or `agent.mcp_tool_use` event this result corresponds to, which can be found in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

    - `DenyMessage string Optional`

      Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

      maxLength: 10000

    - `ProcessedAt Time Optional`

      Timestamp when the confirmation was processed.

      format: date-time

    - `SessionThreadID string Optional`

      Set by the server to the subagent thread this confirmation was routed to. Omitted when it was routed to the primary thread.

  - `type BetaManagedAgentsUserCustomToolResultEvent`

    Event sent by the client providing the result of a custom tool execution.

    - `Type BetaManagedAgentsUserCustomToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `CustomToolUseID string`

      The id of the `agent.custom_tool_use` event this result corresponds to. It is also listed in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

    - `Content []BetaManagedAgentsUserCustomToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

        - `Type BetaManagedAgentsSearchResultBlockType`

        - `Citations BetaManagedAgentsSearchResultCitations`

          Citation settings for this search result.

          - `Enabled bool`

            Whether citations are enabled for this search result.

        - `Content []BetaManagedAgentsSearchResultContent`

          Array of text content blocks from the search result.

          - `Type BetaManagedAgentsSearchResultContentType`

          - `Text string`

            The text content.

            minLength: 1

        - `Source string`

          The URL source of the search result.

          minLength: 1

        - `Title string`

          The title of the search result.

          minLength: 1

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

    - `ProcessedAt Time Optional`

      Timestamp when this result was processed.

      format: date-time

    - `SessionThreadID string Optional`

      Set by the server to the subagent thread this result was routed to. Omitted when it was routed to the primary thread.

  - `type BetaManagedAgentsAgentCustomToolUseEvent`

    Event emitted when the agent calls a custom tool. The session goes idle until the client sends a `user.custom_tool_result` event with the result. The client can send it as soon as this event arrives, without waiting for `session.status_idle`.

    - `Type BetaManagedAgentsAgentCustomToolUseEventType`

    - `ID string`

      Unique identifier for this event.

    - `Input map[string, any]`

      Input parameters for the tool call.

    - `Name string`

      Name of the custom tool being called.

    - `ProcessedAt Time`

      Timestamp when this tool use was processed.

      format: date-time

    - `SessionThreadID string Optional`

      When set, this event was cross-posted from a subagent's thread to surface its custom tool use on the primary thread's stream. Empty on the thread's own events. Informational only: the server routes the matching `user.custom_tool_result` by `custom_tool_use_id`, so clients do not send it back.

  - `type BetaManagedAgentsAgentMessageEvent`

    An agent response event in the session conversation.

    - `Type BetaManagedAgentsAgentMessageEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsAgentMessageEventContentUnion`

      Array of text blocks comprising the agent response.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

    - `ProcessedAt Time`

      Timestamp when this response was generated.

      format: date-time

  - `type BetaManagedAgentsAgentThinkingEvent`

    Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.

    - `Type BetaManagedAgentsAgentThinkingEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this thinking was produced.

      format: date-time

  - `type BetaManagedAgentsAgentMCPToolUseEvent`

    Event emitted when the agent invokes a tool provided by an MCP server.

    - `Type BetaManagedAgentsAgentMCPToolUseEventType`

    - `ID string`

      Unique identifier for this event.

    - `Input map[string, any]`

      Input parameters for the tool call.

    - `MCPServerName string`

      Name of the MCP server providing the tool.

    - `Name string`

      Name of the MCP tool being used.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `EvaluatedPermission BetaManagedAgentsAgentEvaluatedPermission Optional`

      The evaluated permission policy for this tool invocation.

      - `const BetaManagedAgentsAgentEvaluatedPermissionAllow BetaManagedAgentsAgentEvaluatedPermission = "allow"`

      - `const BetaManagedAgentsAgentEvaluatedPermissionAsk BetaManagedAgentsAgentEvaluatedPermission = "ask"`

      - `const BetaManagedAgentsAgentEvaluatedPermissionDeny BetaManagedAgentsAgentEvaluatedPermission = "deny"`

    - `Evaluation BetaManagedAgentsAgentToolEvaluationUnion Optional`

      Which resolved permission_policy produced evaluated_permission: always_allow, always_ask, or auto (with the server's per-invocation judgement). Absent only when the server refused the call before any policy applied (for example, the named tool is not enabled in the session); such a refusal has evaluated_permission deny. An event recorded before this field existed reads as the arm its evaluated_permission implies (always_allow for allow, always_ask for ask).

      - `type BetaManagedAgentsAgentToolEvaluationAlwaysAllow`

        The resolved permission_policy was always_allow; accompanies evaluated_permission "allow".

        - `Type AlwaysAllow`

      - `type BetaManagedAgentsAgentToolEvaluationAlwaysAsk`

        The resolved permission_policy was always_ask; accompanies evaluated_permission "ask".

        - `Type AlwaysAsk`

      - `type BetaManagedAgentsAgentToolEvaluationAuto`

        The resolved permission_policy was auto: the server judged this invocation individually.

        - `Type Auto`

        - `EvaluatedPermission BetaManagedAgentsAgentAutoEvaluatedPermissionUnion`

          The server's judgement for this invocation.

          - `type BetaManagedAgentsAgentAutoEvaluatedPermissionAllow`

            The server judged the invocation safe to execute without client approval.

            - `Type Allow`

          - `type BetaManagedAgentsAgentAutoEvaluatedPermissionAsk`

            The server reached no judgement; the invocation is held for client approval.

            - `Type Ask`

            - `ReasonCode string`

              The judgement's grounds in registry-bound terms, for client branching and audit rather than end-user display. Open registry; currently "indeterminate" (no judgement was reached). Clients must tolerate values outside this set.

              maxLength: 64

          - `type BetaManagedAgentsAgentAutoEvaluatedPermissionDeny`

            The server judged the invocation high-risk; it does not execute and a synthetic error tool result is appended.

            - `Type Deny`

            - `ReasonCode string`

              The judgement's grounds in registry-bound terms. Open registry; currently "high_risk" (judged high-risk; the call does not run). Clients must tolerate values outside this set.

              maxLength: 64

    - `SessionThreadID string Optional`

      When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Informational only: the server routes the matching `user.tool_confirmation` by `tool_use_id`, so clients do not send it back.

  - `type BetaManagedAgentsAgentMCPToolResultEvent`

    Event representing the result of an MCP tool execution.

    - `Type BetaManagedAgentsAgentMCPToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `MCPToolUseID string`

      The id of the `agent.mcp_tool_use` event this result corresponds to.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `Content []BetaManagedAgentsAgentMCPToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

  - `type BetaManagedAgentsAgentToolUseEvent`

    Event emitted when the agent invokes a built-in agent tool.

    - `Type BetaManagedAgentsAgentToolUseEventType`

    - `ID string`

      Unique identifier for this event.

    - `Input map[string, any]`

      Input parameters for the tool call.

    - `Name string`

      Name of the agent tool being used.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `EvaluatedPermission BetaManagedAgentsAgentEvaluatedPermission Optional`

      The evaluated permission policy for this tool invocation.

    - `Evaluation BetaManagedAgentsAgentToolEvaluationUnion Optional`

      Which resolved permission_policy produced evaluated_permission: always_allow, always_ask, or auto (with the server's per-invocation judgement). Absent only when the server refused the call before any policy applied (for example, the named tool is not enabled in the session); such a refusal has evaluated_permission deny. An event recorded before this field existed reads as the arm its evaluated_permission implies (always_allow for allow, always_ask for ask).

    - `SessionThreadID string Optional`

      When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Informational only: the server routes the matching `user.tool_confirmation` or `user.tool_result` by `tool_use_id`, so clients do not send it back.

  - `type BetaManagedAgentsAgentToolResultEvent`

    Event representing the result of an agent tool execution.

    - `Type BetaManagedAgentsAgentToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `ToolUseID string`

      The id of the `agent.tool_use` event this result corresponds to.

    - `Content []BetaManagedAgentsAgentToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

  - `type BetaManagedAgentsAgentThreadMessageReceivedEvent`

    Delivery event written to the target thread's input stream when an agent-to-agent message arrives.

    - `Type BetaManagedAgentsAgentThreadMessageReceivedEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsAgentThreadMessageReceivedEventContentUnion`

      Message content blocks.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

    - `FromSessionThreadID string`

      Public `sthr_` ID of the thread that sent the message.

    - `ProcessedAt Time`

      Timestamp when the message was received.

      format: date-time

    - `FromAgentName string Optional`

      Name of the callable agent this message came from. Absent when received from the primary agent.

  - `type BetaManagedAgentsAgentThreadMessageSentEvent`

    Observability event emitted to the sender's output stream when an agent-to-agent message is sent.

    - `Type BetaManagedAgentsAgentThreadMessageSentEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsAgentThreadMessageSentEventContentUnion`

      Message content blocks.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

    - `ProcessedAt Time`

      Timestamp when the message was sent.

      format: date-time

    - `ToSessionThreadID string`

      Public `sthr_` ID of the thread the message was sent to.

    - `ToAgentName string Optional`

      Name of the callable agent this message was sent to. Absent when sent to the primary agent.

  - `type BetaManagedAgentsAgentThreadContextCompactedEvent`

    Indicates that context compaction (summarization) occurred during the session.

    - `Type BetaManagedAgentsAgentThreadContextCompactedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when compaction was processed.

      format: date-time

  - `type BetaManagedAgentsSessionErrorEvent`

    An error event indicating a problem occurred during session execution.

    - `Type BetaManagedAgentsSessionErrorEventType`

    - `ID string`

      Unique identifier for this event.

    - `Error BetaManagedAgentsSessionErrorEventErrorUnion`

      - `type BetaManagedAgentsUnknownError`

        An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on `retry_status` and `message` alone.

        - `Type BetaManagedAgentsUnknownErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsUnknownErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            - `Type BetaManagedAgentsRetryStatusRetryingType`

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            - `Type BetaManagedAgentsRetryStatusExhaustedType`

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

            - `Type BetaManagedAgentsRetryStatusTerminalType`

      - `type BetaManagedAgentsModelOverloadedError`

        The model is currently overloaded. Emitted after automatic retries are exhausted.

        - `Type BetaManagedAgentsModelOverloadedErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsModelOverloadedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsModelRateLimitedError`

        The model request was rate-limited.

        - `Type BetaManagedAgentsModelRateLimitedErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsModelRateLimitedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsModelRequestFailedError`

        A model request failed for a reason other than overload or rate-limiting.

        - `Type BetaManagedAgentsModelRequestFailedErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsModelRequestFailedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsMCPConnectionFailedError`

        Failed to connect to an MCP server.

        - `Type BetaManagedAgentsMCPConnectionFailedErrorType`

        - `MCPServerName string`

          Name of the MCP server that failed to connect.

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsMCPConnectionFailedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsMCPAuthenticationFailedError`

        Authentication to an MCP server failed.

        - `Type BetaManagedAgentsMCPAuthenticationFailedErrorType`

        - `MCPServerName string`

          Name of the MCP server that failed authentication.

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsMCPAuthenticationFailedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsBillingError`

        The caller's organization or workspace cannot make model requests — out of credits or spend limit reached. Retrying with the same credentials will not succeed; the caller must resolve the billing state.

        - `Type BetaManagedAgentsBillingErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsBillingErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsCredentialHostUnreachableError`

        An `environment_variable` credential's `auth.networking.allowed_hosts` includes a host the environment's network policy does not permit.

        - `Type BetaManagedAgentsCredentialHostUnreachableErrorType`

        - `CredentialID string`

          ID of the affected credential.

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsCredentialHostUnreachableErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

        - `VaultID string`

          ID of the vault containing the affected credential.

      - `type BetaManagedAgentsRepositoryAuthenticationError`

        The repository host rejected the credentials, or required credentials and received none.

        - `Type RepositoryAuthenticationError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryAuthenticationErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryForbiddenError`

        The repository host refused access to the repository.

        - `Type RepositoryForbiddenError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryForbiddenErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryNotFoundError`

        The repository host reported the repository as not found.

        - `Type RepositoryNotFoundError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryNotFoundErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryCheckoutError`

        The requested branch or commit does not exist in the repository.

        - `Type RepositoryCheckoutError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryCheckoutErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryCloneError`

        The repository could not be cloned.

        - `Type RepositoryCloneError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryCloneErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

    - `ProcessedAt Time`

      Timestamp when the error occurred.

      format: date-time

  - `type BetaManagedAgentsSessionStatusRescheduledEvent`

    Indicates the session is recovering from an error state and is rescheduled for execution.

    - `Type BetaManagedAgentsSessionStatusRescheduledEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

  - `type BetaManagedAgentsSessionStatusRunningEvent`

    Indicates the session is actively running and the agent is working.

    - `Type BetaManagedAgentsSessionStatusRunningEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

  - `type BetaManagedAgentsSessionStatusIdleEvent`

    Indicates the agent has paused and is awaiting user input.

    - `Type BetaManagedAgentsSessionStatusIdleEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

    - `StopDetails BetaManagedAgentsSessionRefusalStopDetails`

      Structured information about why the session stopped. `null` when there is nothing more to report.

      - `Type Refusal`

      - `Category BetaManagedAgentsSessionRefusalStopDetailsCategory`

        The policy category that triggered the refusal, or `null` when there is no named category. New values can be added over time.

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryCyber BetaManagedAgentsSessionRefusalStopDetailsCategory = "cyber"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryBio BetaManagedAgentsSessionRefusalStopDetailsCategory = "bio"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryFrontierLLM BetaManagedAgentsSessionRefusalStopDetailsCategory = "frontier_llm"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryReasoningExtraction BetaManagedAgentsSessionRefusalStopDetailsCategory = "reasoning_extraction"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryGeneralHarms BetaManagedAgentsSessionRefusalStopDetailsCategory = "general_harms"`

      - `Explanation string`

        Human-readable explanation of the refusal, or `null` when none is available. The wording can change, so do not parse it.

    - `StopReason BetaManagedAgentsSessionStatusIdleEventStopReasonUnion`

      - `type BetaManagedAgentsSessionEndTurn`

        The agent completed its turn naturally and is ready for the next user message.

        - `Type BetaManagedAgentsSessionEndTurnType`

      - `type BetaManagedAgentsSessionRequiresAction`

        The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

        - `Type BetaManagedAgentsSessionRequiresActionType`

        - `EventIDs []string`

          The ids of events the agent is blocked on. Resolving fewer than all re-emits `session.status_idle` with the remainder.

      - `type BetaManagedAgentsSessionRetriesExhausted`

        The turn ended because repeated errors exhausted the retry budget or an error escalated to `retry_status: 'exhausted'`.

        - `Type BetaManagedAgentsSessionRetriesExhaustedType`

      - `type BetaManagedAgentsSessionBudgetReached`

        The agent stopped because the session's tracked list cost reached its budget, or because its usage includes a model with no list price (which the budget cannot measure). Raise the budget to continue — or, if raising is rejected because a model has no list price, remove the budget.

        - `Type BetaManagedAgentsSessionBudgetReachedType`

      - `type BetaManagedAgentsSessionRefusal`

        The turn ended because the model's response was refused, for example by a safety classifier.

        - `Type Refusal`

  - `type BetaManagedAgentsSessionStatusTerminatedEvent`

    Indicates the session has terminated, either due to an error or completion.

    - `Type BetaManagedAgentsSessionStatusTerminatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

  - `type BetaManagedAgentsSessionThreadCreatedEvent`

    Emitted when a child thread is created. Written to the parent thread's output stream so clients observing the session see child creation.

    - `Type BetaManagedAgentsSessionThreadCreatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the callable agent the thread runs.

    - `ProcessedAt Time`

      Timestamp when the thread was created.

      format: date-time

    - `SessionThreadID string`

      Public `sthr_` ID of the newly created thread.

    - `WorkflowRunID string`

      Identifier of the workflow run that created the thread, or `null` for any other thread.

  - `type BetaManagedAgentsSpanOutcomeEvaluationStartEvent`

    Emitted when an outcome evaluation cycle begins.

    - `Type BetaManagedAgentsSpanOutcomeEvaluationStartEventType`

    - `ID string`

      Unique identifier for this event.

    - `Iteration int64`

      0-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.

      format: int32

    - `OutcomeID string`

      The `outc_` ID of the outcome being evaluated.

    - `ProcessedAt Time`

      Timestamp when outcome evaluation started.

      format: date-time

  - `type BetaManagedAgentsSpanOutcomeEvaluationEndEvent`

    Emitted when an outcome evaluation cycle completes. Carries the verdict and aggregate token usage. A verdict of `needs_revision` means another evaluation cycle follows; `satisfied`, `max_iterations_reached`, `failed`, or `interrupted` are terminal — no further evaluation cycles follow.

    - `Type BetaManagedAgentsSpanOutcomeEvaluationEndEventType`

    - `ID string`

      Unique identifier for this event.

    - `Explanation string`

      Human-readable explanation of the verdict. For `needs_revision`, describes which criteria failed and why.

    - `Iteration int64`

      0-indexed revision cycle, matching the corresponding `span.outcome_evaluation_start`.

      format: int32

    - `OutcomeEvaluationStartID string`

      The id of the corresponding `span.outcome_evaluation_start` event.

    - `OutcomeID string`

      The `outc_` ID of the outcome being evaluated.

    - `ProcessedAt Time`

      Timestamp when outcome evaluation ended.

      format: date-time

    - `Result string`

      Evaluation verdict. 'satisfied': criteria met, session goes idle. 'needs_revision': criteria not met, another revision cycle follows. 'max_iterations_reached': evaluation budget exhausted with criteria still unmet — one final acknowledgment turn follows before the session goes idle, but no further evaluation runs. 'failed': grader determined the rubric does not apply to the deliverables. 'interrupted': user sent an interrupt while evaluation was in progress.

    - `Usage BetaManagedAgentsSpanModelUsage`

      Aggregate token usage for this evaluation cycle. Sums across all grader model requests within the cycle.

      - `CacheCreationInputTokens int64`

        Tokens used to create prompt cache in this request.

        format: int32

      - `CacheReadInputTokens int64`

        Tokens read from prompt cache in this request.

        format: int32

      - `InputTokens int64`

        Input tokens consumed by this request.

        format: int32

      - `OutputTokens int64`

        Output tokens generated by this request.

        format: int32

      - `Speed BetaManagedAgentsSpanModelUsageSpeed Optional`

        Inference speed tier this request actually ran at. Mirrors `usage.speed` on /v1/messages. Only present when the fast-mode beta is active.

        - `const BetaManagedAgentsSpanModelUsageSpeedStandard BetaManagedAgentsSpanModelUsageSpeed = "standard"`

        - `const BetaManagedAgentsSpanModelUsageSpeedFast BetaManagedAgentsSpanModelUsageSpeed = "fast"`

  - `type BetaManagedAgentsSpanModelRequestStartEvent`

    Emitted when a model request is initiated by the agent.

    - `Type BetaManagedAgentsSpanModelRequestStartEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the model request started.

      format: date-time

  - `type BetaManagedAgentsSpanModelRequestEndEvent`

    Emitted when a model request completes.

    - `Type BetaManagedAgentsSpanModelRequestEndEventType`

    - `ID string`

      Unique identifier for this event.

    - `IsError bool`

      Whether the model request resulted in an error.

    - `ModelRequestStartID string`

      The id of the corresponding `span.model_request_start` event.

    - `ModelUsage BetaManagedAgentsSpanModelUsage`

      Token usage for this model request.

    - `ProcessedAt Time`

      Timestamp when the model request completed.

      format: date-time

  - `type BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent`

    Periodic heartbeat emitted while an outcome evaluation cycle is in progress. Distinguishes 'evaluation is actively running' from 'evaluation is stuck' between the corresponding `span.outcome_evaluation_start` and `span.outcome_evaluation_end` events.

    - `Type BetaManagedAgentsSpanOutcomeEvaluationOngoingEventType`

    - `ID string`

      Unique identifier for this event.

    - `Iteration int64`

      0-indexed revision cycle, matching the corresponding `span.outcome_evaluation_start`.

      format: int32

    - `OutcomeID string`

      The `outc_` ID of the outcome being evaluated.

    - `ProcessedAt Time`

      Timestamp when this heartbeat was emitted.

      format: date-time

  - `type BetaManagedAgentsUserDefineOutcomeEvent`

    Echo of a `user.define_outcome` input event. Carries the server-generated `outcome_id` that subsequent `span.outcome_evaluation_*` events reference.

    - `Type BetaManagedAgentsUserDefineOutcomeEventType`

    - `ID string`

      Unique identifier for this event.

    - `Description string`

      What the agent should produce. Copied from the input event.

    - `MaxIterations int64`

      Evaluate-then-revise cycles before giving up. Default 3, max 20.

      format: int32

    - `OutcomeID string`

      Server-generated `outc_` ID for this outcome. Referenced by `span.outcome_evaluation_*` events and the session's `outcome_evaluations` list.

    - `ProcessedAt Time`

      Timestamp when the outcome was accepted.

      format: date-time

    - `Rubric BetaManagedAgentsUserDefineOutcomeEventRubricUnion`

      How to grade the outcome. File rubrics are currently resolved to their text content; clients should handle both variants.

      - `type BetaManagedAgentsFileRubric`

        Rubric referenced by a file uploaded via the Files API.

        - `Type BetaManagedAgentsFileRubricType`

        - `FileID string`

          ID of the rubric file.

      - `type BetaManagedAgentsTextRubric`

        Rubric content provided inline as text.

        - `Type BetaManagedAgentsTextRubricType`

        - `Content string`

          Rubric content. Plain text or markdown — the grader treats it as freeform text.

  - `type BetaManagedAgentsSessionDeletedEvent`

    Emitted when a session has been deleted. Terminates any active event stream — no further events will be emitted for this session.

    - `Type BetaManagedAgentsSessionDeletedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the session was deleted.

      format: date-time

  - `type BetaManagedAgentsSessionThreadStatusRunningEvent`

    A session thread has begun executing. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusRunningEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that started running.

  - `type BetaManagedAgentsSessionThreadStatusIdleEvent`

    A session thread has yielded and is awaiting input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusIdleEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that went idle.

    - `StopDetails BetaManagedAgentsSessionRefusalStopDetails`

      Structured information about why the thread stopped. `null` when there is nothing more to report.

    - `StopReason BetaManagedAgentsSessionThreadStatusIdleEventStopReasonUnion`

      - `type BetaManagedAgentsSessionEndTurn`

        The agent completed its turn naturally and is ready for the next user message.

      - `type BetaManagedAgentsSessionRequiresAction`

        The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

      - `type BetaManagedAgentsSessionRetriesExhausted`

        The turn ended because repeated errors exhausted the retry budget or an error escalated to `retry_status: 'exhausted'`.

      - `type BetaManagedAgentsSessionBudgetReached`

        The agent stopped because the session's tracked list cost reached its budget, or because its usage includes a model with no list price (which the budget cannot measure). Raise the budget to continue — or, if raising is rejected because a model has no list price, remove the budget.

      - `type BetaManagedAgentsSessionRefusal`

        The turn ended because the model's response was refused, for example by a safety classifier.

  - `type BetaManagedAgentsSessionThreadStatusTerminatedEvent`

    A session thread has terminated and will accept no further input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusTerminatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that terminated.

  - `type BetaManagedAgentsUserToolResultEvent`

    Event sent by the client providing the result of an agent-toolset tool execution. Only valid on `self_hosted` environments, where sandbox-routed tools are executed by the client rather than the server.

    - `Type BetaManagedAgentsUserToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `ToolUseID string`

      The id of the `agent.tool_use` event this result corresponds to, which can be found in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

    - `Content []BetaManagedAgentsUserToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

    - `ProcessedAt Time Optional`

      Timestamp when this result was processed.

      format: date-time

    - `SessionThreadID string Optional`

      Set by the server to the subagent thread this result was routed to. Omitted when it was routed to the primary thread.

  - `type BetaManagedAgentsSessionThreadStatusRescheduledEvent`

    A session thread hit a transient error and is retrying automatically. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusRescheduledEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that is retrying.

  - `type BetaManagedAgentsSessionUpdatedEvent`

    Emitted when an UpdateSession request changed at least one field. Carries only the fields that changed; absent fields were not part of the update. The new configuration applies from the next turn.

    - `Type BetaManagedAgentsSessionUpdatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the update was applied.

      format: date-time

    - `Agent BetaManagedAgentsSessionAgent Optional`

      The session's effective agent configuration after the update. Present only when the update changed `agent` (tools or mcp_servers); when present it is the full materialised snapshot, not a diff.

      - `Type BetaManagedAgentsSessionAgentType`

      - `ID string`

      - `Description string`

      - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

        Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

        - `type BetaManagedAgentsAWSRoleExecutionIdentity`

          An AWS IAM role principal as returned in API responses.

          - `Type AWSRole`

          - `RoleARN string`

            The IAM role's ARN.

        - `type BetaManagedAgentsServiceAccountExecutionIdentity`

          The Anthropic-managed service account as returned in API responses.

          - `Type ServiceAccount`

      - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

        - `Type BetaManagedAgentsMCPServerURLDefinitionType`

        - `Name string`

        - `URL string`

      - `Model BetaManagedAgentsModelConfig`

        Model identifier and configuration.

        - `ID BetaManagedAgentsModel`

          The model that will power your agent.

          See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

          - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

            Fastest model for high-volume, real-time tasks

          - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

            Powerful intelligence for coding, knowledge work, and long-running agents

          - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

            Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

          - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

            Next generation of intelligence for the hardest knowledge work and coding problems

          - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

            Best combination of speed and intelligence

          - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

          - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

          - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

        - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

          How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

          - `type BetaManagedAgentsEffortLow`

            Low effort. Favors latency over reasoning depth.

            - `Type BetaManagedAgentsEffortLowType`

          - `type BetaManagedAgentsEffortMedium`

            Medium effort. Balances latency and reasoning depth.

            - `Type BetaManagedAgentsEffortMediumType`

          - `type BetaManagedAgentsEffortHigh`

            High effort. Favors reasoning depth.

            - `Type BetaManagedAgentsEffortHighType`

          - `type BetaManagedAgentsEffortXhigh`

            Extra-high effort. Not all models accept this level.

            - `Type BetaManagedAgentsEffortXhighType`

          - `type BetaManagedAgentsEffortMax`

            Maximum effort. Favors reasoning depth over latency.

            - `Type BetaManagedAgentsEffortMaxType`

        - `InferenceGeo string Optional`

          Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

        - `Speed BetaManagedAgentsModelConfigSpeed Optional`

          Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

          - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

          - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

      - `Multiagent BetaManagedAgentsSessionMultiagentUnion`

        Resolved multiagent orchestration configuration. Null when the agent is single-threaded.

        - `type BetaManagedAgentsSessionMultiagentCoordinator`

          Resolved coordinator topology with full agent definitions for each roster member.

          - `Type BetaManagedAgentsSessionMultiagentCoordinatorType`

          - `Agents []BetaManagedAgentsSessionMultiagentCoordinatorAgentUnion`

            Full `agent` definitions the coordinator may spawn as session threads.

            - `type 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`.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

                - `Type BetaManagedAgentsMCPServerURLDefinitionType`

                - `Name string`

                - `URL string`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

                - `type BetaManagedAgentsAnthropicSkill`

                  A resolved Anthropic-managed skill.

                  - `Type BetaManagedAgentsAnthropicSkillType`

                  - `SkillID string`

                  - `Version string`

                - `type BetaManagedAgentsCustomSkill`

                  A resolved user-created custom skill.

                  - `Type BetaManagedAgentsCustomSkillType`

                  - `SkillID string`

                  - `Version string`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

                - `type BetaManagedAgentsAgentToolset20260401`

                  - `Type BetaManagedAgentsAgentToolset20260401Type`

                  - `Configs []BetaManagedAgentsAgentToolConfigUnion`

                    - `type BetaManagedAgentsBashToolConfig`

                      Configuration for the bash tool.

                      - `Type Bash`

                      - `Enabled bool`

                      - `Name Bash`

                      - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                          - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                          - `Type BetaManagedAgentsAlwaysAskPolicyType`

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                          - `Type Auto`

                    - `type BetaManagedAgentsEditToolConfig`

                      Configuration for the edit tool.

                      - `Type Edit`

                      - `Enabled bool`

                      - `Name Edit`

                      - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsReadToolConfig`

                      Configuration for the read tool.

                      - `Type Read`

                      - `Enabled bool`

                      - `Name Read`

                      - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsWriteToolConfig`

                      Configuration for the write tool.

                      - `Type Write`

                      - `Enabled bool`

                      - `Name Write`

                      - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsGlobToolConfig`

                      Configuration for the glob tool.

                      - `Type Glob`

                      - `Enabled bool`

                      - `Name Glob`

                      - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsGrepToolConfig`

                      Configuration for the grep tool.

                      - `Type Grep`

                      - `Enabled bool`

                      - `Name Grep`

                      - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsWebFetchToolConfig`

                      Configuration for the web_fetch tool.

                      - `Type WebFetch`

                      - `Enabled bool`

                      - `Name WebFetch`

                      - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                      - `URLSources BetaManagedAgentsWebFetchURLSources`

                        Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

                        - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                          Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                          - `type BetaManagedAgentsWebFetchURLSourceAll`

                            Every URL from this source may be fetched. This is the default.

                            - `Type All`

                          - `type BetaManagedAgentsWebFetchURLSourceNone`

                            This source contributes no URLs that may be fetched.

                            - `Type None`

                          - `type BetaManagedAgentsWebFetchURLSourceOnly`

                            Only the named tools' results contribute URLs that may be fetched.

                            - `Type Only`

                            - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                              The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                              - `Type ToolReference`

                                Must be "tool_reference".

                              - `Name string`

                                Name of the tool. Compared exactly, so upper and lower case letters are different.

                                minLength: 1, maxLength: 128

                          - `type BetaManagedAgentsWebFetchURLSourceExcept`

                            Every tool's results contribute URLs that may be fetched, except the named tools' results.

                            - `Type Except`

                            - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                              The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                              - `Type ToolReference`

                                Must be "tool_reference".

                              - `Name string`

                                Name of the tool. Compared exactly, so upper and lower case letters are different.

                                minLength: 1, maxLength: 128

                        - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                          Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

                        - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                          Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                          - `type BetaManagedAgentsWebFetchURLSourceAll`

                            Every URL from this source may be fetched. This is the default.

                          - `type BetaManagedAgentsWebFetchURLSourceNone`

                            This source contributes no URLs that may be fetched.

                      - `AllowedDomains []string Optional`

                      - `BlockedDomains []string Optional`

                      - `MaxContentTokens int64 Optional`

                        format: int32

                    - `type BetaManagedAgentsWebSearchToolConfig`

                      Configuration for the web_search tool.

                      - `Type WebSearch`

                      - `Enabled bool`

                      - `Name WebSearch`

                      - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                      - `AllowedDomains []string Optional`

                      - `BlockedDomains []string Optional`

                      - `UserLocation BetaManagedAgentsUserLocation Optional`

                        Approximate user location for search result localization.

                        - `Type Approximate`

                          Location precision. Only "approximate" is supported.

                        - `City string Optional`

                          City name.

                          minLength: 1, maxLength: 255

                        - `Country string Optional`

                          Two-letter ISO 3166-1 country code, uppercase.

                        - `Region string Optional`

                          Region or state name.

                          minLength: 1, maxLength: 255

                        - `Timezone string Optional`

                          IANA timezone identifier, e.g. "America/Los_Angeles".

                          minLength: 1, maxLength: 255

                  - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

                    Resolved default configuration for agent tools.

                    - `Enabled bool`

                    - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `type BetaManagedAgentsMCPToolset`

                  - `Type BetaManagedAgentsMCPToolsetType`

                  - `Configs []BetaManagedAgentsMCPToolConfig`

                    - `Enabled bool`

                    - `Name string`

                    - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

                    Resolved default configuration for all tools from an MCP server.

                    - `Enabled bool`

                    - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `MCPServerName string`

                - `type BetaManagedAgentsCustomTool`

                  A custom tool as returned in API responses.

                  - `Type BetaManagedAgentsCustomToolType`

                  - `Description string`

                  - `InputSchema BetaManagedAgentsCustomToolInputSchema`

                    JSON Schema for custom tool input parameters.

                    - `Type Object`

                    - `Properties map[string, any] Optional`

                    - `Required []string Optional`

                  - `Name string`

              - `Version int64`

                format: int32

            - `type BetaManagedAgentsAdvisor`

              Platform advisor roster entry: a model the session's primary thread may consult mid-turn.

              - `Type BetaManagedAgentsAdvisorType`

              - `Model string`

                The advisor model id.

        - `type BetaManagedAgentsSessionMultiagent20261001`

          Resolved multiagent configuration with three members, as copied to the `session` at creation.

          - `Type Multiagent20261001`

          - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

            Whether the session's primary thread can consult an advisor model.

            - `type BetaManagedAgentsMultiagentAdvisorEnabled`

              The session's primary thread can consult `model` mid-turn.

              - `Type Enabled`

              - `Model string`

                The advisor model id.

            - `type BetaManagedAgentsMultiagentAdvisorDisabled`

              The agent has no advisor.

              - `Type Disabled`

          - `Subagents BetaManagedAgentsSessionMultiagentSubagentsUnion`

            Whether the agent can spawn session threads.

            - `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

              The agent can spawn session threads.

              - `Type Enabled`

              - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

                Whether the agent can define inline agents, which are not saved, when it spawns session threads.

                - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

                  The agent can define inline agents.

                  - `Type Enabled`

                - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

                  The agent cannot define inline agents.

                  - `Type Disabled`

              - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

                Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

                - `Type BetaManagedAgentsSessionThreadAgentType`

                - `ID string`

                - `Description string`

                - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                  Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

                - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

                - `Model BetaManagedAgentsModelConfig`

                  Model identifier and configuration.

                - `Name string`

                - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

                - `System string`

                - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

                - `Version int64`

                  format: int32

            - `type BetaManagedAgentsMultiagentSubagentsDisabled`

              The agent cannot spawn session threads.

              - `Type Disabled`

          - `Workflows BetaManagedAgentsSessionMultiagentWorkflowsUnion`

            Whether the agent can start workflow runs.

            - `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

              The agent can start workflow runs.

              - `Type Enabled`

              - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

                Whether a run's plan can define inline agents, which are not saved.

              - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

                Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

                - `Type BetaManagedAgentsSessionThreadAgentType`

                - `ID string`

                - `Description string`

                - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                  Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

                - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

                - `Model BetaManagedAgentsModelConfig`

                  Model identifier and configuration.

                - `Name string`

                - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

                - `System string`

                - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

                - `Version int64`

                  format: int32

            - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

              The agent cannot start workflow runs.

              - `Type Disabled`

      - `Name string`

      - `Skills []BetaManagedAgentsSessionAgentSkillUnion`

        - `type BetaManagedAgentsAnthropicSkill`

          A resolved Anthropic-managed skill.

        - `type BetaManagedAgentsCustomSkill`

          A resolved user-created custom skill.

      - `System string`

      - `Tools []BetaManagedAgentsSessionAgentToolUnion`

        - `type BetaManagedAgentsAgentToolset20260401`

        - `type BetaManagedAgentsMCPToolset`

        - `type BetaManagedAgentsCustomTool`

          A custom tool as returned in API responses.

      - `Version int64`

        format: int32

    - `Budget BetaManagedAgentsBudgetLimit Optional`

      The session's budget after the update: the new budget when set or replaced, or null when the update removed it. Present only when the update changed the budget.

      - `Type BetaManagedAgentsBudgetLimitType`

      - `MaxListCost BetaMonetaryAmount`

        Maximum list cost the session may accrue. List price is used regardless of any negotiated discount, so the cap fires at or before the actual charge.

        - `Amount string`

          Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

        - `Currency BetaCurrency`

          Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

    - `Metadata map[string, string] Optional`

      The session's full metadata bag after the update. Present when the update set non-empty metadata; absent when metadata was unchanged or cleared to empty.

    - `Title string Optional`

      The session's new title. Present only when the update changed it.

  - `type BetaManagedAgentsSystemMessageEvent`

    A mid-conversation system message event. Carries system-role content that is appended to the session as a `role: "system"` turn.

    - `Type BetaManagedAgentsSystemMessageEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsSystemContentBlock`

      System content blocks. Text-only.

      - `Type BetaManagedAgentsSystemContentBlockType`

      - `Text string`

        The text content.

        minLength: 1

    - `ProcessedAt Time Optional`

      Timestamp when this system message was processed.

      format: date-time

  - `type BetaManagedAgentsSessionUsageEvent`

    Periodic snapshot of the session's cumulative usage and tracked list cost.

    - `Type BetaManagedAgentsSessionUsageEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the snapshot was taken.

      format: date-time

    - `Usage BetaManagedAgentsSessionUsageSnapshot`

      The session's cumulative usage at the snapshot time.

      - `ActiveSeconds float64 Optional`

        Cumulative time in seconds during which the session had at least one thread in running status. Overlapping activity from concurrent threads is counted once. This is the duration the session's runtime cost is priced on.

        format: double

      - `CacheCreation BetaManagedAgentsCacheCreationUsage Optional`

        Tokens used to create prompt cache entries, broken down by cache TTL.

        - `Ephemeral1hInputTokens int64 Optional`

          Tokens used to create 1-hour ephemeral cache entries.

          format: int32

        - `Ephemeral5mInputTokens int64 Optional`

          Tokens used to create 5-minute ephemeral cache entries.

          format: int32

      - `CacheReadInputTokens int64 Optional`

        Total tokens read from prompt cache.

        format: int32

      - `InputTokens int64 Optional`

        Total input tokens consumed across all turns.

        format: int32

      - `ListCost BetaMonetaryAmount Optional`

        Cumulative list cost of the session across all turns, priced at public list rates.

      - `OutputTokens int64 Optional`

        Total output tokens generated across all turns.

        format: int32

      - `ServerToolUse BetaManagedAgentsServerToolUsage Optional`

        Cumulative server-executed tool usage across all turns.

        - `WebFetchRequests int64 Optional`

          Number of server-executed web fetch requests.

          format: int32

        - `WebSearchRequests int64 Optional`

          Number of server-executed web search requests.

          format: int32

    - `Budget BetaManagedAgentsBudgetLimit Optional`

      The session's configured budget at the snapshot time, or null when the session has no budget.

  - `type BetaManagedAgentsWorkflowRunCreatedEvent`

    A workflow run was created. A workflow run is background work that the session's agent starts. Emitted once per run, before the run's other `workflow_run.*` events.

    - `Type WorkflowRunCreated`

    - `ID string`

      Unique identifier for this event.

    - `Description string`

      Description that the agent gave the run, passed on as written, or `null` if it gave none.

    - `Name string`

      Name that the agent gave the run, passed on as written, or a name that the server assigned.

    - `Phases []BetaManagedAgentsWorkflowRunPhase`

      The phases that the run's plan declares, in the plan's order. Can be empty.

      - `ID string`

        Unique identifier for the phase.

      - `Description string`

        Description that the agent gave the phase, passed on as written, or `null` if it gave none.

      - `Name string`

        Name that the agent gave the phase, passed on as written.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunStatusEndedEvent`

    A workflow run ended. Emitted once per run, as the last of the run's `workflow_run.*` events.

    - `Type WorkflowRunStatusEnded`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `Result BetaManagedAgentsWorkflowRunResultUnion`

      How the run ended.

      - `type BetaManagedAgentsWorkflowRunResultCompleted`

        The run's plan, a program that the agent wrote, finished. This does not say whether the work succeeded.

        - `Type Completed`

      - `type BetaManagedAgentsWorkflowRunResultError`

        The run failed or reached its time limit.

        - `Type Error`

        - `Error BetaManagedAgentsWorkflowRunErrorUnion`

          Why the run did not finish.

          - `type BetaManagedAgentsTimeoutWorkflowRunError`

            The run reached its time limit.

            - `Type TimeoutError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsProgramWorkflowRunError`

            The plan, a program that the agent wrote, failed, or the server refused it.

            - `Type ProgramError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsUnknownWorkflowRunError`

            A failure that has no type of its own.

            - `Type UnknownError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsThreadLimitWorkflowRunError`

            The run exceeded the limit on the number of threads that a run can create.

            - `Type ThreadLimitError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsMaxWorkflowRunsWorkflowRunError`

            No run was created, because the session was at its limit of open workflow runs, which are runs that have not ended. Only `workflow_run.error` carries this type.

            - `Type MaxWorkflowRunsError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

      - `type BetaManagedAgentsWorkflowRunResultStopped`

        The agent stopped the run.

        - `Type Stopped`

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunPhaseStartedEvent`

    A workflow run's plan entered a phase.

    - `Type WorkflowRunPhaseStarted`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

    - `WorkflowRunPhaseID string`

      Identifier of the phase, as in `phases` on the run's `workflow_run.created` event.

  - `type BetaManagedAgentsWorkflowRunPhaseEndedEvent`

    A workflow run's plan left a phase, or the run's end closed it. Emitted once for every `workflow_run.phase_started` event, before the run's `workflow_run.status_ended` event. The event does not say whether the plan finished the phase's work, or why it left.

    - `Type WorkflowRunPhaseEnded`

    - `ID string`

      Unique identifier for this event.

    - `PhaseStartedID string`

      Identifier of the `workflow_run.phase_started` event that opened the phase.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

    - `WorkflowRunPhaseID string`

      Identifier of the phase, as in `phases` on the run's `workflow_run.created` event.

  - `type BetaManagedAgentsWorkflowRunStatusRunningEvent`

    A workflow run is running. Emitted when the run starts to execute, and each time it resumes after being idle. A run that starts idle emits `workflow_run.status_idle` first.

    - `Type WorkflowRunStatusRunning`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunStatusIdleEvent`

    A workflow run is idle. Emitted each time the run goes idle, whatever the cause. If the run ends while idle, no `workflow_run.status_running` comes between this event and its `workflow_run.status_ended`.

    - `Type WorkflowRunStatusIdle`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunErrorEvent`

    A workflow run met an error, or an error kept a run from being created. A run that ends with a `result.type` of `error` emits this event before its `workflow_run.status_ended`, with the same `error`.

    - `Type WorkflowRunError`

    - `ID string`

      Unique identifier for this event.

    - `Error BetaManagedAgentsWorkflowRunErrorUnion`

      Why the run did not finish, or was not created.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run that met the error, or `null` when the error kept a run from being created.

#### Example

```go
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	page, err := client.Beta.Sessions.Events.List(
		context.TODO(),
		"sesn_011CZkZAtmR3yMPDzynEDxu7",
		anthropic.BetaSessionEventListParams{},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", page)
}
```

##### Response (200)

```json
{
  "data": [
    {
      "id": "sevt_011CZkZGPp1iBcp4kaQSihUm",
      "content": [
        {
          "text": "Where is my order #1234?",
          "type": "text"
        }
      ],
      "type": "user.message",
      "processed_at": "2026-03-15T10:00:00Z"
    },
    {
      "id": "sevt_011CZkZHPq1jCdq5mbRTjiVn",
      "content": [
        {
          "text": "Let me look up order #1234 for you.",
          "type": "text"
        }
      ],
      "processed_at": "2026-03-15T10:00:00Z",
      "type": "agent.message"
    }
  ],
  "next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}
```

### Send Events

`client.Beta.Sessions.Events.Send(ctx, sessionID, params) (*BetaManagedAgentsSendSessionEvents, error)`

**POST** `/v1/sessions/{session_id}/events`

Send Events

#### Parameters

- `sessionID string` (path parameter)

- `params BetaSessionEventSendParams`

  - `Events []BetaManagedAgentsEventParamsUnion`

    Events to send to the `session`.

    - `type BetaManagedAgentsUserMessageEventParams`

      Parameters for sending a user message to the session.

      - `Type BetaManagedAgentsUserMessageEventParamsType`

      - `Content []BetaManagedAgentsUserMessageEventParamsContentUnion`

        Array of content blocks for the user message.

        - `type BetaManagedAgentsTextBlock`

          Regular text content.

          - `Type BetaManagedAgentsTextBlockType`

          - `Text string`

            The text content.

            minLength: 1

        - `type BetaManagedAgentsImageBlock`

          Image content specified directly as base64 data or as a reference via a URL.

          - `Type BetaManagedAgentsImageBlockType`

          - `Source BetaManagedAgentsImageBlockSourceUnion`

            The source of the image data.

            - `type BetaManagedAgentsBase64ImageSource`

              Base64-encoded image data.

              - `Type BetaManagedAgentsBase64ImageSourceType`

              - `Data string`

                Base64-encoded image data.

                minLength: 1

              - `MediaType string`

                MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

                minLength: 1

            - `type BetaManagedAgentsURLImageSource`

              Image referenced by URL.

              - `Type BetaManagedAgentsURLImageSourceType`

              - `URL string`

                URL of the image to fetch.

                minLength: 1

            - `type BetaManagedAgentsFileImageSource`

              Image referenced by file ID.

              - `Type BetaManagedAgentsFileImageSourceType`

              - `FileID string`

                ID of a previously uploaded file.

                minLength: 1

        - `type BetaManagedAgentsDocumentBlock`

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          - `Type BetaManagedAgentsDocumentBlockType`

          - `Source BetaManagedAgentsDocumentBlockSourceUnion`

            The source of the document data.

            - `type BetaManagedAgentsBase64DocumentSource`

              Base64-encoded document data.

              - `Type BetaManagedAgentsBase64DocumentSourceType`

              - `Data string`

                Base64-encoded document data.

                minLength: 1

              - `MediaType string`

                MIME type of the document (e.g., "application/pdf").

                minLength: 1

            - `type BetaManagedAgentsPlainTextDocumentSource`

              Plain text document content.

              - `Type BetaManagedAgentsPlainTextDocumentSourceType`

              - `Data string`

                The plain text content.

                minLength: 1

              - `MediaType BetaManagedAgentsPlainTextDocumentSourceMediaType`

                MIME type of the text content. Must be "text/plain".

            - `type BetaManagedAgentsURLDocumentSource`

              Document referenced by URL.

              - `Type BetaManagedAgentsURLDocumentSourceType`

              - `URL string`

                URL of the document to fetch.

                minLength: 1

            - `type BetaManagedAgentsFileDocumentSource`

              Document referenced by file ID.

              - `Type BetaManagedAgentsFileDocumentSourceType`

              - `FileID string`

                ID of a previously uploaded file.

                minLength: 1

          - `Context string Optional`

            Additional context about the document for the model.

          - `Title string Optional`

            The title of the document.

        - `type BetaManagedAgentsRedactedBlock`

          Placeholder for content withheld by Anthropic model policy.

          - `Type BetaManagedAgentsRedactedBlockType`

    - `type BetaManagedAgentsUserInterruptEventParams`

      Parameters for sending an interrupt to pause the agent.

      - `Type BetaManagedAgentsUserInterruptEventParamsType`

      - `SessionThreadID string Optional`

        If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

    - `type BetaManagedAgentsUserToolConfirmationEventParams`

      Parameters for confirming or denying a tool execution request.

      - `Type BetaManagedAgentsUserToolConfirmationEventParamsType`

      - `Result BetaManagedAgentsUserToolConfirmationEventParamsResult`

        The confirmation result: 'allow' or 'deny'.

        - `const BetaManagedAgentsUserToolConfirmationEventParamsResultAllow BetaManagedAgentsUserToolConfirmationEventParamsResult = "allow"`

        - `const BetaManagedAgentsUserToolConfirmationEventParamsResultDeny BetaManagedAgentsUserToolConfirmationEventParamsResult = "deny"`

      - `ToolUseID string`

        The id of the `agent.tool_use` or `agent.mcp_tool_use` event this result corresponds to, which can be found in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

        minLength: 1, maxLength: 128

      - `DenyMessage string Optional`

        Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

        maxLength: 10000

    - `type BetaManagedAgentsUserCustomToolResultEventParams`

      Parameters for providing the result of a custom tool execution.

      - `Type BetaManagedAgentsUserCustomToolResultEventParamsType`

      - `CustomToolUseID string`

        The id of the `agent.custom_tool_use` event this result corresponds to. It is also listed in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

        minLength: 1, maxLength: 128

      - `Content []BetaManagedAgentsUserCustomToolResultEventParamsContentUnion Optional`

        The result content returned by the tool.

        - `type BetaManagedAgentsTextBlock`

          Regular text content.

        - `type BetaManagedAgentsImageBlock`

          Image content specified directly as base64 data or as a reference via a URL.

        - `type BetaManagedAgentsDocumentBlock`

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        - `type BetaManagedAgentsSearchResultBlock`

          A block containing a web search result.

          - `Type BetaManagedAgentsSearchResultBlockType`

          - `Citations BetaManagedAgentsSearchResultCitations`

            Citation settings for this search result.

            - `Enabled bool`

              Whether citations are enabled for this search result.

          - `Content []BetaManagedAgentsSearchResultContent`

            Array of text content blocks from the search result.

            - `Type BetaManagedAgentsSearchResultContentType`

            - `Text string`

              The text content.

              minLength: 1

          - `Source string`

            The URL source of the search result.

            minLength: 1

          - `Title string`

            The title of the search result.

            minLength: 1

      - `IsError bool Optional`

        Whether the tool execution resulted in an error.

    - `type BetaManagedAgentsUserDefineOutcomeEventParams`

      Parameters for defining an outcome the agent should work toward. The agent begins work on receipt.

      - `Type BetaManagedAgentsUserDefineOutcomeEventParamsType`

      - `Description string`

        What the agent should produce. This is the task specification.

      - `Rubric BetaManagedAgentsUserDefineOutcomeEventParamsRubricUnion`

        How to grade the outcome. Text or file reference.

        - `type BetaManagedAgentsFileRubricParams`

          Rubric referenced by a file uploaded via the Files API.

          - `Type BetaManagedAgentsFileRubricParamsType`

          - `FileID string`

            ID of the rubric file.

        - `type BetaManagedAgentsTextRubricParams`

          Rubric content provided inline as text.

          - `Type BetaManagedAgentsTextRubricParamsType`

          - `Content string`

            Rubric content. Plain text or markdown — the grader treats it as freeform text. Maximum 262144 characters.

            maxLength: 262144

      - `MaxIterations int64 Optional`

        Eval→revision cycles before giving up. Default 3, max 20.

        format: int32

    - `type BetaManagedAgentsUserToolResultEventParams`

      Parameters for providing the result of an agent-toolset tool execution. Only valid on `self_hosted` environments, where sandbox-routed tools are executed by the client rather than the server.

      - `Type BetaManagedAgentsUserToolResultEventParamsType`

      - `ToolUseID string`

        The id of the `agent.tool_use` event this result corresponds to, which can be found in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

        minLength: 1, maxLength: 128

      - `Content []BetaManagedAgentsUserToolResultEventParamsContentUnion Optional`

        The result content returned by the tool.

        - `type BetaManagedAgentsTextBlock`

          Regular text content.

        - `type BetaManagedAgentsImageBlock`

          Image content specified directly as base64 data or as a reference via a URL.

        - `type BetaManagedAgentsDocumentBlock`

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        - `type BetaManagedAgentsSearchResultBlock`

          A block containing a web search result.

      - `IsError bool Optional`

        Whether the tool execution resulted in an error.

    - `type BetaManagedAgentsSystemMessageEventParams`

      Privileged context for the accompanying turn and all subsequent turns, appended to the session's system context as a `role: "system"` turn rather than replacing the top-level system prompt. At most one per request: it must be the final event and immediately follow the `user.message`, `user.tool_result`, or `user.custom_tool_result` it accompanies. Only supported on models that accept mid-conversation system messages.

      - `Type BetaManagedAgentsSystemMessageEventParamsType`

      - `Content []BetaManagedAgentsSystemContentBlockParam`

        System content blocks to append. Text-only.

        - `Type BetaManagedAgentsSystemContentBlockType`

        - `Text string`

          The text content.

          minLength: 1

  - `Betas []AnthropicBeta Optional` (header parameter)

    This endpoint is in beta: requests must send `managed-agents-2026-04-01` in this header.

    - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"`

    - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"`

    - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"`

    - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"`

    - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"`

    - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"`

    - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"`

    - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"`

    - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"`

    - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"`

    - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"`

    - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"`

    - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"`

    - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"`

    - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"`

    - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"`

    - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"`

    - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"`

    - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"`

    - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"`

    - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"`

    - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"`

    - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"`

    - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"`

    - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"`

    - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"`

    - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"`

    - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"`

    - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"`

    - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"`

    - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"`

    - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"`

    - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"`

    - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"`

    - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"`

    - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"`

    - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"`

    - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"`

    - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"`

    - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"`

    - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"`

    - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"`

    - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"`

    - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"`

    - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"`

    - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"`

    - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"`

    - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"`

    - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"`

  - `WorkspaceID param.Opt[string] Optional` (header parameter)

    Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).

    Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

#### Returns

- `type BetaManagedAgentsSendSessionEvents`

  Events that were successfully sent to the session.

  - `Data []BetaManagedAgentsSendSessionEventsDataUnion Optional`

    Sent events

    - `type BetaManagedAgentsUserMessageEvent`

      A user message event in the session conversation.

      - `Type BetaManagedAgentsUserMessageEventType`

      - `ID string`

        Unique identifier for this event.

      - `Content []BetaManagedAgentsUserMessageEventContentUnion`

        Array of content blocks comprising the user message.

        - `type BetaManagedAgentsTextBlock`

          Regular text content.

          - `Type BetaManagedAgentsTextBlockType`

          - `Text string`

            The text content.

            minLength: 1

        - `type BetaManagedAgentsImageBlock`

          Image content specified directly as base64 data or as a reference via a URL.

          - `Type BetaManagedAgentsImageBlockType`

          - `Source BetaManagedAgentsImageBlockSourceUnion`

            The source of the image data.

            - `type BetaManagedAgentsBase64ImageSource`

              Base64-encoded image data.

              - `Type BetaManagedAgentsBase64ImageSourceType`

              - `Data string`

                Base64-encoded image data.

                minLength: 1

              - `MediaType string`

                MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

                minLength: 1

            - `type BetaManagedAgentsURLImageSource`

              Image referenced by URL.

              - `Type BetaManagedAgentsURLImageSourceType`

              - `URL string`

                URL of the image to fetch.

                minLength: 1

            - `type BetaManagedAgentsFileImageSource`

              Image referenced by file ID.

              - `Type BetaManagedAgentsFileImageSourceType`

              - `FileID string`

                ID of a previously uploaded file.

                minLength: 1

        - `type BetaManagedAgentsDocumentBlock`

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

          - `Type BetaManagedAgentsDocumentBlockType`

          - `Source BetaManagedAgentsDocumentBlockSourceUnion`

            The source of the document data.

            - `type BetaManagedAgentsBase64DocumentSource`

              Base64-encoded document data.

              - `Type BetaManagedAgentsBase64DocumentSourceType`

              - `Data string`

                Base64-encoded document data.

                minLength: 1

              - `MediaType string`

                MIME type of the document (e.g., "application/pdf").

                minLength: 1

            - `type BetaManagedAgentsPlainTextDocumentSource`

              Plain text document content.

              - `Type BetaManagedAgentsPlainTextDocumentSourceType`

              - `Data string`

                The plain text content.

                minLength: 1

              - `MediaType BetaManagedAgentsPlainTextDocumentSourceMediaType`

                MIME type of the text content. Must be "text/plain".

            - `type BetaManagedAgentsURLDocumentSource`

              Document referenced by URL.

              - `Type BetaManagedAgentsURLDocumentSourceType`

              - `URL string`

                URL of the document to fetch.

                minLength: 1

            - `type BetaManagedAgentsFileDocumentSource`

              Document referenced by file ID.

              - `Type BetaManagedAgentsFileDocumentSourceType`

              - `FileID string`

                ID of a previously uploaded file.

                minLength: 1

          - `Context string Optional`

            Additional context about the document for the model.

          - `Title string Optional`

            The title of the document.

        - `type BetaManagedAgentsRedactedBlock`

          Placeholder for content withheld by Anthropic model policy.

          - `Type BetaManagedAgentsRedactedBlockType`

      - `ProcessedAt Time Optional`

        Timestamp when the agent finished processing this message.

        format: date-time

    - `type BetaManagedAgentsUserInterruptEvent`

      An interrupt event that pauses agent execution and returns control to the user.

      - `Type BetaManagedAgentsUserInterruptEventType`

      - `ID string`

        Unique identifier for this event.

      - `ProcessedAt Time Optional`

        Timestamp when the interrupt was processed.

        format: date-time

      - `SessionThreadID string Optional`

        If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

    - `type BetaManagedAgentsUserToolConfirmationEvent`

      A tool confirmation event that approves or denies a pending tool execution.

      - `Type BetaManagedAgentsUserToolConfirmationEventType`

      - `ID string`

        Unique identifier for this event.

      - `Result BetaManagedAgentsUserToolConfirmationEventResult`

        The confirmation result: 'allow' or 'deny'.

        - `const BetaManagedAgentsUserToolConfirmationEventResultAllow BetaManagedAgentsUserToolConfirmationEventResult = "allow"`

        - `const BetaManagedAgentsUserToolConfirmationEventResultDeny BetaManagedAgentsUserToolConfirmationEventResult = "deny"`

      - `ToolUseID string`

        The id of the `agent.tool_use` or `agent.mcp_tool_use` event this result corresponds to, which can be found in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

      - `DenyMessage string Optional`

        Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

        maxLength: 10000

      - `ProcessedAt Time Optional`

        Timestamp when the confirmation was processed.

        format: date-time

      - `SessionThreadID string Optional`

        Set by the server to the subagent thread this confirmation was routed to. Omitted when it was routed to the primary thread.

    - `type BetaManagedAgentsUserCustomToolResultEvent`

      Event sent by the client providing the result of a custom tool execution.

      - `Type BetaManagedAgentsUserCustomToolResultEventType`

      - `ID string`

        Unique identifier for this event.

      - `CustomToolUseID string`

        The id of the `agent.custom_tool_use` event this result corresponds to. It is also listed in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

      - `Content []BetaManagedAgentsUserCustomToolResultEventContentUnion Optional`

        The result content returned by the tool.

        - `type BetaManagedAgentsTextBlock`

          Regular text content.

        - `type BetaManagedAgentsImageBlock`

          Image content specified directly as base64 data or as a reference via a URL.

        - `type BetaManagedAgentsDocumentBlock`

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        - `type BetaManagedAgentsSearchResultBlock`

          A block containing a web search result.

          - `Type BetaManagedAgentsSearchResultBlockType`

          - `Citations BetaManagedAgentsSearchResultCitations`

            Citation settings for this search result.

            - `Enabled bool`

              Whether citations are enabled for this search result.

          - `Content []BetaManagedAgentsSearchResultContent`

            Array of text content blocks from the search result.

            - `Type BetaManagedAgentsSearchResultContentType`

            - `Text string`

              The text content.

              minLength: 1

          - `Source string`

            The URL source of the search result.

            minLength: 1

          - `Title string`

            The title of the search result.

            minLength: 1

      - `IsError bool Optional`

        Whether the tool execution resulted in an error.

      - `ProcessedAt Time Optional`

        Timestamp when this result was processed.

        format: date-time

      - `SessionThreadID string Optional`

        Set by the server to the subagent thread this result was routed to. Omitted when it was routed to the primary thread.

    - `type BetaManagedAgentsUserDefineOutcomeEvent`

      Echo of a `user.define_outcome` input event. Carries the server-generated `outcome_id` that subsequent `span.outcome_evaluation_*` events reference.

      - `Type BetaManagedAgentsUserDefineOutcomeEventType`

      - `ID string`

        Unique identifier for this event.

      - `Description string`

        What the agent should produce. Copied from the input event.

      - `MaxIterations int64`

        Evaluate-then-revise cycles before giving up. Default 3, max 20.

        format: int32

      - `OutcomeID string`

        Server-generated `outc_` ID for this outcome. Referenced by `span.outcome_evaluation_*` events and the session's `outcome_evaluations` list.

      - `ProcessedAt Time`

        Timestamp when the outcome was accepted.

        format: date-time

      - `Rubric BetaManagedAgentsUserDefineOutcomeEventRubricUnion`

        How to grade the outcome. File rubrics are currently resolved to their text content; clients should handle both variants.

        - `type BetaManagedAgentsFileRubric`

          Rubric referenced by a file uploaded via the Files API.

          - `Type BetaManagedAgentsFileRubricType`

          - `FileID string`

            ID of the rubric file.

        - `type BetaManagedAgentsTextRubric`

          Rubric content provided inline as text.

          - `Type BetaManagedAgentsTextRubricType`

          - `Content string`

            Rubric content. Plain text or markdown — the grader treats it as freeform text.

    - `type BetaManagedAgentsUserToolResultEvent`

      Event sent by the client providing the result of an agent-toolset tool execution. Only valid on `self_hosted` environments, where sandbox-routed tools are executed by the client rather than the server.

      - `Type BetaManagedAgentsUserToolResultEventType`

      - `ID string`

        Unique identifier for this event.

      - `ToolUseID string`

        The id of the `agent.tool_use` event this result corresponds to, which can be found in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

      - `Content []BetaManagedAgentsUserToolResultEventContentUnion Optional`

        The result content returned by the tool.

        - `type BetaManagedAgentsTextBlock`

          Regular text content.

        - `type BetaManagedAgentsImageBlock`

          Image content specified directly as base64 data or as a reference via a URL.

        - `type BetaManagedAgentsDocumentBlock`

          Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        - `type BetaManagedAgentsSearchResultBlock`

          A block containing a web search result.

      - `IsError bool Optional`

        Whether the tool execution resulted in an error.

      - `ProcessedAt Time Optional`

        Timestamp when this result was processed.

        format: date-time

      - `SessionThreadID string Optional`

        Set by the server to the subagent thread this result was routed to. Omitted when it was routed to the primary thread.

    - `type BetaManagedAgentsSystemMessageEvent`

      A mid-conversation system message event. Carries system-role content that is appended to the session as a `role: "system"` turn.

      - `Type BetaManagedAgentsSystemMessageEventType`

      - `ID string`

        Unique identifier for this event.

      - `Content []BetaManagedAgentsSystemContentBlock`

        System content blocks. Text-only.

        - `Type BetaManagedAgentsSystemContentBlockType`

        - `Text string`

          The text content.

          minLength: 1

      - `ProcessedAt Time Optional`

        Timestamp when this system message was processed.

        format: date-time

#### Example

```go
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	betaManagedAgentsSendSessionEvents, err := client.Beta.Sessions.Events.Send(
		context.TODO(),
		"sesn_011CZkZAtmR3yMPDzynEDxu7",
		anthropic.BetaSessionEventSendParams{
			Events: []anthropic.BetaManagedAgentsEventParamsUnion{anthropic.BetaManagedAgentsEventParamsUnion{
				OfUserMessage: &anthropic.BetaManagedAgentsUserMessageEventParams{
					Content: []anthropic.BetaManagedAgentsUserMessageEventParamsContentUnion{anthropic.BetaManagedAgentsUserMessageEventParamsContentUnion{
						OfText: &anthropic.BetaManagedAgentsTextBlockParam{
							Text: "Where is my order #1234?",
							Type: anthropic.BetaManagedAgentsTextBlockTypeText,
						},
					}},
					Type: anthropic.BetaManagedAgentsUserMessageEventParamsTypeUserMessage,
				},
			}},
		},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", betaManagedAgentsSendSessionEvents.Data)
}
```

##### Response (200)

```json
{
  "data": [
    {
      "id": "sevt_011CZkZGPp1iBcp4kaQSihUm",
      "content": [
        {
          "text": "Where is my order #1234?",
          "type": "text"
        }
      ],
      "type": "user.message",
      "processed_at": "2026-03-15T10:00:00Z"
    }
  ]
}
```

### Stream Events

`client.Beta.Sessions.Events.StreamEvents(ctx, sessionID, params) *ssestream.Stream[BetaManagedAgentsStreamSessionEventsUnion]`

**GET** `/v1/sessions/{session_id}/events/stream`

Stream Events

#### Parameters

- `sessionID string` (path parameter)

- `params BetaSessionEventStreamParams`

  - `EventDeltas []BetaManagedAgentsDeltaType Optional` (query parameter)

    When set, this connection also receives streaming deltas (`event_start`, `event_delta`) while an event is being produced, before the event itself arrives. Deltas are best-effort; when the final event is produced it carries the complete content. A model request that ends early (an error or interrupt) produces no final event — its terminal `span.model_request_end` closes the preview. Accepts one or more event types to preview and may be repeated: `agent.message` streams `content_delta` fragments; `agent.thinking` is start-only — a signal that the agent has begun extended thinking, concluded by the `agent.thinking` event itself. Only previews of the requested event types are sent.

    - `const BetaManagedAgentsDeltaTypeAgentMessage BetaManagedAgentsDeltaType = "agent.message"`

    - `const BetaManagedAgentsDeltaTypeAgentThinking BetaManagedAgentsDeltaType = "agent.thinking"`

  - `Betas []AnthropicBeta Optional` (header parameter)

    This endpoint is in beta: requests must send `managed-agents-2026-04-01` in this header.

    - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"`

    - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"`

    - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"`

    - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"`

    - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"`

    - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"`

    - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"`

    - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"`

    - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"`

    - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"`

    - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"`

    - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"`

    - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"`

    - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"`

    - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"`

    - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"`

    - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"`

    - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"`

    - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"`

    - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"`

    - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"`

    - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"`

    - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"`

    - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"`

    - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"`

    - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"`

    - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"`

    - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"`

    - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"`

    - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"`

    - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"`

    - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"`

    - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"`

    - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"`

    - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"`

    - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"`

    - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"`

    - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"`

    - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"`

    - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"`

    - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"`

    - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"`

    - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"`

    - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"`

    - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"`

    - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"`

    - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"`

    - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"`

    - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"`

  - `WorkspaceID param.Opt[string] Optional` (header parameter)

    Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).

    Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

#### Returns

- `type BetaManagedAgentsStreamSessionEventsUnion interface{…}`

  Server-sent event in the session stream.

  - `type BetaManagedAgentsUserMessageEvent`

    A user message event in the session conversation.

    - `Type BetaManagedAgentsUserMessageEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsUserMessageEventContentUnion`

      Array of content blocks comprising the user message.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

        - `Type BetaManagedAgentsTextBlockType`

        - `Text string`

          The text content.

          minLength: 1

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

        - `Type BetaManagedAgentsImageBlockType`

        - `Source BetaManagedAgentsImageBlockSourceUnion`

          The source of the image data.

          - `type BetaManagedAgentsBase64ImageSource`

            Base64-encoded image data.

            - `Type BetaManagedAgentsBase64ImageSourceType`

            - `Data string`

              Base64-encoded image data.

              minLength: 1

            - `MediaType string`

              MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

              minLength: 1

          - `type BetaManagedAgentsURLImageSource`

            Image referenced by URL.

            - `Type BetaManagedAgentsURLImageSourceType`

            - `URL string`

              URL of the image to fetch.

              minLength: 1

          - `type BetaManagedAgentsFileImageSource`

            Image referenced by file ID.

            - `Type BetaManagedAgentsFileImageSourceType`

            - `FileID string`

              ID of a previously uploaded file.

              minLength: 1

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        - `Type BetaManagedAgentsDocumentBlockType`

        - `Source BetaManagedAgentsDocumentBlockSourceUnion`

          The source of the document data.

          - `type BetaManagedAgentsBase64DocumentSource`

            Base64-encoded document data.

            - `Type BetaManagedAgentsBase64DocumentSourceType`

            - `Data string`

              Base64-encoded document data.

              minLength: 1

            - `MediaType string`

              MIME type of the document (e.g., "application/pdf").

              minLength: 1

          - `type BetaManagedAgentsPlainTextDocumentSource`

            Plain text document content.

            - `Type BetaManagedAgentsPlainTextDocumentSourceType`

            - `Data string`

              The plain text content.

              minLength: 1

            - `MediaType BetaManagedAgentsPlainTextDocumentSourceMediaType`

              MIME type of the text content. Must be "text/plain".

          - `type BetaManagedAgentsURLDocumentSource`

            Document referenced by URL.

            - `Type BetaManagedAgentsURLDocumentSourceType`

            - `URL string`

              URL of the document to fetch.

              minLength: 1

          - `type BetaManagedAgentsFileDocumentSource`

            Document referenced by file ID.

            - `Type BetaManagedAgentsFileDocumentSourceType`

            - `FileID string`

              ID of a previously uploaded file.

              minLength: 1

        - `Context string Optional`

          Additional context about the document for the model.

        - `Title string Optional`

          The title of the document.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

        - `Type BetaManagedAgentsRedactedBlockType`

    - `ProcessedAt Time Optional`

      Timestamp when the agent finished processing this message.

      format: date-time

  - `type BetaManagedAgentsUserInterruptEvent`

    An interrupt event that pauses agent execution and returns control to the user.

    - `Type BetaManagedAgentsUserInterruptEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time Optional`

      Timestamp when the interrupt was processed.

      format: date-time

    - `SessionThreadID string Optional`

      If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

  - `type BetaManagedAgentsUserToolConfirmationEvent`

    A tool confirmation event that approves or denies a pending tool execution.

    - `Type BetaManagedAgentsUserToolConfirmationEventType`

    - `ID string`

      Unique identifier for this event.

    - `Result BetaManagedAgentsUserToolConfirmationEventResult`

      The confirmation result: 'allow' or 'deny'.

      - `const BetaManagedAgentsUserToolConfirmationEventResultAllow BetaManagedAgentsUserToolConfirmationEventResult = "allow"`

      - `const BetaManagedAgentsUserToolConfirmationEventResultDeny BetaManagedAgentsUserToolConfirmationEventResult = "deny"`

    - `ToolUseID string`

      The id of the `agent.tool_use` or `agent.mcp_tool_use` event this result corresponds to, which can be found in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

    - `DenyMessage string Optional`

      Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

      maxLength: 10000

    - `ProcessedAt Time Optional`

      Timestamp when the confirmation was processed.

      format: date-time

    - `SessionThreadID string Optional`

      Set by the server to the subagent thread this confirmation was routed to. Omitted when it was routed to the primary thread.

  - `type BetaManagedAgentsUserCustomToolResultEvent`

    Event sent by the client providing the result of a custom tool execution.

    - `Type BetaManagedAgentsUserCustomToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `CustomToolUseID string`

      The id of the `agent.custom_tool_use` event this result corresponds to. It is also listed in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

    - `Content []BetaManagedAgentsUserCustomToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

        - `Type BetaManagedAgentsSearchResultBlockType`

        - `Citations BetaManagedAgentsSearchResultCitations`

          Citation settings for this search result.

          - `Enabled bool`

            Whether citations are enabled for this search result.

        - `Content []BetaManagedAgentsSearchResultContent`

          Array of text content blocks from the search result.

          - `Type BetaManagedAgentsSearchResultContentType`

          - `Text string`

            The text content.

            minLength: 1

        - `Source string`

          The URL source of the search result.

          minLength: 1

        - `Title string`

          The title of the search result.

          minLength: 1

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

    - `ProcessedAt Time Optional`

      Timestamp when this result was processed.

      format: date-time

    - `SessionThreadID string Optional`

      Set by the server to the subagent thread this result was routed to. Omitted when it was routed to the primary thread.

  - `type BetaManagedAgentsAgentCustomToolUseEvent`

    Event emitted when the agent calls a custom tool. The session goes idle until the client sends a `user.custom_tool_result` event with the result. The client can send it as soon as this event arrives, without waiting for `session.status_idle`.

    - `Type BetaManagedAgentsAgentCustomToolUseEventType`

    - `ID string`

      Unique identifier for this event.

    - `Input map[string, any]`

      Input parameters for the tool call.

    - `Name string`

      Name of the custom tool being called.

    - `ProcessedAt Time`

      Timestamp when this tool use was processed.

      format: date-time

    - `SessionThreadID string Optional`

      When set, this event was cross-posted from a subagent's thread to surface its custom tool use on the primary thread's stream. Empty on the thread's own events. Informational only: the server routes the matching `user.custom_tool_result` by `custom_tool_use_id`, so clients do not send it back.

  - `type BetaManagedAgentsAgentMessageEvent`

    An agent response event in the session conversation.

    - `Type BetaManagedAgentsAgentMessageEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsAgentMessageEventContentUnion`

      Array of text blocks comprising the agent response.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

    - `ProcessedAt Time`

      Timestamp when this response was generated.

      format: date-time

  - `type BetaManagedAgentsAgentThinkingEvent`

    Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.

    - `Type BetaManagedAgentsAgentThinkingEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this thinking was produced.

      format: date-time

  - `type BetaManagedAgentsAgentMCPToolUseEvent`

    Event emitted when the agent invokes a tool provided by an MCP server.

    - `Type BetaManagedAgentsAgentMCPToolUseEventType`

    - `ID string`

      Unique identifier for this event.

    - `Input map[string, any]`

      Input parameters for the tool call.

    - `MCPServerName string`

      Name of the MCP server providing the tool.

    - `Name string`

      Name of the MCP tool being used.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `EvaluatedPermission BetaManagedAgentsAgentEvaluatedPermission Optional`

      The evaluated permission policy for this tool invocation.

      - `const BetaManagedAgentsAgentEvaluatedPermissionAllow BetaManagedAgentsAgentEvaluatedPermission = "allow"`

      - `const BetaManagedAgentsAgentEvaluatedPermissionAsk BetaManagedAgentsAgentEvaluatedPermission = "ask"`

      - `const BetaManagedAgentsAgentEvaluatedPermissionDeny BetaManagedAgentsAgentEvaluatedPermission = "deny"`

    - `Evaluation BetaManagedAgentsAgentToolEvaluationUnion Optional`

      Which resolved permission_policy produced evaluated_permission: always_allow, always_ask, or auto (with the server's per-invocation judgement). Absent only when the server refused the call before any policy applied (for example, the named tool is not enabled in the session); such a refusal has evaluated_permission deny. An event recorded before this field existed reads as the arm its evaluated_permission implies (always_allow for allow, always_ask for ask).

      - `type BetaManagedAgentsAgentToolEvaluationAlwaysAllow`

        The resolved permission_policy was always_allow; accompanies evaluated_permission "allow".

        - `Type AlwaysAllow`

      - `type BetaManagedAgentsAgentToolEvaluationAlwaysAsk`

        The resolved permission_policy was always_ask; accompanies evaluated_permission "ask".

        - `Type AlwaysAsk`

      - `type BetaManagedAgentsAgentToolEvaluationAuto`

        The resolved permission_policy was auto: the server judged this invocation individually.

        - `Type Auto`

        - `EvaluatedPermission BetaManagedAgentsAgentAutoEvaluatedPermissionUnion`

          The server's judgement for this invocation.

          - `type BetaManagedAgentsAgentAutoEvaluatedPermissionAllow`

            The server judged the invocation safe to execute without client approval.

            - `Type Allow`

          - `type BetaManagedAgentsAgentAutoEvaluatedPermissionAsk`

            The server reached no judgement; the invocation is held for client approval.

            - `Type Ask`

            - `ReasonCode string`

              The judgement's grounds in registry-bound terms, for client branching and audit rather than end-user display. Open registry; currently "indeterminate" (no judgement was reached). Clients must tolerate values outside this set.

              maxLength: 64

          - `type BetaManagedAgentsAgentAutoEvaluatedPermissionDeny`

            The server judged the invocation high-risk; it does not execute and a synthetic error tool result is appended.

            - `Type Deny`

            - `ReasonCode string`

              The judgement's grounds in registry-bound terms. Open registry; currently "high_risk" (judged high-risk; the call does not run). Clients must tolerate values outside this set.

              maxLength: 64

    - `SessionThreadID string Optional`

      When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Informational only: the server routes the matching `user.tool_confirmation` by `tool_use_id`, so clients do not send it back.

  - `type BetaManagedAgentsAgentMCPToolResultEvent`

    Event representing the result of an MCP tool execution.

    - `Type BetaManagedAgentsAgentMCPToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `MCPToolUseID string`

      The id of the `agent.mcp_tool_use` event this result corresponds to.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `Content []BetaManagedAgentsAgentMCPToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

  - `type BetaManagedAgentsAgentToolUseEvent`

    Event emitted when the agent invokes a built-in agent tool.

    - `Type BetaManagedAgentsAgentToolUseEventType`

    - `ID string`

      Unique identifier for this event.

    - `Input map[string, any]`

      Input parameters for the tool call.

    - `Name string`

      Name of the agent tool being used.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `EvaluatedPermission BetaManagedAgentsAgentEvaluatedPermission Optional`

      The evaluated permission policy for this tool invocation.

    - `Evaluation BetaManagedAgentsAgentToolEvaluationUnion Optional`

      Which resolved permission_policy produced evaluated_permission: always_allow, always_ask, or auto (with the server's per-invocation judgement). Absent only when the server refused the call before any policy applied (for example, the named tool is not enabled in the session); such a refusal has evaluated_permission deny. An event recorded before this field existed reads as the arm its evaluated_permission implies (always_allow for allow, always_ask for ask).

    - `SessionThreadID string Optional`

      When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Informational only: the server routes the matching `user.tool_confirmation` or `user.tool_result` by `tool_use_id`, so clients do not send it back.

  - `type BetaManagedAgentsAgentToolResultEvent`

    Event representing the result of an agent tool execution.

    - `Type BetaManagedAgentsAgentToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `ToolUseID string`

      The id of the `agent.tool_use` event this result corresponds to.

    - `Content []BetaManagedAgentsAgentToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

  - `type BetaManagedAgentsAgentThreadMessageReceivedEvent`

    Delivery event written to the target thread's input stream when an agent-to-agent message arrives.

    - `Type BetaManagedAgentsAgentThreadMessageReceivedEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsAgentThreadMessageReceivedEventContentUnion`

      Message content blocks.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

    - `FromSessionThreadID string`

      Public `sthr_` ID of the thread that sent the message.

    - `ProcessedAt Time`

      Timestamp when the message was received.

      format: date-time

    - `FromAgentName string Optional`

      Name of the callable agent this message came from. Absent when received from the primary agent.

  - `type BetaManagedAgentsAgentThreadMessageSentEvent`

    Observability event emitted to the sender's output stream when an agent-to-agent message is sent.

    - `Type BetaManagedAgentsAgentThreadMessageSentEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsAgentThreadMessageSentEventContentUnion`

      Message content blocks.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

    - `ProcessedAt Time`

      Timestamp when the message was sent.

      format: date-time

    - `ToSessionThreadID string`

      Public `sthr_` ID of the thread the message was sent to.

    - `ToAgentName string Optional`

      Name of the callable agent this message was sent to. Absent when sent to the primary agent.

  - `type BetaManagedAgentsAgentThreadContextCompactedEvent`

    Indicates that context compaction (summarization) occurred during the session.

    - `Type BetaManagedAgentsAgentThreadContextCompactedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when compaction was processed.

      format: date-time

  - `type BetaManagedAgentsSessionErrorEvent`

    An error event indicating a problem occurred during session execution.

    - `Type BetaManagedAgentsSessionErrorEventType`

    - `ID string`

      Unique identifier for this event.

    - `Error BetaManagedAgentsSessionErrorEventErrorUnion`

      - `type BetaManagedAgentsUnknownError`

        An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on `retry_status` and `message` alone.

        - `Type BetaManagedAgentsUnknownErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsUnknownErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            - `Type BetaManagedAgentsRetryStatusRetryingType`

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            - `Type BetaManagedAgentsRetryStatusExhaustedType`

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

            - `Type BetaManagedAgentsRetryStatusTerminalType`

      - `type BetaManagedAgentsModelOverloadedError`

        The model is currently overloaded. Emitted after automatic retries are exhausted.

        - `Type BetaManagedAgentsModelOverloadedErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsModelOverloadedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsModelRateLimitedError`

        The model request was rate-limited.

        - `Type BetaManagedAgentsModelRateLimitedErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsModelRateLimitedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsModelRequestFailedError`

        A model request failed for a reason other than overload or rate-limiting.

        - `Type BetaManagedAgentsModelRequestFailedErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsModelRequestFailedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsMCPConnectionFailedError`

        Failed to connect to an MCP server.

        - `Type BetaManagedAgentsMCPConnectionFailedErrorType`

        - `MCPServerName string`

          Name of the MCP server that failed to connect.

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsMCPConnectionFailedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsMCPAuthenticationFailedError`

        Authentication to an MCP server failed.

        - `Type BetaManagedAgentsMCPAuthenticationFailedErrorType`

        - `MCPServerName string`

          Name of the MCP server that failed authentication.

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsMCPAuthenticationFailedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsBillingError`

        The caller's organization or workspace cannot make model requests — out of credits or spend limit reached. Retrying with the same credentials will not succeed; the caller must resolve the billing state.

        - `Type BetaManagedAgentsBillingErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsBillingErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsCredentialHostUnreachableError`

        An `environment_variable` credential's `auth.networking.allowed_hosts` includes a host the environment's network policy does not permit.

        - `Type BetaManagedAgentsCredentialHostUnreachableErrorType`

        - `CredentialID string`

          ID of the affected credential.

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsCredentialHostUnreachableErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

        - `VaultID string`

          ID of the vault containing the affected credential.

      - `type BetaManagedAgentsRepositoryAuthenticationError`

        The repository host rejected the credentials, or required credentials and received none.

        - `Type RepositoryAuthenticationError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryAuthenticationErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryForbiddenError`

        The repository host refused access to the repository.

        - `Type RepositoryForbiddenError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryForbiddenErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryNotFoundError`

        The repository host reported the repository as not found.

        - `Type RepositoryNotFoundError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryNotFoundErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryCheckoutError`

        The requested branch or commit does not exist in the repository.

        - `Type RepositoryCheckoutError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryCheckoutErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryCloneError`

        The repository could not be cloned.

        - `Type RepositoryCloneError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryCloneErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

    - `ProcessedAt Time`

      Timestamp when the error occurred.

      format: date-time

  - `type BetaManagedAgentsSessionStatusRescheduledEvent`

    Indicates the session is recovering from an error state and is rescheduled for execution.

    - `Type BetaManagedAgentsSessionStatusRescheduledEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

  - `type BetaManagedAgentsSessionStatusRunningEvent`

    Indicates the session is actively running and the agent is working.

    - `Type BetaManagedAgentsSessionStatusRunningEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

  - `type BetaManagedAgentsSessionStatusIdleEvent`

    Indicates the agent has paused and is awaiting user input.

    - `Type BetaManagedAgentsSessionStatusIdleEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

    - `StopDetails BetaManagedAgentsSessionRefusalStopDetails`

      Structured information about why the session stopped. `null` when there is nothing more to report.

      - `Type Refusal`

      - `Category BetaManagedAgentsSessionRefusalStopDetailsCategory`

        The policy category that triggered the refusal, or `null` when there is no named category. New values can be added over time.

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryCyber BetaManagedAgentsSessionRefusalStopDetailsCategory = "cyber"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryBio BetaManagedAgentsSessionRefusalStopDetailsCategory = "bio"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryFrontierLLM BetaManagedAgentsSessionRefusalStopDetailsCategory = "frontier_llm"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryReasoningExtraction BetaManagedAgentsSessionRefusalStopDetailsCategory = "reasoning_extraction"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryGeneralHarms BetaManagedAgentsSessionRefusalStopDetailsCategory = "general_harms"`

      - `Explanation string`

        Human-readable explanation of the refusal, or `null` when none is available. The wording can change, so do not parse it.

    - `StopReason BetaManagedAgentsSessionStatusIdleEventStopReasonUnion`

      - `type BetaManagedAgentsSessionEndTurn`

        The agent completed its turn naturally and is ready for the next user message.

        - `Type BetaManagedAgentsSessionEndTurnType`

      - `type BetaManagedAgentsSessionRequiresAction`

        The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

        - `Type BetaManagedAgentsSessionRequiresActionType`

        - `EventIDs []string`

          The ids of events the agent is blocked on. Resolving fewer than all re-emits `session.status_idle` with the remainder.

      - `type BetaManagedAgentsSessionRetriesExhausted`

        The turn ended because repeated errors exhausted the retry budget or an error escalated to `retry_status: 'exhausted'`.

        - `Type BetaManagedAgentsSessionRetriesExhaustedType`

      - `type BetaManagedAgentsSessionBudgetReached`

        The agent stopped because the session's tracked list cost reached its budget, or because its usage includes a model with no list price (which the budget cannot measure). Raise the budget to continue — or, if raising is rejected because a model has no list price, remove the budget.

        - `Type BetaManagedAgentsSessionBudgetReachedType`

      - `type BetaManagedAgentsSessionRefusal`

        The turn ended because the model's response was refused, for example by a safety classifier.

        - `Type Refusal`

  - `type BetaManagedAgentsSessionStatusTerminatedEvent`

    Indicates the session has terminated, either due to an error or completion.

    - `Type BetaManagedAgentsSessionStatusTerminatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

  - `type BetaManagedAgentsSessionThreadCreatedEvent`

    Emitted when a child thread is created. Written to the parent thread's output stream so clients observing the session see child creation.

    - `Type BetaManagedAgentsSessionThreadCreatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the callable agent the thread runs.

    - `ProcessedAt Time`

      Timestamp when the thread was created.

      format: date-time

    - `SessionThreadID string`

      Public `sthr_` ID of the newly created thread.

    - `WorkflowRunID string`

      Identifier of the workflow run that created the thread, or `null` for any other thread.

  - `type BetaManagedAgentsSpanOutcomeEvaluationStartEvent`

    Emitted when an outcome evaluation cycle begins.

    - `Type BetaManagedAgentsSpanOutcomeEvaluationStartEventType`

    - `ID string`

      Unique identifier for this event.

    - `Iteration int64`

      0-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.

      format: int32

    - `OutcomeID string`

      The `outc_` ID of the outcome being evaluated.

    - `ProcessedAt Time`

      Timestamp when outcome evaluation started.

      format: date-time

  - `type BetaManagedAgentsSpanOutcomeEvaluationEndEvent`

    Emitted when an outcome evaluation cycle completes. Carries the verdict and aggregate token usage. A verdict of `needs_revision` means another evaluation cycle follows; `satisfied`, `max_iterations_reached`, `failed`, or `interrupted` are terminal — no further evaluation cycles follow.

    - `Type BetaManagedAgentsSpanOutcomeEvaluationEndEventType`

    - `ID string`

      Unique identifier for this event.

    - `Explanation string`

      Human-readable explanation of the verdict. For `needs_revision`, describes which criteria failed and why.

    - `Iteration int64`

      0-indexed revision cycle, matching the corresponding `span.outcome_evaluation_start`.

      format: int32

    - `OutcomeEvaluationStartID string`

      The id of the corresponding `span.outcome_evaluation_start` event.

    - `OutcomeID string`

      The `outc_` ID of the outcome being evaluated.

    - `ProcessedAt Time`

      Timestamp when outcome evaluation ended.

      format: date-time

    - `Result string`

      Evaluation verdict. 'satisfied': criteria met, session goes idle. 'needs_revision': criteria not met, another revision cycle follows. 'max_iterations_reached': evaluation budget exhausted with criteria still unmet — one final acknowledgment turn follows before the session goes idle, but no further evaluation runs. 'failed': grader determined the rubric does not apply to the deliverables. 'interrupted': user sent an interrupt while evaluation was in progress.

    - `Usage BetaManagedAgentsSpanModelUsage`

      Aggregate token usage for this evaluation cycle. Sums across all grader model requests within the cycle.

      - `CacheCreationInputTokens int64`

        Tokens used to create prompt cache in this request.

        format: int32

      - `CacheReadInputTokens int64`

        Tokens read from prompt cache in this request.

        format: int32

      - `InputTokens int64`

        Input tokens consumed by this request.

        format: int32

      - `OutputTokens int64`

        Output tokens generated by this request.

        format: int32

      - `Speed BetaManagedAgentsSpanModelUsageSpeed Optional`

        Inference speed tier this request actually ran at. Mirrors `usage.speed` on /v1/messages. Only present when the fast-mode beta is active.

        - `const BetaManagedAgentsSpanModelUsageSpeedStandard BetaManagedAgentsSpanModelUsageSpeed = "standard"`

        - `const BetaManagedAgentsSpanModelUsageSpeedFast BetaManagedAgentsSpanModelUsageSpeed = "fast"`

  - `type BetaManagedAgentsSpanModelRequestStartEvent`

    Emitted when a model request is initiated by the agent.

    - `Type BetaManagedAgentsSpanModelRequestStartEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the model request started.

      format: date-time

  - `type BetaManagedAgentsSpanModelRequestEndEvent`

    Emitted when a model request completes.

    - `Type BetaManagedAgentsSpanModelRequestEndEventType`

    - `ID string`

      Unique identifier for this event.

    - `IsError bool`

      Whether the model request resulted in an error.

    - `ModelRequestStartID string`

      The id of the corresponding `span.model_request_start` event.

    - `ModelUsage BetaManagedAgentsSpanModelUsage`

      Token usage for this model request.

    - `ProcessedAt Time`

      Timestamp when the model request completed.

      format: date-time

  - `type BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent`

    Periodic heartbeat emitted while an outcome evaluation cycle is in progress. Distinguishes 'evaluation is actively running' from 'evaluation is stuck' between the corresponding `span.outcome_evaluation_start` and `span.outcome_evaluation_end` events.

    - `Type BetaManagedAgentsSpanOutcomeEvaluationOngoingEventType`

    - `ID string`

      Unique identifier for this event.

    - `Iteration int64`

      0-indexed revision cycle, matching the corresponding `span.outcome_evaluation_start`.

      format: int32

    - `OutcomeID string`

      The `outc_` ID of the outcome being evaluated.

    - `ProcessedAt Time`

      Timestamp when this heartbeat was emitted.

      format: date-time

  - `type BetaManagedAgentsUserDefineOutcomeEvent`

    Echo of a `user.define_outcome` input event. Carries the server-generated `outcome_id` that subsequent `span.outcome_evaluation_*` events reference.

    - `Type BetaManagedAgentsUserDefineOutcomeEventType`

    - `ID string`

      Unique identifier for this event.

    - `Description string`

      What the agent should produce. Copied from the input event.

    - `MaxIterations int64`

      Evaluate-then-revise cycles before giving up. Default 3, max 20.

      format: int32

    - `OutcomeID string`

      Server-generated `outc_` ID for this outcome. Referenced by `span.outcome_evaluation_*` events and the session's `outcome_evaluations` list.

    - `ProcessedAt Time`

      Timestamp when the outcome was accepted.

      format: date-time

    - `Rubric BetaManagedAgentsUserDefineOutcomeEventRubricUnion`

      How to grade the outcome. File rubrics are currently resolved to their text content; clients should handle both variants.

      - `type BetaManagedAgentsFileRubric`

        Rubric referenced by a file uploaded via the Files API.

        - `Type BetaManagedAgentsFileRubricType`

        - `FileID string`

          ID of the rubric file.

      - `type BetaManagedAgentsTextRubric`

        Rubric content provided inline as text.

        - `Type BetaManagedAgentsTextRubricType`

        - `Content string`

          Rubric content. Plain text or markdown — the grader treats it as freeform text.

  - `type BetaManagedAgentsSessionDeletedEvent`

    Emitted when a session has been deleted. Terminates any active event stream — no further events will be emitted for this session.

    - `Type BetaManagedAgentsSessionDeletedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the session was deleted.

      format: date-time

  - `type BetaManagedAgentsSessionThreadStatusRunningEvent`

    A session thread has begun executing. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusRunningEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that started running.

  - `type BetaManagedAgentsSessionThreadStatusIdleEvent`

    A session thread has yielded and is awaiting input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusIdleEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that went idle.

    - `StopDetails BetaManagedAgentsSessionRefusalStopDetails`

      Structured information about why the thread stopped. `null` when there is nothing more to report.

    - `StopReason BetaManagedAgentsSessionThreadStatusIdleEventStopReasonUnion`

      - `type BetaManagedAgentsSessionEndTurn`

        The agent completed its turn naturally and is ready for the next user message.

      - `type BetaManagedAgentsSessionRequiresAction`

        The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

      - `type BetaManagedAgentsSessionRetriesExhausted`

        The turn ended because repeated errors exhausted the retry budget or an error escalated to `retry_status: 'exhausted'`.

      - `type BetaManagedAgentsSessionBudgetReached`

        The agent stopped because the session's tracked list cost reached its budget, or because its usage includes a model with no list price (which the budget cannot measure). Raise the budget to continue — or, if raising is rejected because a model has no list price, remove the budget.

      - `type BetaManagedAgentsSessionRefusal`

        The turn ended because the model's response was refused, for example by a safety classifier.

  - `type BetaManagedAgentsSessionThreadStatusTerminatedEvent`

    A session thread has terminated and will accept no further input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusTerminatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that terminated.

  - `type BetaManagedAgentsUserToolResultEvent`

    Event sent by the client providing the result of an agent-toolset tool execution. Only valid on `self_hosted` environments, where sandbox-routed tools are executed by the client rather than the server.

    - `Type BetaManagedAgentsUserToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `ToolUseID string`

      The id of the `agent.tool_use` event this result corresponds to, which can be found in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

    - `Content []BetaManagedAgentsUserToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

    - `ProcessedAt Time Optional`

      Timestamp when this result was processed.

      format: date-time

    - `SessionThreadID string Optional`

      Set by the server to the subagent thread this result was routed to. Omitted when it was routed to the primary thread.

  - `type BetaManagedAgentsSessionThreadStatusRescheduledEvent`

    A session thread hit a transient error and is retrying automatically. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusRescheduledEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that is retrying.

  - `type BetaManagedAgentsSessionUpdatedEvent`

    Emitted when an UpdateSession request changed at least one field. Carries only the fields that changed; absent fields were not part of the update. The new configuration applies from the next turn.

    - `Type BetaManagedAgentsSessionUpdatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the update was applied.

      format: date-time

    - `Agent BetaManagedAgentsSessionAgent Optional`

      The session's effective agent configuration after the update. Present only when the update changed `agent` (tools or mcp_servers); when present it is the full materialised snapshot, not a diff.

      - `Type BetaManagedAgentsSessionAgentType`

      - `ID string`

      - `Description string`

      - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

        Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

        - `type BetaManagedAgentsAWSRoleExecutionIdentity`

          An AWS IAM role principal as returned in API responses.

          - `Type AWSRole`

          - `RoleARN string`

            The IAM role's ARN.

        - `type BetaManagedAgentsServiceAccountExecutionIdentity`

          The Anthropic-managed service account as returned in API responses.

          - `Type ServiceAccount`

      - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

        - `Type BetaManagedAgentsMCPServerURLDefinitionType`

        - `Name string`

        - `URL string`

      - `Model BetaManagedAgentsModelConfig`

        Model identifier and configuration.

        - `ID BetaManagedAgentsModel`

          The model that will power your agent.

          See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

          - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

            Fastest model for high-volume, real-time tasks

          - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

            Powerful intelligence for coding, knowledge work, and long-running agents

          - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

            Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

          - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

            Next generation of intelligence for the hardest knowledge work and coding problems

          - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

            Best combination of speed and intelligence

          - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

          - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

          - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

        - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

          How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

          - `type BetaManagedAgentsEffortLow`

            Low effort. Favors latency over reasoning depth.

            - `Type BetaManagedAgentsEffortLowType`

          - `type BetaManagedAgentsEffortMedium`

            Medium effort. Balances latency and reasoning depth.

            - `Type BetaManagedAgentsEffortMediumType`

          - `type BetaManagedAgentsEffortHigh`

            High effort. Favors reasoning depth.

            - `Type BetaManagedAgentsEffortHighType`

          - `type BetaManagedAgentsEffortXhigh`

            Extra-high effort. Not all models accept this level.

            - `Type BetaManagedAgentsEffortXhighType`

          - `type BetaManagedAgentsEffortMax`

            Maximum effort. Favors reasoning depth over latency.

            - `Type BetaManagedAgentsEffortMaxType`

        - `InferenceGeo string Optional`

          Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

        - `Speed BetaManagedAgentsModelConfigSpeed Optional`

          Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

          - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

          - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

      - `Multiagent BetaManagedAgentsSessionMultiagentUnion`

        Resolved multiagent orchestration configuration. Null when the agent is single-threaded.

        - `type BetaManagedAgentsSessionMultiagentCoordinator`

          Resolved coordinator topology with full agent definitions for each roster member.

          - `Type BetaManagedAgentsSessionMultiagentCoordinatorType`

          - `Agents []BetaManagedAgentsSessionMultiagentCoordinatorAgentUnion`

            Full `agent` definitions the coordinator may spawn as session threads.

            - `type 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`.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

                - `Type BetaManagedAgentsMCPServerURLDefinitionType`

                - `Name string`

                - `URL string`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

                - `type BetaManagedAgentsAnthropicSkill`

                  A resolved Anthropic-managed skill.

                  - `Type BetaManagedAgentsAnthropicSkillType`

                  - `SkillID string`

                  - `Version string`

                - `type BetaManagedAgentsCustomSkill`

                  A resolved user-created custom skill.

                  - `Type BetaManagedAgentsCustomSkillType`

                  - `SkillID string`

                  - `Version string`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

                - `type BetaManagedAgentsAgentToolset20260401`

                  - `Type BetaManagedAgentsAgentToolset20260401Type`

                  - `Configs []BetaManagedAgentsAgentToolConfigUnion`

                    - `type BetaManagedAgentsBashToolConfig`

                      Configuration for the bash tool.

                      - `Type Bash`

                      - `Enabled bool`

                      - `Name Bash`

                      - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                          - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                          - `Type BetaManagedAgentsAlwaysAskPolicyType`

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                          - `Type Auto`

                    - `type BetaManagedAgentsEditToolConfig`

                      Configuration for the edit tool.

                      - `Type Edit`

                      - `Enabled bool`

                      - `Name Edit`

                      - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsReadToolConfig`

                      Configuration for the read tool.

                      - `Type Read`

                      - `Enabled bool`

                      - `Name Read`

                      - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsWriteToolConfig`

                      Configuration for the write tool.

                      - `Type Write`

                      - `Enabled bool`

                      - `Name Write`

                      - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsGlobToolConfig`

                      Configuration for the glob tool.

                      - `Type Glob`

                      - `Enabled bool`

                      - `Name Glob`

                      - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsGrepToolConfig`

                      Configuration for the grep tool.

                      - `Type Grep`

                      - `Enabled bool`

                      - `Name Grep`

                      - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsWebFetchToolConfig`

                      Configuration for the web_fetch tool.

                      - `Type WebFetch`

                      - `Enabled bool`

                      - `Name WebFetch`

                      - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                      - `URLSources BetaManagedAgentsWebFetchURLSources`

                        Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

                        - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                          Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                          - `type BetaManagedAgentsWebFetchURLSourceAll`

                            Every URL from this source may be fetched. This is the default.

                            - `Type All`

                          - `type BetaManagedAgentsWebFetchURLSourceNone`

                            This source contributes no URLs that may be fetched.

                            - `Type None`

                          - `type BetaManagedAgentsWebFetchURLSourceOnly`

                            Only the named tools' results contribute URLs that may be fetched.

                            - `Type Only`

                            - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                              The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                              - `Type ToolReference`

                                Must be "tool_reference".

                              - `Name string`

                                Name of the tool. Compared exactly, so upper and lower case letters are different.

                                minLength: 1, maxLength: 128

                          - `type BetaManagedAgentsWebFetchURLSourceExcept`

                            Every tool's results contribute URLs that may be fetched, except the named tools' results.

                            - `Type Except`

                            - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                              The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                              - `Type ToolReference`

                                Must be "tool_reference".

                              - `Name string`

                                Name of the tool. Compared exactly, so upper and lower case letters are different.

                                minLength: 1, maxLength: 128

                        - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                          Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

                        - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                          Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                          - `type BetaManagedAgentsWebFetchURLSourceAll`

                            Every URL from this source may be fetched. This is the default.

                          - `type BetaManagedAgentsWebFetchURLSourceNone`

                            This source contributes no URLs that may be fetched.

                      - `AllowedDomains []string Optional`

                      - `BlockedDomains []string Optional`

                      - `MaxContentTokens int64 Optional`

                        format: int32

                    - `type BetaManagedAgentsWebSearchToolConfig`

                      Configuration for the web_search tool.

                      - `Type WebSearch`

                      - `Enabled bool`

                      - `Name WebSearch`

                      - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                      - `AllowedDomains []string Optional`

                      - `BlockedDomains []string Optional`

                      - `UserLocation BetaManagedAgentsUserLocation Optional`

                        Approximate user location for search result localization.

                        - `Type Approximate`

                          Location precision. Only "approximate" is supported.

                        - `City string Optional`

                          City name.

                          minLength: 1, maxLength: 255

                        - `Country string Optional`

                          Two-letter ISO 3166-1 country code, uppercase.

                        - `Region string Optional`

                          Region or state name.

                          minLength: 1, maxLength: 255

                        - `Timezone string Optional`

                          IANA timezone identifier, e.g. "America/Los_Angeles".

                          minLength: 1, maxLength: 255

                  - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

                    Resolved default configuration for agent tools.

                    - `Enabled bool`

                    - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `type BetaManagedAgentsMCPToolset`

                  - `Type BetaManagedAgentsMCPToolsetType`

                  - `Configs []BetaManagedAgentsMCPToolConfig`

                    - `Enabled bool`

                    - `Name string`

                    - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

                    Resolved default configuration for all tools from an MCP server.

                    - `Enabled bool`

                    - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `MCPServerName string`

                - `type BetaManagedAgentsCustomTool`

                  A custom tool as returned in API responses.

                  - `Type BetaManagedAgentsCustomToolType`

                  - `Description string`

                  - `InputSchema BetaManagedAgentsCustomToolInputSchema`

                    JSON Schema for custom tool input parameters.

                    - `Type Object`

                    - `Properties map[string, any] Optional`

                    - `Required []string Optional`

                  - `Name string`

              - `Version int64`

                format: int32

            - `type BetaManagedAgentsAdvisor`

              Platform advisor roster entry: a model the session's primary thread may consult mid-turn.

              - `Type BetaManagedAgentsAdvisorType`

              - `Model string`

                The advisor model id.

        - `type BetaManagedAgentsSessionMultiagent20261001`

          Resolved multiagent configuration with three members, as copied to the `session` at creation.

          - `Type Multiagent20261001`

          - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

            Whether the session's primary thread can consult an advisor model.

            - `type BetaManagedAgentsMultiagentAdvisorEnabled`

              The session's primary thread can consult `model` mid-turn.

              - `Type Enabled`

              - `Model string`

                The advisor model id.

            - `type BetaManagedAgentsMultiagentAdvisorDisabled`

              The agent has no advisor.

              - `Type Disabled`

          - `Subagents BetaManagedAgentsSessionMultiagentSubagentsUnion`

            Whether the agent can spawn session threads.

            - `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

              The agent can spawn session threads.

              - `Type Enabled`

              - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

                Whether the agent can define inline agents, which are not saved, when it spawns session threads.

                - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

                  The agent can define inline agents.

                  - `Type Enabled`

                - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

                  The agent cannot define inline agents.

                  - `Type Disabled`

              - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

                Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

                - `Type BetaManagedAgentsSessionThreadAgentType`

                - `ID string`

                - `Description string`

                - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                  Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

                - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

                - `Model BetaManagedAgentsModelConfig`

                  Model identifier and configuration.

                - `Name string`

                - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

                - `System string`

                - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

                - `Version int64`

                  format: int32

            - `type BetaManagedAgentsMultiagentSubagentsDisabled`

              The agent cannot spawn session threads.

              - `Type Disabled`

          - `Workflows BetaManagedAgentsSessionMultiagentWorkflowsUnion`

            Whether the agent can start workflow runs.

            - `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

              The agent can start workflow runs.

              - `Type Enabled`

              - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

                Whether a run's plan can define inline agents, which are not saved.

              - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

                Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

                - `Type BetaManagedAgentsSessionThreadAgentType`

                - `ID string`

                - `Description string`

                - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                  Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

                - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

                - `Model BetaManagedAgentsModelConfig`

                  Model identifier and configuration.

                - `Name string`

                - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

                - `System string`

                - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

                - `Version int64`

                  format: int32

            - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

              The agent cannot start workflow runs.

              - `Type Disabled`

      - `Name string`

      - `Skills []BetaManagedAgentsSessionAgentSkillUnion`

        - `type BetaManagedAgentsAnthropicSkill`

          A resolved Anthropic-managed skill.

        - `type BetaManagedAgentsCustomSkill`

          A resolved user-created custom skill.

      - `System string`

      - `Tools []BetaManagedAgentsSessionAgentToolUnion`

        - `type BetaManagedAgentsAgentToolset20260401`

        - `type BetaManagedAgentsMCPToolset`

        - `type BetaManagedAgentsCustomTool`

          A custom tool as returned in API responses.

      - `Version int64`

        format: int32

    - `Budget BetaManagedAgentsBudgetLimit Optional`

      The session's budget after the update: the new budget when set or replaced, or null when the update removed it. Present only when the update changed the budget.

      - `Type BetaManagedAgentsBudgetLimitType`

      - `MaxListCost BetaMonetaryAmount`

        Maximum list cost the session may accrue. List price is used regardless of any negotiated discount, so the cap fires at or before the actual charge.

        - `Amount string`

          Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

        - `Currency BetaCurrency`

          Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

    - `Metadata map[string, string] Optional`

      The session's full metadata bag after the update. Present when the update set non-empty metadata; absent when metadata was unchanged or cleared to empty.

    - `Title string Optional`

      The session's new title. Present only when the update changed it.

  - `type BetaManagedAgentsStartEvent`

    Opens a preview of a buffered event. Carries the previewed event's type and id only. Followed by zero or more event_delta events with the same event id, normally concluded by the buffered event carrying that id. If the producing model request ends without that event (an error or interrupt mid-stream), its terminal span.model_request_end closes the preview. Only sent on stream connections that opt in via event_deltas; never appears in event history.

    - `Type BetaManagedAgentsStartEventType`

    - `Event BetaManagedAgentsStartEventPreviewUnion`

      The previewed event's type and id. The event type determines which delta types the preview's event_delta events carry: agent.message events stream content_delta fragments; agent.thinking previews are start-only — no deltas follow, and the buffered agent.thinking with the same id concludes them.

      - `type BetaManagedAgentsAgentMessagePreview`

        - `Type BetaManagedAgentsAgentMessagePreviewType`

        - `ID string`

          The id the buffered agent.message will carry if it is emitted. Matches the event_id on this preview's event_delta events.

      - `type BetaManagedAgentsAgentThinkingPreview`

        - `Type BetaManagedAgentsAgentThinkingPreviewType`

        - `ID string`

          The id the buffered agent.thinking will carry if it is emitted. Start-only — no event_delta events follow.

  - `type BetaManagedAgentsDeltaEvent`

    An incremental update to an event that is still being streamed. Deltas are best-effort and may stop early; when the buffered event with id == event_id is produced it carries the complete content. A model request that ends early (an error or interrupt) produces no buffered event — its terminal span.model_request_end closes the preview. Only sent on stream connections that opt in via event_deltas; never appears in event history.

    - `Type BetaManagedAgentsDeltaEventType`

    - `Delta BetaManagedAgentsDeltaContent`

      One fragment of the previewed event. The delta type is named for the previewed event's field it streams into: agent.message events stream content_delta fragments, each a partial element of the content array.

      - `Type BetaManagedAgentsDeltaContentType`

      - `Content BetaManagedAgentsTextBlock`

        A partial element of the content array at index, typed like the element itself — the same shape the buffered agent.message carries in content.

      - `Index int64 Optional`

        Which entry in the previewed event's content array this fragment lands in. Insert content as that entry when the index is new; append to the existing entry otherwise.

    - `EventID string`

      The id of the event being previewed. Matches event.id on the corresponding event_start and the buffered event that reconciles the preview.

  - `type BetaManagedAgentsSystemMessageEvent`

    A mid-conversation system message event. Carries system-role content that is appended to the session as a `role: "system"` turn.

    - `Type BetaManagedAgentsSystemMessageEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsSystemContentBlock`

      System content blocks. Text-only.

      - `Type BetaManagedAgentsSystemContentBlockType`

      - `Text string`

        The text content.

        minLength: 1

    - `ProcessedAt Time Optional`

      Timestamp when this system message was processed.

      format: date-time

  - `type BetaManagedAgentsSessionUsageEvent`

    Periodic snapshot of the session's cumulative usage and tracked list cost.

    - `Type BetaManagedAgentsSessionUsageEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the snapshot was taken.

      format: date-time

    - `Usage BetaManagedAgentsSessionUsageSnapshot`

      The session's cumulative usage at the snapshot time.

      - `ActiveSeconds float64 Optional`

        Cumulative time in seconds during which the session had at least one thread in running status. Overlapping activity from concurrent threads is counted once. This is the duration the session's runtime cost is priced on.

        format: double

      - `CacheCreation BetaManagedAgentsCacheCreationUsage Optional`

        Tokens used to create prompt cache entries, broken down by cache TTL.

        - `Ephemeral1hInputTokens int64 Optional`

          Tokens used to create 1-hour ephemeral cache entries.

          format: int32

        - `Ephemeral5mInputTokens int64 Optional`

          Tokens used to create 5-minute ephemeral cache entries.

          format: int32

      - `CacheReadInputTokens int64 Optional`

        Total tokens read from prompt cache.

        format: int32

      - `InputTokens int64 Optional`

        Total input tokens consumed across all turns.

        format: int32

      - `ListCost BetaMonetaryAmount Optional`

        Cumulative list cost of the session across all turns, priced at public list rates.

      - `OutputTokens int64 Optional`

        Total output tokens generated across all turns.

        format: int32

      - `ServerToolUse BetaManagedAgentsServerToolUsage Optional`

        Cumulative server-executed tool usage across all turns.

        - `WebFetchRequests int64 Optional`

          Number of server-executed web fetch requests.

          format: int32

        - `WebSearchRequests int64 Optional`

          Number of server-executed web search requests.

          format: int32

    - `Budget BetaManagedAgentsBudgetLimit Optional`

      The session's configured budget at the snapshot time, or null when the session has no budget.

  - `type BetaManagedAgentsWorkflowRunCreatedEvent`

    A workflow run was created. A workflow run is background work that the session's agent starts. Emitted once per run, before the run's other `workflow_run.*` events.

    - `Type WorkflowRunCreated`

    - `ID string`

      Unique identifier for this event.

    - `Description string`

      Description that the agent gave the run, passed on as written, or `null` if it gave none.

    - `Name string`

      Name that the agent gave the run, passed on as written, or a name that the server assigned.

    - `Phases []BetaManagedAgentsWorkflowRunPhase`

      The phases that the run's plan declares, in the plan's order. Can be empty.

      - `ID string`

        Unique identifier for the phase.

      - `Description string`

        Description that the agent gave the phase, passed on as written, or `null` if it gave none.

      - `Name string`

        Name that the agent gave the phase, passed on as written.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunStatusEndedEvent`

    A workflow run ended. Emitted once per run, as the last of the run's `workflow_run.*` events.

    - `Type WorkflowRunStatusEnded`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `Result BetaManagedAgentsWorkflowRunResultUnion`

      How the run ended.

      - `type BetaManagedAgentsWorkflowRunResultCompleted`

        The run's plan, a program that the agent wrote, finished. This does not say whether the work succeeded.

        - `Type Completed`

      - `type BetaManagedAgentsWorkflowRunResultError`

        The run failed or reached its time limit.

        - `Type Error`

        - `Error BetaManagedAgentsWorkflowRunErrorUnion`

          Why the run did not finish.

          - `type BetaManagedAgentsTimeoutWorkflowRunError`

            The run reached its time limit.

            - `Type TimeoutError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsProgramWorkflowRunError`

            The plan, a program that the agent wrote, failed, or the server refused it.

            - `Type ProgramError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsUnknownWorkflowRunError`

            A failure that has no type of its own.

            - `Type UnknownError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsThreadLimitWorkflowRunError`

            The run exceeded the limit on the number of threads that a run can create.

            - `Type ThreadLimitError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsMaxWorkflowRunsWorkflowRunError`

            No run was created, because the session was at its limit of open workflow runs, which are runs that have not ended. Only `workflow_run.error` carries this type.

            - `Type MaxWorkflowRunsError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

      - `type BetaManagedAgentsWorkflowRunResultStopped`

        The agent stopped the run.

        - `Type Stopped`

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunPhaseStartedEvent`

    A workflow run's plan entered a phase.

    - `Type WorkflowRunPhaseStarted`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

    - `WorkflowRunPhaseID string`

      Identifier of the phase, as in `phases` on the run's `workflow_run.created` event.

  - `type BetaManagedAgentsWorkflowRunPhaseEndedEvent`

    A workflow run's plan left a phase, or the run's end closed it. Emitted once for every `workflow_run.phase_started` event, before the run's `workflow_run.status_ended` event. The event does not say whether the plan finished the phase's work, or why it left.

    - `Type WorkflowRunPhaseEnded`

    - `ID string`

      Unique identifier for this event.

    - `PhaseStartedID string`

      Identifier of the `workflow_run.phase_started` event that opened the phase.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

    - `WorkflowRunPhaseID string`

      Identifier of the phase, as in `phases` on the run's `workflow_run.created` event.

  - `type BetaManagedAgentsWorkflowRunStatusRunningEvent`

    A workflow run is running. Emitted when the run starts to execute, and each time it resumes after being idle. A run that starts idle emits `workflow_run.status_idle` first.

    - `Type WorkflowRunStatusRunning`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunStatusIdleEvent`

    A workflow run is idle. Emitted each time the run goes idle, whatever the cause. If the run ends while idle, no `workflow_run.status_running` comes between this event and its `workflow_run.status_ended`.

    - `Type WorkflowRunStatusIdle`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunErrorEvent`

    A workflow run met an error, or an error kept a run from being created. A run that ends with a `result.type` of `error` emits this event before its `workflow_run.status_ended`, with the same `error`.

    - `Type WorkflowRunError`

    - `ID string`

      Unique identifier for this event.

    - `Error BetaManagedAgentsWorkflowRunErrorUnion`

      Why the run did not finish, or was not created.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run that met the error, or `null` when the error kept a run from being created.

#### Example

```go
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	stream := client.Beta.Sessions.Events.StreamEvents(
		context.TODO(),
		"sesn_011CZkZAtmR3yMPDzynEDxu7",
		anthropic.BetaSessionEventStreamParams{},
	)
	for stream.Next() {
		fmt.Printf("%+v\n", stream.Current())
	}
	err := stream.Err()
	if err != nil {
		panic(err.Error())
	}
}
```

##### Response (200)

```json
{
  "id": "sevt_011CZkZGPp1iBcp4kaQSihUm",
  "content": [
    {
      "text": "Where is my order #1234?",
      "type": "text"
    }
  ],
  "type": "user.message",
  "processed_at": "2026-03-15T10:00:00Z"
}
```

## Sessions › Resources

### Add Session Resource

`client.Beta.Sessions.Resources.Add(ctx, sessionID, params) (*BetaManagedAgentsFileResource, error)`

**POST** `/v1/sessions/{session_id}/resources`

Add Session Resource

#### Parameters

- `sessionID string` (path parameter)

- `params BetaSessionResourceAddParams`

  - `BetaManagedAgentsFileResourceParams BetaManagedAgentsFileResourceParams`

    Request parameters for adding a resource to a session.

  - `Betas []AnthropicBeta Optional` (header parameter)

    This endpoint is in beta: requests must send `managed-agents-2026-04-01` in this header.

    - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"`

    - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"`

    - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"`

    - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"`

    - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"`

    - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"`

    - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"`

    - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"`

    - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"`

    - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"`

    - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"`

    - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"`

    - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"`

    - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"`

    - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"`

    - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"`

    - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"`

    - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"`

    - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"`

    - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"`

    - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"`

    - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"`

    - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"`

    - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"`

    - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"`

    - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"`

    - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"`

    - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"`

    - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"`

    - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"`

    - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"`

    - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"`

    - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"`

    - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"`

    - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"`

    - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"`

    - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"`

    - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"`

    - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"`

    - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"`

    - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"`

    - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"`

    - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"`

    - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"`

    - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"`

    - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"`

    - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"`

    - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"`

    - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"`

  - `WorkspaceID param.Opt[string] Optional` (header parameter)

    Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).

    Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

#### Returns

- `type BetaManagedAgentsFileResource`

  - `Type BetaManagedAgentsFileResourceType`

  - `ID string`

  - `CreatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

  - `FileID string`

  - `MountPath string`

  - `UpdatedAt Time`

    A timestamp in RFC 3339 format

    format: date-time

#### Example

```go
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	betaManagedAgentsFileResource, err := client.Beta.Sessions.Resources.Add(
		context.TODO(),
		"sesn_011CZkZAtmR3yMPDzynEDxu7",
		anthropic.BetaSessionResourceAddParams{
			BetaManagedAgentsFileResourceParams: anthropic.BetaManagedAgentsFileResourceParams{
				FileID: "file_011CNha8iCJcU1wXNR6q4V8w",
				Type:   anthropic.BetaManagedAgentsFileResourceParamsTypeFile,
			},
		},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", betaManagedAgentsFileResource.ID)
}
```

##### Response (200)

```json
{
  "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
  "created_at": "2026-03-15T10:00:00Z",
  "file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
  "mount_path": "/uploads/receipt.pdf",
  "type": "file",
  "updated_at": "2026-03-15T10:00:00Z"
}
```

### List Session Resources

`client.Beta.Sessions.Resources.List(ctx, sessionID, params) (*PageCursor[BetaManagedAgentsSessionResourceUnion], error)`

**GET** `/v1/sessions/{session_id}/resources`

List Session Resources

#### Parameters

- `sessionID string` (path parameter)

- `params BetaSessionResourceListParams`

  - `Limit param.Opt[int64] Optional` (query parameter)

    Maximum number of resources to return per page (max 1000). If omitted, returns all resources.

    format: int32

  - `Page param.Opt[string] Optional` (query parameter)

    Opaque cursor from a previous response's `next_page` field.

  - `Betas []AnthropicBeta Optional` (header parameter)

    This endpoint is in beta: requests must send `managed-agents-2026-04-01` in this header.

    - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"`

    - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"`

    - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"`

    - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"`

    - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"`

    - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"`

    - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"`

    - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"`

    - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"`

    - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"`

    - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"`

    - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"`

    - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"`

    - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"`

    - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"`

    - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"`

    - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"`

    - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"`

    - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"`

    - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"`

    - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"`

    - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"`

    - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"`

    - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"`

    - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"`

    - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"`

    - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"`

    - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"`

    - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"`

    - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"`

    - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"`

    - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"`

    - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"`

    - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"`

    - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"`

    - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"`

    - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"`

    - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"`

    - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"`

    - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"`

    - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"`

    - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"`

    - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"`

    - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"`

    - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"`

    - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"`

    - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"`

    - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"`

    - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"`

  - `WorkspaceID param.Opt[string] Optional` (header parameter)

    Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).

    Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

#### Returns

- `type BetaManagedAgentsSessionResourceUnion interface{…}`

  - `type BetaManagedAgentsGitHubRepositoryResource`

    - `Type BetaManagedAgentsGitHubRepositoryResourceType`

    - `ID string`

    - `CreatedAt Time`

      A timestamp in RFC 3339 format

      format: date-time

    - `MountPath string`

    - `UpdatedAt Time`

      A timestamp in RFC 3339 format

      format: date-time

    - `URL string`

    - `Checkout BetaManagedAgentsGitHubRepositoryResourceCheckoutUnion Optional`

      - `type BetaManagedAgentsBranchCheckout`

        - `Type BetaManagedAgentsBranchCheckoutType`

        - `Name string`

          Branch name to check out.

          minLength: 1, maxLength: 255

      - `type BetaManagedAgentsCommitCheckout`

        - `Type BetaManagedAgentsCommitCheckoutType`

        - `Sha string`

          Full commit SHA to check out.

          minLength: 7, maxLength: 64

  - `type BetaManagedAgentsFileResource`

    - `Type BetaManagedAgentsFileResourceType`

    - `ID string`

    - `CreatedAt Time`

      A timestamp in RFC 3339 format

      format: date-time

    - `FileID string`

    - `MountPath string`

    - `UpdatedAt Time`

      A timestamp in RFC 3339 format

      format: date-time

  - `type BetaManagedAgentsMemoryStoreResource`

    A memory store attached to an agent session.

    - `Type BetaManagedAgentsMemoryStoreResourceType`

    - `MemoryStoreID string`

      The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

    - `Access BetaManagedAgentsMemoryStoreResourceAccess Optional`

      Access mode for the mounted store. Defaults to `read_write`. `read_only` mounts the store as a read-only filesystem.

      - `const BetaManagedAgentsMemoryStoreResourceAccessReadWrite BetaManagedAgentsMemoryStoreResourceAccess = "read_write"`

      - `const BetaManagedAgentsMemoryStoreResourceAccessReadOnly BetaManagedAgentsMemoryStoreResourceAccess = "read_only"`

    - `Description string Optional`

      Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

    - `Instructions string Optional`

      Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

      maxLength: 4096

    - `MountPath string Optional`

      Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

    - `Name string Optional`

      Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

#### Example

```go
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	page, err := client.Beta.Sessions.Resources.List(
		context.TODO(),
		"sesn_011CZkZAtmR3yMPDzynEDxu7",
		anthropic.BetaSessionResourceListParams{},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", page)
}
```

##### Response (200)

```json
{
  "data": [
    {
      "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
      "created_at": "2026-03-15T10:00:00Z",
      "file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
      "mount_path": "/uploads/receipt.pdf",
      "type": "file",
      "updated_at": "2026-03-15T10:00:00Z"
    },
    {
      "id": "sesrsc_011CZkZCKr6eXym1gWMPdQiu",
      "created_at": "2026-03-15T10:00:00Z",
      "mount_path": "/workspace/example-repo",
      "type": "github_repository",
      "updated_at": "2026-03-15T10:00:00Z",
      "url": "https://github.com/example-org/example-repo",
      "checkout": {
        "name": "main",
        "type": "branch"
      }
    }
  ],
  "next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}
```

### Get Session Resource

`client.Beta.Sessions.Resources.Get(ctx, resourceID, params) (*BetaSessionResourceGetResponseUnion, error)`

**GET** `/v1/sessions/{session_id}/resources/{resource_id}`

Get Session Resource

#### Parameters

- `resourceID string` (path parameter)

- `params BetaSessionResourceGetParams`

  - `SessionID string` (path parameter)

  - `Betas []AnthropicBeta Optional` (header parameter)

    This endpoint is in beta: requests must send `managed-agents-2026-04-01` in this header.

    - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"`

    - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"`

    - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"`

    - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"`

    - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"`

    - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"`

    - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"`

    - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"`

    - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"`

    - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"`

    - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"`

    - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"`

    - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"`

    - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"`

    - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"`

    - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"`

    - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"`

    - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"`

    - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"`

    - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"`

    - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"`

    - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"`

    - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"`

    - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"`

    - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"`

    - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"`

    - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"`

    - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"`

    - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"`

    - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"`

    - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"`

    - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"`

    - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"`

    - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"`

    - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"`

    - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"`

    - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"`

    - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"`

    - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"`

    - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"`

    - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"`

    - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"`

    - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"`

    - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"`

    - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"`

    - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"`

    - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"`

    - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"`

    - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"`

  - `WorkspaceID param.Opt[string] Optional` (header parameter)

    Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).

    Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

#### Returns

- `type BetaSessionResourceGetResponseUnion interface{…}`

  The requested session resource.

  - `type BetaManagedAgentsGitHubRepositoryResource`

    - `Type BetaManagedAgentsGitHubRepositoryResourceType`

    - `ID string`

    - `CreatedAt Time`

      A timestamp in RFC 3339 format

      format: date-time

    - `MountPath string`

    - `UpdatedAt Time`

      A timestamp in RFC 3339 format

      format: date-time

    - `URL string`

    - `Checkout BetaManagedAgentsGitHubRepositoryResourceCheckoutUnion Optional`

      - `type BetaManagedAgentsBranchCheckout`

        - `Type BetaManagedAgentsBranchCheckoutType`

        - `Name string`

          Branch name to check out.

          minLength: 1, maxLength: 255

      - `type BetaManagedAgentsCommitCheckout`

        - `Type BetaManagedAgentsCommitCheckoutType`

        - `Sha string`

          Full commit SHA to check out.

          minLength: 7, maxLength: 64

  - `type BetaManagedAgentsFileResource`

    - `Type BetaManagedAgentsFileResourceType`

    - `ID string`

    - `CreatedAt Time`

      A timestamp in RFC 3339 format

      format: date-time

    - `FileID string`

    - `MountPath string`

    - `UpdatedAt Time`

      A timestamp in RFC 3339 format

      format: date-time

  - `type BetaManagedAgentsMemoryStoreResource`

    A memory store attached to an agent session.

    - `Type BetaManagedAgentsMemoryStoreResourceType`

    - `MemoryStoreID string`

      The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

    - `Access BetaManagedAgentsMemoryStoreResourceAccess Optional`

      Access mode for the mounted store. Defaults to `read_write`. `read_only` mounts the store as a read-only filesystem.

      - `const BetaManagedAgentsMemoryStoreResourceAccessReadWrite BetaManagedAgentsMemoryStoreResourceAccess = "read_write"`

      - `const BetaManagedAgentsMemoryStoreResourceAccessReadOnly BetaManagedAgentsMemoryStoreResourceAccess = "read_only"`

    - `Description string Optional`

      Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

    - `Instructions string Optional`

      Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

      maxLength: 4096

    - `MountPath string Optional`

      Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

    - `Name string Optional`

      Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

#### Example

```go
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	resource, err := client.Beta.Sessions.Resources.Get(
		context.TODO(),
		"sesrsc_011CZkZBJq5dWxk9fVLNcPht",
		anthropic.BetaSessionResourceGetParams{
			SessionID: "sesn_011CZkZAtmR3yMPDzynEDxu7",
		},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", resource)
}
```

##### Response (200)

```json
{
  "id": "sesrsc_011CZkZCKr6eXym1gWMPdQiu",
  "created_at": "2026-03-15T10:00:00Z",
  "mount_path": "/workspace/example-repo",
  "type": "github_repository",
  "updated_at": "2026-03-15T10:00:00Z",
  "url": "https://github.com/example-org/example-repo",
  "checkout": {
    "name": "main",
    "type": "branch"
  }
}
```

### Update Session Resource

`client.Beta.Sessions.Resources.Update(ctx, resourceID, params) (*BetaSessionResourceUpdateResponseUnion, error)`

**POST** `/v1/sessions/{session_id}/resources/{resource_id}`

Update Session Resource

#### Parameters

- `resourceID string` (path parameter)

- `params BetaSessionResourceUpdateParams`

  - `SessionID string` (path parameter)

  - `AuthorizationToken string`

    New authorization token for the resource. Currently only `github_repository` resources support token rotation.

    minLength: 1, maxLength: 4096

  - `Betas []AnthropicBeta Optional` (header parameter)

    This endpoint is in beta: requests must send `managed-agents-2026-04-01` in this header.

    - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"`

    - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"`

    - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"`

    - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"`

    - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"`

    - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"`

    - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"`

    - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"`

    - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"`

    - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"`

    - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"`

    - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"`

    - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"`

    - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"`

    - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"`

    - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"`

    - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"`

    - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"`

    - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"`

    - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"`

    - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"`

    - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"`

    - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"`

    - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"`

    - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"`

    - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"`

    - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"`

    - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"`

    - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"`

    - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"`

    - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"`

    - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"`

    - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"`

    - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"`

    - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"`

    - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"`

    - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"`

    - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"`

    - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"`

    - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"`

    - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"`

    - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"`

    - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"`

    - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"`

    - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"`

    - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"`

    - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"`

    - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"`

    - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"`

  - `WorkspaceID param.Opt[string] Optional` (header parameter)

    Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).

    Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

#### Returns

- `type BetaSessionResourceUpdateResponseUnion interface{…}`

  The updated session resource.

  - `type BetaManagedAgentsGitHubRepositoryResource`

    - `Type BetaManagedAgentsGitHubRepositoryResourceType`

    - `ID string`

    - `CreatedAt Time`

      A timestamp in RFC 3339 format

      format: date-time

    - `MountPath string`

    - `UpdatedAt Time`

      A timestamp in RFC 3339 format

      format: date-time

    - `URL string`

    - `Checkout BetaManagedAgentsGitHubRepositoryResourceCheckoutUnion Optional`

      - `type BetaManagedAgentsBranchCheckout`

        - `Type BetaManagedAgentsBranchCheckoutType`

        - `Name string`

          Branch name to check out.

          minLength: 1, maxLength: 255

      - `type BetaManagedAgentsCommitCheckout`

        - `Type BetaManagedAgentsCommitCheckoutType`

        - `Sha string`

          Full commit SHA to check out.

          minLength: 7, maxLength: 64

  - `type BetaManagedAgentsFileResource`

    - `Type BetaManagedAgentsFileResourceType`

    - `ID string`

    - `CreatedAt Time`

      A timestamp in RFC 3339 format

      format: date-time

    - `FileID string`

    - `MountPath string`

    - `UpdatedAt Time`

      A timestamp in RFC 3339 format

      format: date-time

  - `type BetaManagedAgentsMemoryStoreResource`

    A memory store attached to an agent session.

    - `Type BetaManagedAgentsMemoryStoreResourceType`

    - `MemoryStoreID string`

      The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

    - `Access BetaManagedAgentsMemoryStoreResourceAccess Optional`

      Access mode for the mounted store. Defaults to `read_write`. `read_only` mounts the store as a read-only filesystem.

      - `const BetaManagedAgentsMemoryStoreResourceAccessReadWrite BetaManagedAgentsMemoryStoreResourceAccess = "read_write"`

      - `const BetaManagedAgentsMemoryStoreResourceAccessReadOnly BetaManagedAgentsMemoryStoreResourceAccess = "read_only"`

    - `Description string Optional`

      Description of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.

    - `Instructions string Optional`

      Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

      maxLength: 4096

    - `MountPath string Optional`

      Filesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.

    - `Name string Optional`

      Display name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.

#### Example

```go
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	resource, err := client.Beta.Sessions.Resources.Update(
		context.TODO(),
		"sesrsc_011CZkZBJq5dWxk9fVLNcPht",
		anthropic.BetaSessionResourceUpdateParams{
			SessionID:          "sesn_011CZkZAtmR3yMPDzynEDxu7",
			AuthorizationToken: "ghp_exampletoken",
		},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", resource)
}
```

##### Response (200)

```json
{
  "id": "sesrsc_011CZkZCKr6eXym1gWMPdQiu",
  "created_at": "2026-03-15T10:00:00Z",
  "mount_path": "/workspace/example-repo",
  "type": "github_repository",
  "updated_at": "2026-03-15T10:00:00Z",
  "url": "https://github.com/example-org/example-repo",
  "checkout": {
    "name": "main",
    "type": "branch"
  }
}
```

### Delete Session Resource

`client.Beta.Sessions.Resources.Delete(ctx, resourceID, params) (*BetaManagedAgentsDeleteSessionResource, error)`

**DELETE** `/v1/sessions/{session_id}/resources/{resource_id}`

Delete Session Resource

#### Parameters

- `resourceID string` (path parameter)

- `params BetaSessionResourceDeleteParams`

  - `SessionID string` (path parameter)

  - `Betas []AnthropicBeta Optional` (header parameter)

    This endpoint is in beta: requests must send `managed-agents-2026-04-01` in this header.

    - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"`

    - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"`

    - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"`

    - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"`

    - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"`

    - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"`

    - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"`

    - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"`

    - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"`

    - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"`

    - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"`

    - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"`

    - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"`

    - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"`

    - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"`

    - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"`

    - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"`

    - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"`

    - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"`

    - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"`

    - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"`

    - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"`

    - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"`

    - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"`

    - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"`

    - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"`

    - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"`

    - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"`

    - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"`

    - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"`

    - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"`

    - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"`

    - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"`

    - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"`

    - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"`

    - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"`

    - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"`

    - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"`

    - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"`

    - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"`

    - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"`

    - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"`

    - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"`

    - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"`

    - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"`

    - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"`

    - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"`

    - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"`

    - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"`

  - `WorkspaceID param.Opt[string] Optional` (header parameter)

    Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).

    Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

#### Returns

- `type BetaManagedAgentsDeleteSessionResource`

  Confirmation of resource deletion.

  - `Type BetaManagedAgentsDeleteSessionResourceType`

  - `ID string`

#### Example

```go
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	betaManagedAgentsDeleteSessionResource, err := client.Beta.Sessions.Resources.Delete(
		context.TODO(),
		"sesrsc_011CZkZBJq5dWxk9fVLNcPht",
		anthropic.BetaSessionResourceDeleteParams{
			SessionID: "sesn_011CZkZAtmR3yMPDzynEDxu7",
		},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", betaManagedAgentsDeleteSessionResource.ID)
}
```

##### Response (200)

```json
{
  "id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
  "type": "session_resource_deleted"
}
```

## Sessions › Threads

### List Session Threads

`client.Beta.Sessions.Threads.List(ctx, sessionID, params) (*PageCursor[BetaManagedAgentsSessionThread], error)`

**GET** `/v1/sessions/{session_id}/threads`

List Session Threads

#### Parameters

- `sessionID string` (path parameter)

- `params BetaSessionThreadListParams`

  - `Limit param.Opt[int64] Optional` (query parameter)

    Maximum results per page. Defaults to 1000.

    format: int32

  - `Page param.Opt[string] Optional` (query parameter)

    Opaque pagination cursor from a previous response's `next_page`. Forward-only.

  - `Statuses []BetaManagedAgentsSessionThreadStatus Optional` (query parameter)

    Return only threads that have one of these statuses.

    Repeat the parameter to give more than one status. Leave it out to return threads of every status.

    - `const BetaManagedAgentsSessionThreadStatusRunning BetaManagedAgentsSessionThreadStatus = "running"`

    - `const BetaManagedAgentsSessionThreadStatusIdle BetaManagedAgentsSessionThreadStatus = "idle"`

    - `const BetaManagedAgentsSessionThreadStatusRescheduling BetaManagedAgentsSessionThreadStatus = "rescheduling"`

    - `const BetaManagedAgentsSessionThreadStatusTerminated BetaManagedAgentsSessionThreadStatus = "terminated"`

  - `Betas []AnthropicBeta Optional` (header parameter)

    This endpoint is in beta: requests must send `managed-agents-2026-04-01` in this header.

    - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"`

    - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"`

    - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"`

    - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"`

    - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"`

    - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"`

    - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"`

    - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"`

    - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"`

    - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"`

    - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"`

    - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"`

    - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"`

    - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"`

    - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"`

    - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"`

    - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"`

    - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"`

    - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"`

    - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"`

    - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"`

    - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"`

    - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"`

    - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"`

    - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"`

    - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"`

    - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"`

    - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"`

    - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"`

    - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"`

    - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"`

    - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"`

    - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"`

    - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"`

    - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"`

    - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"`

    - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"`

    - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"`

    - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"`

    - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"`

    - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"`

    - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"`

    - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"`

    - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"`

    - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"`

    - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"`

    - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"`

    - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"`

    - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"`

  - `WorkspaceID param.Opt[string] Optional` (header parameter)

    Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).

    Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

#### Returns

- `type BetaManagedAgentsSessionThread`

  An execution thread within a `session`. Each session has one primary thread plus zero or more child threads.

  - `Type BetaManagedAgentsSessionThreadType`

  - `ID string`

    Unique identifier for this thread.

  - `Agent BetaManagedAgentsSessionThreadAgentUnion`

    Resolved agent definition for this thread. Snapshot of the agent at thread creation time.

    - `type 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`.

      - `Type BetaManagedAgentsSessionThreadAgentType`

      - `ID string`

      - `Description string`

      - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

        Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

        - `type BetaManagedAgentsAWSRoleExecutionIdentity`

          An AWS IAM role principal as returned in API responses.

          - `Type AWSRole`

          - `RoleARN string`

            The IAM role's ARN.

        - `type BetaManagedAgentsServiceAccountExecutionIdentity`

          The Anthropic-managed service account as returned in API responses.

          - `Type ServiceAccount`

      - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

        - `Type BetaManagedAgentsMCPServerURLDefinitionType`

        - `Name string`

        - `URL string`

      - `Model BetaManagedAgentsModelConfig`

        Model identifier and configuration.

        - `ID BetaManagedAgentsModel`

          The model that will power your agent.

          See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

          - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

            Fastest model for high-volume, real-time tasks

          - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

            Powerful intelligence for coding, knowledge work, and long-running agents

          - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

            Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

          - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

            Next generation of intelligence for the hardest knowledge work and coding problems

          - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

            Best combination of speed and intelligence

          - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

          - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

          - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

        - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

          How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

          - `type BetaManagedAgentsEffortLow`

            Low effort. Favors latency over reasoning depth.

            - `Type BetaManagedAgentsEffortLowType`

          - `type BetaManagedAgentsEffortMedium`

            Medium effort. Balances latency and reasoning depth.

            - `Type BetaManagedAgentsEffortMediumType`

          - `type BetaManagedAgentsEffortHigh`

            High effort. Favors reasoning depth.

            - `Type BetaManagedAgentsEffortHighType`

          - `type BetaManagedAgentsEffortXhigh`

            Extra-high effort. Not all models accept this level.

            - `Type BetaManagedAgentsEffortXhighType`

          - `type BetaManagedAgentsEffortMax`

            Maximum effort. Favors reasoning depth over latency.

            - `Type BetaManagedAgentsEffortMaxType`

        - `InferenceGeo string Optional`

          Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

        - `Speed BetaManagedAgentsModelConfigSpeed Optional`

          Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

          - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

          - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

      - `Name string`

      - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

        - `type BetaManagedAgentsAnthropicSkill`

          A resolved Anthropic-managed skill.

          - `Type BetaManagedAgentsAnthropicSkillType`

          - `SkillID string`

          - `Version string`

        - `type BetaManagedAgentsCustomSkill`

          A resolved user-created custom skill.

          - `Type BetaManagedAgentsCustomSkillType`

          - `SkillID string`

          - `Version string`

      - `System string`

      - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

        - `type BetaManagedAgentsAgentToolset20260401`

          - `Type BetaManagedAgentsAgentToolset20260401Type`

          - `Configs []BetaManagedAgentsAgentToolConfigUnion`

            - `type BetaManagedAgentsBashToolConfig`

              Configuration for the bash tool.

              - `Type Bash`

              - `Enabled bool`

              - `Name Bash`

              - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                  - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                  - `Type BetaManagedAgentsAlwaysAskPolicyType`

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `Type Auto`

            - `type BetaManagedAgentsEditToolConfig`

              Configuration for the edit tool.

              - `Type Edit`

              - `Enabled bool`

              - `Name Edit`

              - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsReadToolConfig`

              Configuration for the read tool.

              - `Type Read`

              - `Enabled bool`

              - `Name Read`

              - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsWriteToolConfig`

              Configuration for the write tool.

              - `Type Write`

              - `Enabled bool`

              - `Name Write`

              - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsGlobToolConfig`

              Configuration for the glob tool.

              - `Type Glob`

              - `Enabled bool`

              - `Name Glob`

              - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsGrepToolConfig`

              Configuration for the grep tool.

              - `Type Grep`

              - `Enabled bool`

              - `Name Grep`

              - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsWebFetchToolConfig`

              Configuration for the web_fetch tool.

              - `Type WebFetch`

              - `Enabled bool`

              - `Name WebFetch`

              - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `URLSources BetaManagedAgentsWebFetchURLSources`

                Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

                - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                  Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                  - `type BetaManagedAgentsWebFetchURLSourceAll`

                    Every URL from this source may be fetched. This is the default.

                    - `Type All`

                  - `type BetaManagedAgentsWebFetchURLSourceNone`

                    This source contributes no URLs that may be fetched.

                    - `Type None`

                  - `type BetaManagedAgentsWebFetchURLSourceOnly`

                    Only the named tools' results contribute URLs that may be fetched.

                    - `Type Only`

                    - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                      The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                      - `Type ToolReference`

                        Must be "tool_reference".

                      - `Name string`

                        Name of the tool. Compared exactly, so upper and lower case letters are different.

                        minLength: 1, maxLength: 128

                  - `type BetaManagedAgentsWebFetchURLSourceExcept`

                    Every tool's results contribute URLs that may be fetched, except the named tools' results.

                    - `Type Except`

                    - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                      The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                      - `Type ToolReference`

                        Must be "tool_reference".

                      - `Name string`

                        Name of the tool. Compared exactly, so upper and lower case letters are different.

                        minLength: 1, maxLength: 128

                - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                  Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

                - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                  Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                  - `type BetaManagedAgentsWebFetchURLSourceAll`

                    Every URL from this source may be fetched. This is the default.

                  - `type BetaManagedAgentsWebFetchURLSourceNone`

                    This source contributes no URLs that may be fetched.

              - `AllowedDomains []string Optional`

              - `BlockedDomains []string Optional`

              - `MaxContentTokens int64 Optional`

                format: int32

            - `type BetaManagedAgentsWebSearchToolConfig`

              Configuration for the web_search tool.

              - `Type WebSearch`

              - `Enabled bool`

              - `Name WebSearch`

              - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `AllowedDomains []string Optional`

              - `BlockedDomains []string Optional`

              - `UserLocation BetaManagedAgentsUserLocation Optional`

                Approximate user location for search result localization.

                - `Type Approximate`

                  Location precision. Only "approximate" is supported.

                - `City string Optional`

                  City name.

                  minLength: 1, maxLength: 255

                - `Country string Optional`

                  Two-letter ISO 3166-1 country code, uppercase.

                - `Region string Optional`

                  Region or state name.

                  minLength: 1, maxLength: 255

                - `Timezone string Optional`

                  IANA timezone identifier, e.g. "America/Los_Angeles".

                  minLength: 1, maxLength: 255

          - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

            Resolved default configuration for agent tools.

            - `Enabled bool`

            - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsMCPToolset`

          - `Type BetaManagedAgentsMCPToolsetType`

          - `Configs []BetaManagedAgentsMCPToolConfig`

            - `Enabled bool`

            - `Name string`

            - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

            Resolved default configuration for all tools from an MCP server.

            - `Enabled bool`

            - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `MCPServerName string`

        - `type BetaManagedAgentsCustomTool`

          A custom tool as returned in API responses.

          - `Type BetaManagedAgentsCustomToolType`

          - `Description string`

          - `InputSchema BetaManagedAgentsCustomToolInputSchema`

            JSON Schema for custom tool input parameters.

            - `Type Object`

            - `Properties map[string, any] Optional`

            - `Required []string Optional`

          - `Name string`

      - `Version int64`

        format: int32

    - `type BetaManagedAgentsAdvisor`

      Platform advisor roster entry: a model the session's primary thread may consult mid-turn.

      - `Type BetaManagedAgentsAdvisorType`

      - `Model string`

        The advisor model id.

    - `type BetaManagedAgentsInlineAgent`

      An agent that has no Agent resource, and so no `id` or `version`. It is defined inline, in a workflow run's plan or when a session thread is spawned, and is not saved.

      - `Type Inline`

      - `Description string`

      - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

        The session's execution principal.

      - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

        - `Type BetaManagedAgentsMCPServerURLDefinitionType`

        - `Name string`

        - `URL string`

      - `Model BetaManagedAgentsModelConfig`

        Model identifier and configuration.

      - `Name string`

        The name that the agent's definition gave, or one that the server assigned.

      - `Skills []BetaManagedAgentsInlineAgentSkillUnion`

        - `type BetaManagedAgentsAnthropicSkill`

          A resolved Anthropic-managed skill.

        - `type BetaManagedAgentsCustomSkill`

          A resolved user-created custom skill.

      - `System string`

      - `Tools []BetaManagedAgentsInlineAgentToolUnion`

        - `type BetaManagedAgentsAgentToolset20260401`

        - `type BetaManagedAgentsMCPToolset`

        - `type BetaManagedAgentsCustomTool`

          A custom tool as returned in API responses.

  - `ArchivedAt Time`

    When the thread was archived. Null if not archived.

    format: date-time

  - `CreatedAt Time`

    When the thread was created.

    format: date-time

  - `ParentThreadID string`

    Parent thread that spawned this thread. Null for the primary thread.

  - `SessionID string`

    The session this thread belongs to.

  - `Stats BetaManagedAgentsSessionThreadStats`

    Timing statistics for this thread. Null until the thread's first status transition.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds the thread spent actively running. Excludes idle time.

      format: double

    - `DurationSeconds float64 Optional`

      Elapsed time since thread creation in seconds. For archived threads, frozen at the final update.

      format: double

    - `StartupSeconds float64 Optional`

      Time in seconds for the thread to begin running. Zero for child threads, which start immediately.

      format: double

  - `Status BetaManagedAgentsSessionThreadStatus`

    Current execution status of the thread.

    - `const BetaManagedAgentsSessionThreadStatusRunning BetaManagedAgentsSessionThreadStatus = "running"`

    - `const BetaManagedAgentsSessionThreadStatusIdle BetaManagedAgentsSessionThreadStatus = "idle"`

    - `const BetaManagedAgentsSessionThreadStatusRescheduling BetaManagedAgentsSessionThreadStatus = "rescheduling"`

    - `const BetaManagedAgentsSessionThreadStatusTerminated BetaManagedAgentsSessionThreadStatus = "terminated"`

  - `UpdatedAt Time`

    When the thread was last updated.

    format: date-time

  - `Usage BetaManagedAgentsSessionThreadUsage`

    Cumulative token usage for this thread. Null until the thread's first idle transition.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds this thread spent in running status. Equal to `stats.active_seconds`; surfaced here so a thread's usage carries every quantity its cost is priced on.

      format: double

    - `CacheCreation BetaManagedAgentsCacheCreationUsage Optional`

      Tokens used to create prompt cache entries, broken down by cache TTL.

      - `Ephemeral1hInputTokens int64 Optional`

        Tokens used to create 1-hour ephemeral cache entries.

        format: int32

      - `Ephemeral5mInputTokens int64 Optional`

        Tokens used to create 5-minute ephemeral cache entries.

        format: int32

    - `CacheReadInputTokens int64 Optional`

      Total tokens read from prompt cache.

      format: int32

    - `InputTokens int64 Optional`

      Total input tokens consumed across all turns.

      format: int32

    - `ListCost BetaMonetaryAmount Optional`

      Cumulative list cost of this thread across all turns, priced at public list rates. Absent until cost tracking is available for the thread. Each figure is rounded to the nearest cent independently and the session's aggregate `usage.list_cost` additionally includes session runtime, so per-thread costs do not sum exactly to the session figure; the session figure is authoritative and is what a budget is enforced against.

      - `Amount string`

        Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

      - `Currency BetaCurrency`

        Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

    - `OutputTokens int64 Optional`

      Total output tokens generated across all turns.

      format: int32

    - `ServerToolUse BetaManagedAgentsServerToolUsage Optional`

      Cumulative server-executed tool usage across all turns of this thread. Absent until server-tool tracking is available for the thread.

      - `WebFetchRequests int64 Optional`

        Number of server-executed web fetch requests.

        format: int32

      - `WebSearchRequests int64 Optional`

        Number of server-executed web search requests.

        format: int32

  - `WorkflowRunID string`

    Identifier of the workflow run that created the thread, or `null` for any other thread.

#### Example

```go
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	page, err := client.Beta.Sessions.Threads.List(
		context.TODO(),
		"sesn_011CZkZAtmR3yMPDzynEDxu7",
		anthropic.BetaSessionThreadListParams{},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", page)
}
```

##### Response (200)

```json
{
  "data": [
    {
      "id": "sthr_011CZkZVWa6oJjw1rgXZpnBt",
      "agent": {
        "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
        "description": "A focused research subagent.",
        "execution_identity": {
          "type": "service_account"
        },
        "mcp_servers": [
          {
            "name": "example-mcp",
            "type": "url",
            "url": "https://example-server.modelcontextprotocol.io/sse"
          }
        ],
        "model": {
          "id": "claude-opus-5-5",
          "effort": {
            "type": "low"
          },
          "inference_geo": "inference_geo",
          "speed": "standard"
        },
        "name": "Researcher",
        "skills": [
          {
            "skill_id": "xlsx",
            "type": "anthropic",
            "version": "1"
          }
        ],
        "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
        "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",
        "version": 1
      },
      "archived_at": null,
      "created_at": "2026-03-15T10:00:00Z",
      "parent_thread_id": null,
      "session_id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
      "stats": {
        "active_seconds": 0,
        "duration_seconds": 0,
        "startup_seconds": 0
      },
      "status": "idle",
      "type": "session_thread",
      "updated_at": "2026-03-15T10:00:00Z",
      "usage": {
        "active_seconds": 0,
        "cache_creation": {
          "ephemeral_1h_input_tokens": 0,
          "ephemeral_5m_input_tokens": 0
        },
        "cache_read_input_tokens": 0,
        "input_tokens": 0,
        "list_cost": {
          "amount": "2500",
          "currency": "USD"
        },
        "output_tokens": 0,
        "server_tool_use": {
          "web_fetch_requests": 0,
          "web_search_requests": 3
        }
      },
      "workflow_run_id": null
    }
  ],
  "next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}
```

### Get Session Thread

`client.Beta.Sessions.Threads.Get(ctx, threadID, params) (*BetaManagedAgentsSessionThread, error)`

**GET** `/v1/sessions/{session_id}/threads/{thread_id}`

Get Session Thread

#### Parameters

- `threadID string` (path parameter)

- `params BetaSessionThreadGetParams`

  - `SessionID string` (path parameter)

  - `Betas []AnthropicBeta Optional` (header parameter)

    This endpoint is in beta: requests must send `managed-agents-2026-04-01` in this header.

    - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"`

    - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"`

    - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"`

    - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"`

    - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"`

    - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"`

    - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"`

    - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"`

    - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"`

    - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"`

    - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"`

    - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"`

    - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"`

    - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"`

    - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"`

    - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"`

    - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"`

    - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"`

    - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"`

    - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"`

    - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"`

    - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"`

    - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"`

    - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"`

    - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"`

    - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"`

    - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"`

    - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"`

    - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"`

    - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"`

    - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"`

    - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"`

    - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"`

    - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"`

    - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"`

    - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"`

    - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"`

    - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"`

    - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"`

    - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"`

    - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"`

    - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"`

    - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"`

    - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"`

    - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"`

    - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"`

    - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"`

    - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"`

    - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"`

  - `WorkspaceID param.Opt[string] Optional` (header parameter)

    Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).

    Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

#### Returns

- `type BetaManagedAgentsSessionThread`

  An execution thread within a `session`. Each session has one primary thread plus zero or more child threads.

  - `Type BetaManagedAgentsSessionThreadType`

  - `ID string`

    Unique identifier for this thread.

  - `Agent BetaManagedAgentsSessionThreadAgentUnion`

    Resolved agent definition for this thread. Snapshot of the agent at thread creation time.

    - `type 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`.

      - `Type BetaManagedAgentsSessionThreadAgentType`

      - `ID string`

      - `Description string`

      - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

        Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

        - `type BetaManagedAgentsAWSRoleExecutionIdentity`

          An AWS IAM role principal as returned in API responses.

          - `Type AWSRole`

          - `RoleARN string`

            The IAM role's ARN.

        - `type BetaManagedAgentsServiceAccountExecutionIdentity`

          The Anthropic-managed service account as returned in API responses.

          - `Type ServiceAccount`

      - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

        - `Type BetaManagedAgentsMCPServerURLDefinitionType`

        - `Name string`

        - `URL string`

      - `Model BetaManagedAgentsModelConfig`

        Model identifier and configuration.

        - `ID BetaManagedAgentsModel`

          The model that will power your agent.

          See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

          - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

            Fastest model for high-volume, real-time tasks

          - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

            Powerful intelligence for coding, knowledge work, and long-running agents

          - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

            Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

          - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

            Next generation of intelligence for the hardest knowledge work and coding problems

          - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

            Best combination of speed and intelligence

          - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

          - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

          - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

        - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

          How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

          - `type BetaManagedAgentsEffortLow`

            Low effort. Favors latency over reasoning depth.

            - `Type BetaManagedAgentsEffortLowType`

          - `type BetaManagedAgentsEffortMedium`

            Medium effort. Balances latency and reasoning depth.

            - `Type BetaManagedAgentsEffortMediumType`

          - `type BetaManagedAgentsEffortHigh`

            High effort. Favors reasoning depth.

            - `Type BetaManagedAgentsEffortHighType`

          - `type BetaManagedAgentsEffortXhigh`

            Extra-high effort. Not all models accept this level.

            - `Type BetaManagedAgentsEffortXhighType`

          - `type BetaManagedAgentsEffortMax`

            Maximum effort. Favors reasoning depth over latency.

            - `Type BetaManagedAgentsEffortMaxType`

        - `InferenceGeo string Optional`

          Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

        - `Speed BetaManagedAgentsModelConfigSpeed Optional`

          Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

          - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

          - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

      - `Name string`

      - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

        - `type BetaManagedAgentsAnthropicSkill`

          A resolved Anthropic-managed skill.

          - `Type BetaManagedAgentsAnthropicSkillType`

          - `SkillID string`

          - `Version string`

        - `type BetaManagedAgentsCustomSkill`

          A resolved user-created custom skill.

          - `Type BetaManagedAgentsCustomSkillType`

          - `SkillID string`

          - `Version string`

      - `System string`

      - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

        - `type BetaManagedAgentsAgentToolset20260401`

          - `Type BetaManagedAgentsAgentToolset20260401Type`

          - `Configs []BetaManagedAgentsAgentToolConfigUnion`

            - `type BetaManagedAgentsBashToolConfig`

              Configuration for the bash tool.

              - `Type Bash`

              - `Enabled bool`

              - `Name Bash`

              - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                  - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                  - `Type BetaManagedAgentsAlwaysAskPolicyType`

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `Type Auto`

            - `type BetaManagedAgentsEditToolConfig`

              Configuration for the edit tool.

              - `Type Edit`

              - `Enabled bool`

              - `Name Edit`

              - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsReadToolConfig`

              Configuration for the read tool.

              - `Type Read`

              - `Enabled bool`

              - `Name Read`

              - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsWriteToolConfig`

              Configuration for the write tool.

              - `Type Write`

              - `Enabled bool`

              - `Name Write`

              - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsGlobToolConfig`

              Configuration for the glob tool.

              - `Type Glob`

              - `Enabled bool`

              - `Name Glob`

              - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsGrepToolConfig`

              Configuration for the grep tool.

              - `Type Grep`

              - `Enabled bool`

              - `Name Grep`

              - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsWebFetchToolConfig`

              Configuration for the web_fetch tool.

              - `Type WebFetch`

              - `Enabled bool`

              - `Name WebFetch`

              - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `URLSources BetaManagedAgentsWebFetchURLSources`

                Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

                - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                  Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                  - `type BetaManagedAgentsWebFetchURLSourceAll`

                    Every URL from this source may be fetched. This is the default.

                    - `Type All`

                  - `type BetaManagedAgentsWebFetchURLSourceNone`

                    This source contributes no URLs that may be fetched.

                    - `Type None`

                  - `type BetaManagedAgentsWebFetchURLSourceOnly`

                    Only the named tools' results contribute URLs that may be fetched.

                    - `Type Only`

                    - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                      The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                      - `Type ToolReference`

                        Must be "tool_reference".

                      - `Name string`

                        Name of the tool. Compared exactly, so upper and lower case letters are different.

                        minLength: 1, maxLength: 128

                  - `type BetaManagedAgentsWebFetchURLSourceExcept`

                    Every tool's results contribute URLs that may be fetched, except the named tools' results.

                    - `Type Except`

                    - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                      The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                      - `Type ToolReference`

                        Must be "tool_reference".

                      - `Name string`

                        Name of the tool. Compared exactly, so upper and lower case letters are different.

                        minLength: 1, maxLength: 128

                - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                  Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

                - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                  Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                  - `type BetaManagedAgentsWebFetchURLSourceAll`

                    Every URL from this source may be fetched. This is the default.

                  - `type BetaManagedAgentsWebFetchURLSourceNone`

                    This source contributes no URLs that may be fetched.

              - `AllowedDomains []string Optional`

              - `BlockedDomains []string Optional`

              - `MaxContentTokens int64 Optional`

                format: int32

            - `type BetaManagedAgentsWebSearchToolConfig`

              Configuration for the web_search tool.

              - `Type WebSearch`

              - `Enabled bool`

              - `Name WebSearch`

              - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `AllowedDomains []string Optional`

              - `BlockedDomains []string Optional`

              - `UserLocation BetaManagedAgentsUserLocation Optional`

                Approximate user location for search result localization.

                - `Type Approximate`

                  Location precision. Only "approximate" is supported.

                - `City string Optional`

                  City name.

                  minLength: 1, maxLength: 255

                - `Country string Optional`

                  Two-letter ISO 3166-1 country code, uppercase.

                - `Region string Optional`

                  Region or state name.

                  minLength: 1, maxLength: 255

                - `Timezone string Optional`

                  IANA timezone identifier, e.g. "America/Los_Angeles".

                  minLength: 1, maxLength: 255

          - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

            Resolved default configuration for agent tools.

            - `Enabled bool`

            - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsMCPToolset`

          - `Type BetaManagedAgentsMCPToolsetType`

          - `Configs []BetaManagedAgentsMCPToolConfig`

            - `Enabled bool`

            - `Name string`

            - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

            Resolved default configuration for all tools from an MCP server.

            - `Enabled bool`

            - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `MCPServerName string`

        - `type BetaManagedAgentsCustomTool`

          A custom tool as returned in API responses.

          - `Type BetaManagedAgentsCustomToolType`

          - `Description string`

          - `InputSchema BetaManagedAgentsCustomToolInputSchema`

            JSON Schema for custom tool input parameters.

            - `Type Object`

            - `Properties map[string, any] Optional`

            - `Required []string Optional`

          - `Name string`

      - `Version int64`

        format: int32

    - `type BetaManagedAgentsAdvisor`

      Platform advisor roster entry: a model the session's primary thread may consult mid-turn.

      - `Type BetaManagedAgentsAdvisorType`

      - `Model string`

        The advisor model id.

    - `type BetaManagedAgentsInlineAgent`

      An agent that has no Agent resource, and so no `id` or `version`. It is defined inline, in a workflow run's plan or when a session thread is spawned, and is not saved.

      - `Type Inline`

      - `Description string`

      - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

        The session's execution principal.

      - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

        - `Type BetaManagedAgentsMCPServerURLDefinitionType`

        - `Name string`

        - `URL string`

      - `Model BetaManagedAgentsModelConfig`

        Model identifier and configuration.

      - `Name string`

        The name that the agent's definition gave, or one that the server assigned.

      - `Skills []BetaManagedAgentsInlineAgentSkillUnion`

        - `type BetaManagedAgentsAnthropicSkill`

          A resolved Anthropic-managed skill.

        - `type BetaManagedAgentsCustomSkill`

          A resolved user-created custom skill.

      - `System string`

      - `Tools []BetaManagedAgentsInlineAgentToolUnion`

        - `type BetaManagedAgentsAgentToolset20260401`

        - `type BetaManagedAgentsMCPToolset`

        - `type BetaManagedAgentsCustomTool`

          A custom tool as returned in API responses.

  - `ArchivedAt Time`

    When the thread was archived. Null if not archived.

    format: date-time

  - `CreatedAt Time`

    When the thread was created.

    format: date-time

  - `ParentThreadID string`

    Parent thread that spawned this thread. Null for the primary thread.

  - `SessionID string`

    The session this thread belongs to.

  - `Stats BetaManagedAgentsSessionThreadStats`

    Timing statistics for this thread. Null until the thread's first status transition.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds the thread spent actively running. Excludes idle time.

      format: double

    - `DurationSeconds float64 Optional`

      Elapsed time since thread creation in seconds. For archived threads, frozen at the final update.

      format: double

    - `StartupSeconds float64 Optional`

      Time in seconds for the thread to begin running. Zero for child threads, which start immediately.

      format: double

  - `Status BetaManagedAgentsSessionThreadStatus`

    Current execution status of the thread.

    - `const BetaManagedAgentsSessionThreadStatusRunning BetaManagedAgentsSessionThreadStatus = "running"`

    - `const BetaManagedAgentsSessionThreadStatusIdle BetaManagedAgentsSessionThreadStatus = "idle"`

    - `const BetaManagedAgentsSessionThreadStatusRescheduling BetaManagedAgentsSessionThreadStatus = "rescheduling"`

    - `const BetaManagedAgentsSessionThreadStatusTerminated BetaManagedAgentsSessionThreadStatus = "terminated"`

  - `UpdatedAt Time`

    When the thread was last updated.

    format: date-time

  - `Usage BetaManagedAgentsSessionThreadUsage`

    Cumulative token usage for this thread. Null until the thread's first idle transition.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds this thread spent in running status. Equal to `stats.active_seconds`; surfaced here so a thread's usage carries every quantity its cost is priced on.

      format: double

    - `CacheCreation BetaManagedAgentsCacheCreationUsage Optional`

      Tokens used to create prompt cache entries, broken down by cache TTL.

      - `Ephemeral1hInputTokens int64 Optional`

        Tokens used to create 1-hour ephemeral cache entries.

        format: int32

      - `Ephemeral5mInputTokens int64 Optional`

        Tokens used to create 5-minute ephemeral cache entries.

        format: int32

    - `CacheReadInputTokens int64 Optional`

      Total tokens read from prompt cache.

      format: int32

    - `InputTokens int64 Optional`

      Total input tokens consumed across all turns.

      format: int32

    - `ListCost BetaMonetaryAmount Optional`

      Cumulative list cost of this thread across all turns, priced at public list rates. Absent until cost tracking is available for the thread. Each figure is rounded to the nearest cent independently and the session's aggregate `usage.list_cost` additionally includes session runtime, so per-thread costs do not sum exactly to the session figure; the session figure is authoritative and is what a budget is enforced against.

      - `Amount string`

        Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

      - `Currency BetaCurrency`

        Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

    - `OutputTokens int64 Optional`

      Total output tokens generated across all turns.

      format: int32

    - `ServerToolUse BetaManagedAgentsServerToolUsage Optional`

      Cumulative server-executed tool usage across all turns of this thread. Absent until server-tool tracking is available for the thread.

      - `WebFetchRequests int64 Optional`

        Number of server-executed web fetch requests.

        format: int32

      - `WebSearchRequests int64 Optional`

        Number of server-executed web search requests.

        format: int32

  - `WorkflowRunID string`

    Identifier of the workflow run that created the thread, or `null` for any other thread.

#### Example

```go
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	betaManagedAgentsSessionThread, err := client.Beta.Sessions.Threads.Get(
		context.TODO(),
		"sthr_011CZkZVWa6oJjw1rgXZpnBt",
		anthropic.BetaSessionThreadGetParams{
			SessionID: "sesn_011CZkZAtmR3yMPDzynEDxu7",
		},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", betaManagedAgentsSessionThread.ID)
}
```

##### Response (200)

```json
{
  "id": "sthr_011CZkZVWa6oJjw1rgXZpnBt",
  "agent": {
    "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
    "description": "A focused research subagent.",
    "execution_identity": {
      "type": "service_account"
    },
    "mcp_servers": [
      {
        "name": "example-mcp",
        "type": "url",
        "url": "https://example-server.modelcontextprotocol.io/sse"
      }
    ],
    "model": {
      "id": "claude-opus-5-5",
      "effort": {
        "type": "low"
      },
      "inference_geo": "inference_geo",
      "speed": "standard"
    },
    "name": "Researcher",
    "skills": [
      {
        "skill_id": "xlsx",
        "type": "anthropic",
        "version": "1"
      }
    ],
    "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
    "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",
    "version": 1
  },
  "archived_at": null,
  "created_at": "2026-03-15T10:00:00Z",
  "parent_thread_id": null,
  "session_id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
  "stats": {
    "active_seconds": 0,
    "duration_seconds": 0,
    "startup_seconds": 0
  },
  "status": "idle",
  "type": "session_thread",
  "updated_at": "2026-03-15T10:00:00Z",
  "usage": {
    "active_seconds": 0,
    "cache_creation": {
      "ephemeral_1h_input_tokens": 0,
      "ephemeral_5m_input_tokens": 0
    },
    "cache_read_input_tokens": 0,
    "input_tokens": 0,
    "list_cost": {
      "amount": "2500",
      "currency": "USD"
    },
    "output_tokens": 0,
    "server_tool_use": {
      "web_fetch_requests": 0,
      "web_search_requests": 3
    }
  },
  "workflow_run_id": null
}
```

### Archive Session Thread

`client.Beta.Sessions.Threads.Archive(ctx, threadID, params) (*BetaManagedAgentsSessionThread, error)`

**POST** `/v1/sessions/{session_id}/threads/{thread_id}/archive`

Archive Session Thread

#### Parameters

- `threadID string` (path parameter)

- `params BetaSessionThreadArchiveParams`

  - `SessionID string` (path parameter)

  - `Betas []AnthropicBeta Optional` (header parameter)

    This endpoint is in beta: requests must send `managed-agents-2026-04-01` in this header.

    - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"`

    - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"`

    - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"`

    - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"`

    - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"`

    - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"`

    - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"`

    - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"`

    - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"`

    - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"`

    - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"`

    - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"`

    - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"`

    - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"`

    - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"`

    - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"`

    - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"`

    - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"`

    - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"`

    - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"`

    - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"`

    - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"`

    - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"`

    - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"`

    - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"`

    - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"`

    - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"`

    - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"`

    - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"`

    - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"`

    - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"`

    - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"`

    - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"`

    - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"`

    - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"`

    - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"`

    - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"`

    - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"`

    - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"`

    - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"`

    - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"`

    - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"`

    - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"`

    - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"`

    - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"`

    - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"`

    - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"`

    - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"`

    - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"`

  - `WorkspaceID param.Opt[string] Optional` (header parameter)

    Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).

    Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

#### Returns

- `type BetaManagedAgentsSessionThread`

  An execution thread within a `session`. Each session has one primary thread plus zero or more child threads.

  - `Type BetaManagedAgentsSessionThreadType`

  - `ID string`

    Unique identifier for this thread.

  - `Agent BetaManagedAgentsSessionThreadAgentUnion`

    Resolved agent definition for this thread. Snapshot of the agent at thread creation time.

    - `type 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`.

      - `Type BetaManagedAgentsSessionThreadAgentType`

      - `ID string`

      - `Description string`

      - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

        Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

        - `type BetaManagedAgentsAWSRoleExecutionIdentity`

          An AWS IAM role principal as returned in API responses.

          - `Type AWSRole`

          - `RoleARN string`

            The IAM role's ARN.

        - `type BetaManagedAgentsServiceAccountExecutionIdentity`

          The Anthropic-managed service account as returned in API responses.

          - `Type ServiceAccount`

      - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

        - `Type BetaManagedAgentsMCPServerURLDefinitionType`

        - `Name string`

        - `URL string`

      - `Model BetaManagedAgentsModelConfig`

        Model identifier and configuration.

        - `ID BetaManagedAgentsModel`

          The model that will power your agent.

          See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

          - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

            Fastest model for high-volume, real-time tasks

          - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

            Powerful intelligence for coding, knowledge work, and long-running agents

          - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

            Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

          - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

            Next generation of intelligence for the hardest knowledge work and coding problems

          - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

            Best combination of speed and intelligence

          - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

          - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

          - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

        - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

          How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

          - `type BetaManagedAgentsEffortLow`

            Low effort. Favors latency over reasoning depth.

            - `Type BetaManagedAgentsEffortLowType`

          - `type BetaManagedAgentsEffortMedium`

            Medium effort. Balances latency and reasoning depth.

            - `Type BetaManagedAgentsEffortMediumType`

          - `type BetaManagedAgentsEffortHigh`

            High effort. Favors reasoning depth.

            - `Type BetaManagedAgentsEffortHighType`

          - `type BetaManagedAgentsEffortXhigh`

            Extra-high effort. Not all models accept this level.

            - `Type BetaManagedAgentsEffortXhighType`

          - `type BetaManagedAgentsEffortMax`

            Maximum effort. Favors reasoning depth over latency.

            - `Type BetaManagedAgentsEffortMaxType`

        - `InferenceGeo string Optional`

          Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

        - `Speed BetaManagedAgentsModelConfigSpeed Optional`

          Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

          - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

          - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

      - `Name string`

      - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

        - `type BetaManagedAgentsAnthropicSkill`

          A resolved Anthropic-managed skill.

          - `Type BetaManagedAgentsAnthropicSkillType`

          - `SkillID string`

          - `Version string`

        - `type BetaManagedAgentsCustomSkill`

          A resolved user-created custom skill.

          - `Type BetaManagedAgentsCustomSkillType`

          - `SkillID string`

          - `Version string`

      - `System string`

      - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

        - `type BetaManagedAgentsAgentToolset20260401`

          - `Type BetaManagedAgentsAgentToolset20260401Type`

          - `Configs []BetaManagedAgentsAgentToolConfigUnion`

            - `type BetaManagedAgentsBashToolConfig`

              Configuration for the bash tool.

              - `Type Bash`

              - `Enabled bool`

              - `Name Bash`

              - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                  - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                  - `Type BetaManagedAgentsAlwaysAskPolicyType`

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `Type Auto`

            - `type BetaManagedAgentsEditToolConfig`

              Configuration for the edit tool.

              - `Type Edit`

              - `Enabled bool`

              - `Name Edit`

              - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsReadToolConfig`

              Configuration for the read tool.

              - `Type Read`

              - `Enabled bool`

              - `Name Read`

              - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsWriteToolConfig`

              Configuration for the write tool.

              - `Type Write`

              - `Enabled bool`

              - `Name Write`

              - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsGlobToolConfig`

              Configuration for the glob tool.

              - `Type Glob`

              - `Enabled bool`

              - `Name Glob`

              - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsGrepToolConfig`

              Configuration for the grep tool.

              - `Type Grep`

              - `Enabled bool`

              - `Name Grep`

              - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

            - `type BetaManagedAgentsWebFetchToolConfig`

              Configuration for the web_fetch tool.

              - `Type WebFetch`

              - `Enabled bool`

              - `Name WebFetch`

              - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `URLSources BetaManagedAgentsWebFetchURLSources`

                Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

                - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                  Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                  - `type BetaManagedAgentsWebFetchURLSourceAll`

                    Every URL from this source may be fetched. This is the default.

                    - `Type All`

                  - `type BetaManagedAgentsWebFetchURLSourceNone`

                    This source contributes no URLs that may be fetched.

                    - `Type None`

                  - `type BetaManagedAgentsWebFetchURLSourceOnly`

                    Only the named tools' results contribute URLs that may be fetched.

                    - `Type Only`

                    - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                      The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                      - `Type ToolReference`

                        Must be "tool_reference".

                      - `Name string`

                        Name of the tool. Compared exactly, so upper and lower case letters are different.

                        minLength: 1, maxLength: 128

                  - `type BetaManagedAgentsWebFetchURLSourceExcept`

                    Every tool's results contribute URLs that may be fetched, except the named tools' results.

                    - `Type Except`

                    - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                      The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                      - `Type ToolReference`

                        Must be "tool_reference".

                      - `Name string`

                        Name of the tool. Compared exactly, so upper and lower case letters are different.

                        minLength: 1, maxLength: 128

                - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                  Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

                - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                  Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                  - `type BetaManagedAgentsWebFetchURLSourceAll`

                    Every URL from this source may be fetched. This is the default.

                  - `type BetaManagedAgentsWebFetchURLSourceNone`

                    This source contributes no URLs that may be fetched.

              - `AllowedDomains []string Optional`

              - `BlockedDomains []string Optional`

              - `MaxContentTokens int64 Optional`

                format: int32

            - `type BetaManagedAgentsWebSearchToolConfig`

              Configuration for the web_search tool.

              - `Type WebSearch`

              - `Enabled bool`

              - `Name WebSearch`

              - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                Permission policy for tool execution.

                - `type BetaManagedAgentsAlwaysAllowPolicy`

                  Tool calls are automatically approved without user confirmation.

                - `type BetaManagedAgentsAlwaysAskPolicy`

                  Tool calls require user confirmation before execution.

                - `type BetaManagedAgentsAutoPolicy`

                  The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

              - `AllowedDomains []string Optional`

              - `BlockedDomains []string Optional`

              - `UserLocation BetaManagedAgentsUserLocation Optional`

                Approximate user location for search result localization.

                - `Type Approximate`

                  Location precision. Only "approximate" is supported.

                - `City string Optional`

                  City name.

                  minLength: 1, maxLength: 255

                - `Country string Optional`

                  Two-letter ISO 3166-1 country code, uppercase.

                - `Region string Optional`

                  Region or state name.

                  minLength: 1, maxLength: 255

                - `Timezone string Optional`

                  IANA timezone identifier, e.g. "America/Los_Angeles".

                  minLength: 1, maxLength: 255

          - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

            Resolved default configuration for agent tools.

            - `Enabled bool`

            - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

        - `type BetaManagedAgentsMCPToolset`

          - `Type BetaManagedAgentsMCPToolsetType`

          - `Configs []BetaManagedAgentsMCPToolConfig`

            - `Enabled bool`

            - `Name string`

            - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

            Resolved default configuration for all tools from an MCP server.

            - `Enabled bool`

            - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

              Permission policy for tool execution.

              - `type BetaManagedAgentsAlwaysAllowPolicy`

                Tool calls are automatically approved without user confirmation.

              - `type BetaManagedAgentsAlwaysAskPolicy`

                Tool calls require user confirmation before execution.

              - `type BetaManagedAgentsAutoPolicy`

                The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

          - `MCPServerName string`

        - `type BetaManagedAgentsCustomTool`

          A custom tool as returned in API responses.

          - `Type BetaManagedAgentsCustomToolType`

          - `Description string`

          - `InputSchema BetaManagedAgentsCustomToolInputSchema`

            JSON Schema for custom tool input parameters.

            - `Type Object`

            - `Properties map[string, any] Optional`

            - `Required []string Optional`

          - `Name string`

      - `Version int64`

        format: int32

    - `type BetaManagedAgentsAdvisor`

      Platform advisor roster entry: a model the session's primary thread may consult mid-turn.

      - `Type BetaManagedAgentsAdvisorType`

      - `Model string`

        The advisor model id.

    - `type BetaManagedAgentsInlineAgent`

      An agent that has no Agent resource, and so no `id` or `version`. It is defined inline, in a workflow run's plan or when a session thread is spawned, and is not saved.

      - `Type Inline`

      - `Description string`

      - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

        The session's execution principal.

      - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

        - `Type BetaManagedAgentsMCPServerURLDefinitionType`

        - `Name string`

        - `URL string`

      - `Model BetaManagedAgentsModelConfig`

        Model identifier and configuration.

      - `Name string`

        The name that the agent's definition gave, or one that the server assigned.

      - `Skills []BetaManagedAgentsInlineAgentSkillUnion`

        - `type BetaManagedAgentsAnthropicSkill`

          A resolved Anthropic-managed skill.

        - `type BetaManagedAgentsCustomSkill`

          A resolved user-created custom skill.

      - `System string`

      - `Tools []BetaManagedAgentsInlineAgentToolUnion`

        - `type BetaManagedAgentsAgentToolset20260401`

        - `type BetaManagedAgentsMCPToolset`

        - `type BetaManagedAgentsCustomTool`

          A custom tool as returned in API responses.

  - `ArchivedAt Time`

    When the thread was archived. Null if not archived.

    format: date-time

  - `CreatedAt Time`

    When the thread was created.

    format: date-time

  - `ParentThreadID string`

    Parent thread that spawned this thread. Null for the primary thread.

  - `SessionID string`

    The session this thread belongs to.

  - `Stats BetaManagedAgentsSessionThreadStats`

    Timing statistics for this thread. Null until the thread's first status transition.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds the thread spent actively running. Excludes idle time.

      format: double

    - `DurationSeconds float64 Optional`

      Elapsed time since thread creation in seconds. For archived threads, frozen at the final update.

      format: double

    - `StartupSeconds float64 Optional`

      Time in seconds for the thread to begin running. Zero for child threads, which start immediately.

      format: double

  - `Status BetaManagedAgentsSessionThreadStatus`

    Current execution status of the thread.

    - `const BetaManagedAgentsSessionThreadStatusRunning BetaManagedAgentsSessionThreadStatus = "running"`

    - `const BetaManagedAgentsSessionThreadStatusIdle BetaManagedAgentsSessionThreadStatus = "idle"`

    - `const BetaManagedAgentsSessionThreadStatusRescheduling BetaManagedAgentsSessionThreadStatus = "rescheduling"`

    - `const BetaManagedAgentsSessionThreadStatusTerminated BetaManagedAgentsSessionThreadStatus = "terminated"`

  - `UpdatedAt Time`

    When the thread was last updated.

    format: date-time

  - `Usage BetaManagedAgentsSessionThreadUsage`

    Cumulative token usage for this thread. Null until the thread's first idle transition.

    - `ActiveSeconds float64 Optional`

      Cumulative time in seconds this thread spent in running status. Equal to `stats.active_seconds`; surfaced here so a thread's usage carries every quantity its cost is priced on.

      format: double

    - `CacheCreation BetaManagedAgentsCacheCreationUsage Optional`

      Tokens used to create prompt cache entries, broken down by cache TTL.

      - `Ephemeral1hInputTokens int64 Optional`

        Tokens used to create 1-hour ephemeral cache entries.

        format: int32

      - `Ephemeral5mInputTokens int64 Optional`

        Tokens used to create 5-minute ephemeral cache entries.

        format: int32

    - `CacheReadInputTokens int64 Optional`

      Total tokens read from prompt cache.

      format: int32

    - `InputTokens int64 Optional`

      Total input tokens consumed across all turns.

      format: int32

    - `ListCost BetaMonetaryAmount Optional`

      Cumulative list cost of this thread across all turns, priced at public list rates. Absent until cost tracking is available for the thread. Each figure is rounded to the nearest cent independently and the session's aggregate `usage.list_cost` additionally includes session runtime, so per-thread costs do not sum exactly to the session figure; the session figure is authoritative and is what a budget is enforced against.

      - `Amount string`

        Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

      - `Currency BetaCurrency`

        Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

    - `OutputTokens int64 Optional`

      Total output tokens generated across all turns.

      format: int32

    - `ServerToolUse BetaManagedAgentsServerToolUsage Optional`

      Cumulative server-executed tool usage across all turns of this thread. Absent until server-tool tracking is available for the thread.

      - `WebFetchRequests int64 Optional`

        Number of server-executed web fetch requests.

        format: int32

      - `WebSearchRequests int64 Optional`

        Number of server-executed web search requests.

        format: int32

  - `WorkflowRunID string`

    Identifier of the workflow run that created the thread, or `null` for any other thread.

#### Example

```go
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	betaManagedAgentsSessionThread, err := client.Beta.Sessions.Threads.Archive(
		context.TODO(),
		"sthr_011CZkZVWa6oJjw1rgXZpnBt",
		anthropic.BetaSessionThreadArchiveParams{
			SessionID: "sesn_011CZkZAtmR3yMPDzynEDxu7",
		},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", betaManagedAgentsSessionThread.ID)
}
```

##### Response (200)

```json
{
  "id": "sthr_011CZkZVWa6oJjw1rgXZpnBt",
  "agent": {
    "id": "agent_011CZkYqphY8vELVzwCUpqiQ",
    "description": "A focused research subagent.",
    "execution_identity": {
      "type": "service_account"
    },
    "mcp_servers": [
      {
        "name": "example-mcp",
        "type": "url",
        "url": "https://example-server.modelcontextprotocol.io/sse"
      }
    ],
    "model": {
      "id": "claude-opus-5-5",
      "effort": {
        "type": "low"
      },
      "inference_geo": "inference_geo",
      "speed": "standard"
    },
    "name": "Researcher",
    "skills": [
      {
        "skill_id": "xlsx",
        "type": "anthropic",
        "version": "1"
      }
    ],
    "system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
    "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",
    "version": 1
  },
  "archived_at": null,
  "created_at": "2026-03-15T10:00:00Z",
  "parent_thread_id": null,
  "session_id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
  "stats": {
    "active_seconds": 0,
    "duration_seconds": 0,
    "startup_seconds": 0
  },
  "status": "idle",
  "type": "session_thread",
  "updated_at": "2026-03-15T10:00:00Z",
  "usage": {
    "active_seconds": 0,
    "cache_creation": {
      "ephemeral_1h_input_tokens": 0,
      "ephemeral_5m_input_tokens": 0
    },
    "cache_read_input_tokens": 0,
    "input_tokens": 0,
    "list_cost": {
      "amount": "2500",
      "currency": "USD"
    },
    "output_tokens": 0,
    "server_tool_use": {
      "web_fetch_requests": 0,
      "web_search_requests": 3
    }
  },
  "workflow_run_id": null
}
```

## Sessions › Threads › Events

### List Session Thread Events

`client.Beta.Sessions.Threads.Events.List(ctx, threadID, params) (*PageCursor[BetaManagedAgentsSessionEventUnion], error)`

**GET** `/v1/sessions/{session_id}/threads/{thread_id}/events`

List Session Thread Events

#### Parameters

- `threadID string` (path parameter)

- `params BetaSessionThreadEventListParams`

  - `SessionID string` (path parameter)

  - `Limit param.Opt[int64] Optional` (query parameter)

    format: int32

  - `Page param.Opt[string] Optional` (query parameter)

  - `Betas []AnthropicBeta Optional` (header parameter)

    This endpoint is in beta: requests must send `managed-agents-2026-04-01` in this header.

    - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"`

    - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"`

    - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"`

    - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"`

    - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"`

    - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"`

    - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"`

    - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"`

    - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"`

    - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"`

    - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"`

    - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"`

    - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"`

    - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"`

    - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"`

    - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"`

    - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"`

    - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"`

    - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"`

    - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"`

    - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"`

    - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"`

    - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"`

    - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"`

    - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"`

    - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"`

    - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"`

    - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"`

    - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"`

    - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"`

    - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"`

    - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"`

    - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"`

    - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"`

    - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"`

    - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"`

    - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"`

    - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"`

    - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"`

    - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"`

    - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"`

    - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"`

    - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"`

    - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"`

    - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"`

    - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"`

    - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"`

    - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"`

    - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"`

  - `WorkspaceID param.Opt[string] Optional` (header parameter)

    Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).

    Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

#### Returns

- `type BetaManagedAgentsSessionEventUnion interface{…}`

  Union type for all event types in a session.

  - `type BetaManagedAgentsUserMessageEvent`

    A user message event in the session conversation.

    - `Type BetaManagedAgentsUserMessageEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsUserMessageEventContentUnion`

      Array of content blocks comprising the user message.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

        - `Type BetaManagedAgentsTextBlockType`

        - `Text string`

          The text content.

          minLength: 1

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

        - `Type BetaManagedAgentsImageBlockType`

        - `Source BetaManagedAgentsImageBlockSourceUnion`

          The source of the image data.

          - `type BetaManagedAgentsBase64ImageSource`

            Base64-encoded image data.

            - `Type BetaManagedAgentsBase64ImageSourceType`

            - `Data string`

              Base64-encoded image data.

              minLength: 1

            - `MediaType string`

              MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

              minLength: 1

          - `type BetaManagedAgentsURLImageSource`

            Image referenced by URL.

            - `Type BetaManagedAgentsURLImageSourceType`

            - `URL string`

              URL of the image to fetch.

              minLength: 1

          - `type BetaManagedAgentsFileImageSource`

            Image referenced by file ID.

            - `Type BetaManagedAgentsFileImageSourceType`

            - `FileID string`

              ID of a previously uploaded file.

              minLength: 1

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        - `Type BetaManagedAgentsDocumentBlockType`

        - `Source BetaManagedAgentsDocumentBlockSourceUnion`

          The source of the document data.

          - `type BetaManagedAgentsBase64DocumentSource`

            Base64-encoded document data.

            - `Type BetaManagedAgentsBase64DocumentSourceType`

            - `Data string`

              Base64-encoded document data.

              minLength: 1

            - `MediaType string`

              MIME type of the document (e.g., "application/pdf").

              minLength: 1

          - `type BetaManagedAgentsPlainTextDocumentSource`

            Plain text document content.

            - `Type BetaManagedAgentsPlainTextDocumentSourceType`

            - `Data string`

              The plain text content.

              minLength: 1

            - `MediaType BetaManagedAgentsPlainTextDocumentSourceMediaType`

              MIME type of the text content. Must be "text/plain".

          - `type BetaManagedAgentsURLDocumentSource`

            Document referenced by URL.

            - `Type BetaManagedAgentsURLDocumentSourceType`

            - `URL string`

              URL of the document to fetch.

              minLength: 1

          - `type BetaManagedAgentsFileDocumentSource`

            Document referenced by file ID.

            - `Type BetaManagedAgentsFileDocumentSourceType`

            - `FileID string`

              ID of a previously uploaded file.

              minLength: 1

        - `Context string Optional`

          Additional context about the document for the model.

        - `Title string Optional`

          The title of the document.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

        - `Type BetaManagedAgentsRedactedBlockType`

    - `ProcessedAt Time Optional`

      Timestamp when the agent finished processing this message.

      format: date-time

  - `type BetaManagedAgentsUserInterruptEvent`

    An interrupt event that pauses agent execution and returns control to the user.

    - `Type BetaManagedAgentsUserInterruptEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time Optional`

      Timestamp when the interrupt was processed.

      format: date-time

    - `SessionThreadID string Optional`

      If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

  - `type BetaManagedAgentsUserToolConfirmationEvent`

    A tool confirmation event that approves or denies a pending tool execution.

    - `Type BetaManagedAgentsUserToolConfirmationEventType`

    - `ID string`

      Unique identifier for this event.

    - `Result BetaManagedAgentsUserToolConfirmationEventResult`

      The confirmation result: 'allow' or 'deny'.

      - `const BetaManagedAgentsUserToolConfirmationEventResultAllow BetaManagedAgentsUserToolConfirmationEventResult = "allow"`

      - `const BetaManagedAgentsUserToolConfirmationEventResultDeny BetaManagedAgentsUserToolConfirmationEventResult = "deny"`

    - `ToolUseID string`

      The id of the `agent.tool_use` or `agent.mcp_tool_use` event this result corresponds to, which can be found in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

    - `DenyMessage string Optional`

      Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

      maxLength: 10000

    - `ProcessedAt Time Optional`

      Timestamp when the confirmation was processed.

      format: date-time

    - `SessionThreadID string Optional`

      Set by the server to the subagent thread this confirmation was routed to. Omitted when it was routed to the primary thread.

  - `type BetaManagedAgentsUserCustomToolResultEvent`

    Event sent by the client providing the result of a custom tool execution.

    - `Type BetaManagedAgentsUserCustomToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `CustomToolUseID string`

      The id of the `agent.custom_tool_use` event this result corresponds to. It is also listed in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

    - `Content []BetaManagedAgentsUserCustomToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

        - `Type BetaManagedAgentsSearchResultBlockType`

        - `Citations BetaManagedAgentsSearchResultCitations`

          Citation settings for this search result.

          - `Enabled bool`

            Whether citations are enabled for this search result.

        - `Content []BetaManagedAgentsSearchResultContent`

          Array of text content blocks from the search result.

          - `Type BetaManagedAgentsSearchResultContentType`

          - `Text string`

            The text content.

            minLength: 1

        - `Source string`

          The URL source of the search result.

          minLength: 1

        - `Title string`

          The title of the search result.

          minLength: 1

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

    - `ProcessedAt Time Optional`

      Timestamp when this result was processed.

      format: date-time

    - `SessionThreadID string Optional`

      Set by the server to the subagent thread this result was routed to. Omitted when it was routed to the primary thread.

  - `type BetaManagedAgentsAgentCustomToolUseEvent`

    Event emitted when the agent calls a custom tool. The session goes idle until the client sends a `user.custom_tool_result` event with the result. The client can send it as soon as this event arrives, without waiting for `session.status_idle`.

    - `Type BetaManagedAgentsAgentCustomToolUseEventType`

    - `ID string`

      Unique identifier for this event.

    - `Input map[string, any]`

      Input parameters for the tool call.

    - `Name string`

      Name of the custom tool being called.

    - `ProcessedAt Time`

      Timestamp when this tool use was processed.

      format: date-time

    - `SessionThreadID string Optional`

      When set, this event was cross-posted from a subagent's thread to surface its custom tool use on the primary thread's stream. Empty on the thread's own events. Informational only: the server routes the matching `user.custom_tool_result` by `custom_tool_use_id`, so clients do not send it back.

  - `type BetaManagedAgentsAgentMessageEvent`

    An agent response event in the session conversation.

    - `Type BetaManagedAgentsAgentMessageEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsAgentMessageEventContentUnion`

      Array of text blocks comprising the agent response.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

    - `ProcessedAt Time`

      Timestamp when this response was generated.

      format: date-time

  - `type BetaManagedAgentsAgentThinkingEvent`

    Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.

    - `Type BetaManagedAgentsAgentThinkingEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this thinking was produced.

      format: date-time

  - `type BetaManagedAgentsAgentMCPToolUseEvent`

    Event emitted when the agent invokes a tool provided by an MCP server.

    - `Type BetaManagedAgentsAgentMCPToolUseEventType`

    - `ID string`

      Unique identifier for this event.

    - `Input map[string, any]`

      Input parameters for the tool call.

    - `MCPServerName string`

      Name of the MCP server providing the tool.

    - `Name string`

      Name of the MCP tool being used.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `EvaluatedPermission BetaManagedAgentsAgentEvaluatedPermission Optional`

      The evaluated permission policy for this tool invocation.

      - `const BetaManagedAgentsAgentEvaluatedPermissionAllow BetaManagedAgentsAgentEvaluatedPermission = "allow"`

      - `const BetaManagedAgentsAgentEvaluatedPermissionAsk BetaManagedAgentsAgentEvaluatedPermission = "ask"`

      - `const BetaManagedAgentsAgentEvaluatedPermissionDeny BetaManagedAgentsAgentEvaluatedPermission = "deny"`

    - `Evaluation BetaManagedAgentsAgentToolEvaluationUnion Optional`

      Which resolved permission_policy produced evaluated_permission: always_allow, always_ask, or auto (with the server's per-invocation judgement). Absent only when the server refused the call before any policy applied (for example, the named tool is not enabled in the session); such a refusal has evaluated_permission deny. An event recorded before this field existed reads as the arm its evaluated_permission implies (always_allow for allow, always_ask for ask).

      - `type BetaManagedAgentsAgentToolEvaluationAlwaysAllow`

        The resolved permission_policy was always_allow; accompanies evaluated_permission "allow".

        - `Type AlwaysAllow`

      - `type BetaManagedAgentsAgentToolEvaluationAlwaysAsk`

        The resolved permission_policy was always_ask; accompanies evaluated_permission "ask".

        - `Type AlwaysAsk`

      - `type BetaManagedAgentsAgentToolEvaluationAuto`

        The resolved permission_policy was auto: the server judged this invocation individually.

        - `Type Auto`

        - `EvaluatedPermission BetaManagedAgentsAgentAutoEvaluatedPermissionUnion`

          The server's judgement for this invocation.

          - `type BetaManagedAgentsAgentAutoEvaluatedPermissionAllow`

            The server judged the invocation safe to execute without client approval.

            - `Type Allow`

          - `type BetaManagedAgentsAgentAutoEvaluatedPermissionAsk`

            The server reached no judgement; the invocation is held for client approval.

            - `Type Ask`

            - `ReasonCode string`

              The judgement's grounds in registry-bound terms, for client branching and audit rather than end-user display. Open registry; currently "indeterminate" (no judgement was reached). Clients must tolerate values outside this set.

              maxLength: 64

          - `type BetaManagedAgentsAgentAutoEvaluatedPermissionDeny`

            The server judged the invocation high-risk; it does not execute and a synthetic error tool result is appended.

            - `Type Deny`

            - `ReasonCode string`

              The judgement's grounds in registry-bound terms. Open registry; currently "high_risk" (judged high-risk; the call does not run). Clients must tolerate values outside this set.

              maxLength: 64

    - `SessionThreadID string Optional`

      When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Informational only: the server routes the matching `user.tool_confirmation` by `tool_use_id`, so clients do not send it back.

  - `type BetaManagedAgentsAgentMCPToolResultEvent`

    Event representing the result of an MCP tool execution.

    - `Type BetaManagedAgentsAgentMCPToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `MCPToolUseID string`

      The id of the `agent.mcp_tool_use` event this result corresponds to.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `Content []BetaManagedAgentsAgentMCPToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

  - `type BetaManagedAgentsAgentToolUseEvent`

    Event emitted when the agent invokes a built-in agent tool.

    - `Type BetaManagedAgentsAgentToolUseEventType`

    - `ID string`

      Unique identifier for this event.

    - `Input map[string, any]`

      Input parameters for the tool call.

    - `Name string`

      Name of the agent tool being used.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `EvaluatedPermission BetaManagedAgentsAgentEvaluatedPermission Optional`

      The evaluated permission policy for this tool invocation.

    - `Evaluation BetaManagedAgentsAgentToolEvaluationUnion Optional`

      Which resolved permission_policy produced evaluated_permission: always_allow, always_ask, or auto (with the server's per-invocation judgement). Absent only when the server refused the call before any policy applied (for example, the named tool is not enabled in the session); such a refusal has evaluated_permission deny. An event recorded before this field existed reads as the arm its evaluated_permission implies (always_allow for allow, always_ask for ask).

    - `SessionThreadID string Optional`

      When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Informational only: the server routes the matching `user.tool_confirmation` or `user.tool_result` by `tool_use_id`, so clients do not send it back.

  - `type BetaManagedAgentsAgentToolResultEvent`

    Event representing the result of an agent tool execution.

    - `Type BetaManagedAgentsAgentToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `ToolUseID string`

      The id of the `agent.tool_use` event this result corresponds to.

    - `Content []BetaManagedAgentsAgentToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

  - `type BetaManagedAgentsAgentThreadMessageReceivedEvent`

    Delivery event written to the target thread's input stream when an agent-to-agent message arrives.

    - `Type BetaManagedAgentsAgentThreadMessageReceivedEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsAgentThreadMessageReceivedEventContentUnion`

      Message content blocks.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

    - `FromSessionThreadID string`

      Public `sthr_` ID of the thread that sent the message.

    - `ProcessedAt Time`

      Timestamp when the message was received.

      format: date-time

    - `FromAgentName string Optional`

      Name of the callable agent this message came from. Absent when received from the primary agent.

  - `type BetaManagedAgentsAgentThreadMessageSentEvent`

    Observability event emitted to the sender's output stream when an agent-to-agent message is sent.

    - `Type BetaManagedAgentsAgentThreadMessageSentEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsAgentThreadMessageSentEventContentUnion`

      Message content blocks.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

    - `ProcessedAt Time`

      Timestamp when the message was sent.

      format: date-time

    - `ToSessionThreadID string`

      Public `sthr_` ID of the thread the message was sent to.

    - `ToAgentName string Optional`

      Name of the callable agent this message was sent to. Absent when sent to the primary agent.

  - `type BetaManagedAgentsAgentThreadContextCompactedEvent`

    Indicates that context compaction (summarization) occurred during the session.

    - `Type BetaManagedAgentsAgentThreadContextCompactedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when compaction was processed.

      format: date-time

  - `type BetaManagedAgentsSessionErrorEvent`

    An error event indicating a problem occurred during session execution.

    - `Type BetaManagedAgentsSessionErrorEventType`

    - `ID string`

      Unique identifier for this event.

    - `Error BetaManagedAgentsSessionErrorEventErrorUnion`

      - `type BetaManagedAgentsUnknownError`

        An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on `retry_status` and `message` alone.

        - `Type BetaManagedAgentsUnknownErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsUnknownErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            - `Type BetaManagedAgentsRetryStatusRetryingType`

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            - `Type BetaManagedAgentsRetryStatusExhaustedType`

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

            - `Type BetaManagedAgentsRetryStatusTerminalType`

      - `type BetaManagedAgentsModelOverloadedError`

        The model is currently overloaded. Emitted after automatic retries are exhausted.

        - `Type BetaManagedAgentsModelOverloadedErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsModelOverloadedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsModelRateLimitedError`

        The model request was rate-limited.

        - `Type BetaManagedAgentsModelRateLimitedErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsModelRateLimitedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsModelRequestFailedError`

        A model request failed for a reason other than overload or rate-limiting.

        - `Type BetaManagedAgentsModelRequestFailedErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsModelRequestFailedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsMCPConnectionFailedError`

        Failed to connect to an MCP server.

        - `Type BetaManagedAgentsMCPConnectionFailedErrorType`

        - `MCPServerName string`

          Name of the MCP server that failed to connect.

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsMCPConnectionFailedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsMCPAuthenticationFailedError`

        Authentication to an MCP server failed.

        - `Type BetaManagedAgentsMCPAuthenticationFailedErrorType`

        - `MCPServerName string`

          Name of the MCP server that failed authentication.

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsMCPAuthenticationFailedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsBillingError`

        The caller's organization or workspace cannot make model requests — out of credits or spend limit reached. Retrying with the same credentials will not succeed; the caller must resolve the billing state.

        - `Type BetaManagedAgentsBillingErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsBillingErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsCredentialHostUnreachableError`

        An `environment_variable` credential's `auth.networking.allowed_hosts` includes a host the environment's network policy does not permit.

        - `Type BetaManagedAgentsCredentialHostUnreachableErrorType`

        - `CredentialID string`

          ID of the affected credential.

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsCredentialHostUnreachableErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

        - `VaultID string`

          ID of the vault containing the affected credential.

      - `type BetaManagedAgentsRepositoryAuthenticationError`

        The repository host rejected the credentials, or required credentials and received none.

        - `Type RepositoryAuthenticationError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryAuthenticationErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryForbiddenError`

        The repository host refused access to the repository.

        - `Type RepositoryForbiddenError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryForbiddenErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryNotFoundError`

        The repository host reported the repository as not found.

        - `Type RepositoryNotFoundError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryNotFoundErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryCheckoutError`

        The requested branch or commit does not exist in the repository.

        - `Type RepositoryCheckoutError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryCheckoutErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryCloneError`

        The repository could not be cloned.

        - `Type RepositoryCloneError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryCloneErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

    - `ProcessedAt Time`

      Timestamp when the error occurred.

      format: date-time

  - `type BetaManagedAgentsSessionStatusRescheduledEvent`

    Indicates the session is recovering from an error state and is rescheduled for execution.

    - `Type BetaManagedAgentsSessionStatusRescheduledEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

  - `type BetaManagedAgentsSessionStatusRunningEvent`

    Indicates the session is actively running and the agent is working.

    - `Type BetaManagedAgentsSessionStatusRunningEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

  - `type BetaManagedAgentsSessionStatusIdleEvent`

    Indicates the agent has paused and is awaiting user input.

    - `Type BetaManagedAgentsSessionStatusIdleEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

    - `StopDetails BetaManagedAgentsSessionRefusalStopDetails`

      Structured information about why the session stopped. `null` when there is nothing more to report.

      - `Type Refusal`

      - `Category BetaManagedAgentsSessionRefusalStopDetailsCategory`

        The policy category that triggered the refusal, or `null` when there is no named category. New values can be added over time.

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryCyber BetaManagedAgentsSessionRefusalStopDetailsCategory = "cyber"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryBio BetaManagedAgentsSessionRefusalStopDetailsCategory = "bio"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryFrontierLLM BetaManagedAgentsSessionRefusalStopDetailsCategory = "frontier_llm"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryReasoningExtraction BetaManagedAgentsSessionRefusalStopDetailsCategory = "reasoning_extraction"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryGeneralHarms BetaManagedAgentsSessionRefusalStopDetailsCategory = "general_harms"`

      - `Explanation string`

        Human-readable explanation of the refusal, or `null` when none is available. The wording can change, so do not parse it.

    - `StopReason BetaManagedAgentsSessionStatusIdleEventStopReasonUnion`

      - `type BetaManagedAgentsSessionEndTurn`

        The agent completed its turn naturally and is ready for the next user message.

        - `Type BetaManagedAgentsSessionEndTurnType`

      - `type BetaManagedAgentsSessionRequiresAction`

        The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

        - `Type BetaManagedAgentsSessionRequiresActionType`

        - `EventIDs []string`

          The ids of events the agent is blocked on. Resolving fewer than all re-emits `session.status_idle` with the remainder.

      - `type BetaManagedAgentsSessionRetriesExhausted`

        The turn ended because repeated errors exhausted the retry budget or an error escalated to `retry_status: 'exhausted'`.

        - `Type BetaManagedAgentsSessionRetriesExhaustedType`

      - `type BetaManagedAgentsSessionBudgetReached`

        The agent stopped because the session's tracked list cost reached its budget, or because its usage includes a model with no list price (which the budget cannot measure). Raise the budget to continue — or, if raising is rejected because a model has no list price, remove the budget.

        - `Type BetaManagedAgentsSessionBudgetReachedType`

      - `type BetaManagedAgentsSessionRefusal`

        The turn ended because the model's response was refused, for example by a safety classifier.

        - `Type Refusal`

  - `type BetaManagedAgentsSessionStatusTerminatedEvent`

    Indicates the session has terminated, either due to an error or completion.

    - `Type BetaManagedAgentsSessionStatusTerminatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

  - `type BetaManagedAgentsSessionThreadCreatedEvent`

    Emitted when a child thread is created. Written to the parent thread's output stream so clients observing the session see child creation.

    - `Type BetaManagedAgentsSessionThreadCreatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the callable agent the thread runs.

    - `ProcessedAt Time`

      Timestamp when the thread was created.

      format: date-time

    - `SessionThreadID string`

      Public `sthr_` ID of the newly created thread.

    - `WorkflowRunID string`

      Identifier of the workflow run that created the thread, or `null` for any other thread.

  - `type BetaManagedAgentsSpanOutcomeEvaluationStartEvent`

    Emitted when an outcome evaluation cycle begins.

    - `Type BetaManagedAgentsSpanOutcomeEvaluationStartEventType`

    - `ID string`

      Unique identifier for this event.

    - `Iteration int64`

      0-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.

      format: int32

    - `OutcomeID string`

      The `outc_` ID of the outcome being evaluated.

    - `ProcessedAt Time`

      Timestamp when outcome evaluation started.

      format: date-time

  - `type BetaManagedAgentsSpanOutcomeEvaluationEndEvent`

    Emitted when an outcome evaluation cycle completes. Carries the verdict and aggregate token usage. A verdict of `needs_revision` means another evaluation cycle follows; `satisfied`, `max_iterations_reached`, `failed`, or `interrupted` are terminal — no further evaluation cycles follow.

    - `Type BetaManagedAgentsSpanOutcomeEvaluationEndEventType`

    - `ID string`

      Unique identifier for this event.

    - `Explanation string`

      Human-readable explanation of the verdict. For `needs_revision`, describes which criteria failed and why.

    - `Iteration int64`

      0-indexed revision cycle, matching the corresponding `span.outcome_evaluation_start`.

      format: int32

    - `OutcomeEvaluationStartID string`

      The id of the corresponding `span.outcome_evaluation_start` event.

    - `OutcomeID string`

      The `outc_` ID of the outcome being evaluated.

    - `ProcessedAt Time`

      Timestamp when outcome evaluation ended.

      format: date-time

    - `Result string`

      Evaluation verdict. 'satisfied': criteria met, session goes idle. 'needs_revision': criteria not met, another revision cycle follows. 'max_iterations_reached': evaluation budget exhausted with criteria still unmet — one final acknowledgment turn follows before the session goes idle, but no further evaluation runs. 'failed': grader determined the rubric does not apply to the deliverables. 'interrupted': user sent an interrupt while evaluation was in progress.

    - `Usage BetaManagedAgentsSpanModelUsage`

      Aggregate token usage for this evaluation cycle. Sums across all grader model requests within the cycle.

      - `CacheCreationInputTokens int64`

        Tokens used to create prompt cache in this request.

        format: int32

      - `CacheReadInputTokens int64`

        Tokens read from prompt cache in this request.

        format: int32

      - `InputTokens int64`

        Input tokens consumed by this request.

        format: int32

      - `OutputTokens int64`

        Output tokens generated by this request.

        format: int32

      - `Speed BetaManagedAgentsSpanModelUsageSpeed Optional`

        Inference speed tier this request actually ran at. Mirrors `usage.speed` on /v1/messages. Only present when the fast-mode beta is active.

        - `const BetaManagedAgentsSpanModelUsageSpeedStandard BetaManagedAgentsSpanModelUsageSpeed = "standard"`

        - `const BetaManagedAgentsSpanModelUsageSpeedFast BetaManagedAgentsSpanModelUsageSpeed = "fast"`

  - `type BetaManagedAgentsSpanModelRequestStartEvent`

    Emitted when a model request is initiated by the agent.

    - `Type BetaManagedAgentsSpanModelRequestStartEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the model request started.

      format: date-time

  - `type BetaManagedAgentsSpanModelRequestEndEvent`

    Emitted when a model request completes.

    - `Type BetaManagedAgentsSpanModelRequestEndEventType`

    - `ID string`

      Unique identifier for this event.

    - `IsError bool`

      Whether the model request resulted in an error.

    - `ModelRequestStartID string`

      The id of the corresponding `span.model_request_start` event.

    - `ModelUsage BetaManagedAgentsSpanModelUsage`

      Token usage for this model request.

    - `ProcessedAt Time`

      Timestamp when the model request completed.

      format: date-time

  - `type BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent`

    Periodic heartbeat emitted while an outcome evaluation cycle is in progress. Distinguishes 'evaluation is actively running' from 'evaluation is stuck' between the corresponding `span.outcome_evaluation_start` and `span.outcome_evaluation_end` events.

    - `Type BetaManagedAgentsSpanOutcomeEvaluationOngoingEventType`

    - `ID string`

      Unique identifier for this event.

    - `Iteration int64`

      0-indexed revision cycle, matching the corresponding `span.outcome_evaluation_start`.

      format: int32

    - `OutcomeID string`

      The `outc_` ID of the outcome being evaluated.

    - `ProcessedAt Time`

      Timestamp when this heartbeat was emitted.

      format: date-time

  - `type BetaManagedAgentsUserDefineOutcomeEvent`

    Echo of a `user.define_outcome` input event. Carries the server-generated `outcome_id` that subsequent `span.outcome_evaluation_*` events reference.

    - `Type BetaManagedAgentsUserDefineOutcomeEventType`

    - `ID string`

      Unique identifier for this event.

    - `Description string`

      What the agent should produce. Copied from the input event.

    - `MaxIterations int64`

      Evaluate-then-revise cycles before giving up. Default 3, max 20.

      format: int32

    - `OutcomeID string`

      Server-generated `outc_` ID for this outcome. Referenced by `span.outcome_evaluation_*` events and the session's `outcome_evaluations` list.

    - `ProcessedAt Time`

      Timestamp when the outcome was accepted.

      format: date-time

    - `Rubric BetaManagedAgentsUserDefineOutcomeEventRubricUnion`

      How to grade the outcome. File rubrics are currently resolved to their text content; clients should handle both variants.

      - `type BetaManagedAgentsFileRubric`

        Rubric referenced by a file uploaded via the Files API.

        - `Type BetaManagedAgentsFileRubricType`

        - `FileID string`

          ID of the rubric file.

      - `type BetaManagedAgentsTextRubric`

        Rubric content provided inline as text.

        - `Type BetaManagedAgentsTextRubricType`

        - `Content string`

          Rubric content. Plain text or markdown — the grader treats it as freeform text.

  - `type BetaManagedAgentsSessionDeletedEvent`

    Emitted when a session has been deleted. Terminates any active event stream — no further events will be emitted for this session.

    - `Type BetaManagedAgentsSessionDeletedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the session was deleted.

      format: date-time

  - `type BetaManagedAgentsSessionThreadStatusRunningEvent`

    A session thread has begun executing. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusRunningEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that started running.

  - `type BetaManagedAgentsSessionThreadStatusIdleEvent`

    A session thread has yielded and is awaiting input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusIdleEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that went idle.

    - `StopDetails BetaManagedAgentsSessionRefusalStopDetails`

      Structured information about why the thread stopped. `null` when there is nothing more to report.

    - `StopReason BetaManagedAgentsSessionThreadStatusIdleEventStopReasonUnion`

      - `type BetaManagedAgentsSessionEndTurn`

        The agent completed its turn naturally and is ready for the next user message.

      - `type BetaManagedAgentsSessionRequiresAction`

        The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

      - `type BetaManagedAgentsSessionRetriesExhausted`

        The turn ended because repeated errors exhausted the retry budget or an error escalated to `retry_status: 'exhausted'`.

      - `type BetaManagedAgentsSessionBudgetReached`

        The agent stopped because the session's tracked list cost reached its budget, or because its usage includes a model with no list price (which the budget cannot measure). Raise the budget to continue — or, if raising is rejected because a model has no list price, remove the budget.

      - `type BetaManagedAgentsSessionRefusal`

        The turn ended because the model's response was refused, for example by a safety classifier.

  - `type BetaManagedAgentsSessionThreadStatusTerminatedEvent`

    A session thread has terminated and will accept no further input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusTerminatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that terminated.

  - `type BetaManagedAgentsUserToolResultEvent`

    Event sent by the client providing the result of an agent-toolset tool execution. Only valid on `self_hosted` environments, where sandbox-routed tools are executed by the client rather than the server.

    - `Type BetaManagedAgentsUserToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `ToolUseID string`

      The id of the `agent.tool_use` event this result corresponds to, which can be found in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

    - `Content []BetaManagedAgentsUserToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

    - `ProcessedAt Time Optional`

      Timestamp when this result was processed.

      format: date-time

    - `SessionThreadID string Optional`

      Set by the server to the subagent thread this result was routed to. Omitted when it was routed to the primary thread.

  - `type BetaManagedAgentsSessionThreadStatusRescheduledEvent`

    A session thread hit a transient error and is retrying automatically. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusRescheduledEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that is retrying.

  - `type BetaManagedAgentsSessionUpdatedEvent`

    Emitted when an UpdateSession request changed at least one field. Carries only the fields that changed; absent fields were not part of the update. The new configuration applies from the next turn.

    - `Type BetaManagedAgentsSessionUpdatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the update was applied.

      format: date-time

    - `Agent BetaManagedAgentsSessionAgent Optional`

      The session's effective agent configuration after the update. Present only when the update changed `agent` (tools or mcp_servers); when present it is the full materialised snapshot, not a diff.

      - `Type BetaManagedAgentsSessionAgentType`

      - `ID string`

      - `Description string`

      - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

        Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

        - `type BetaManagedAgentsAWSRoleExecutionIdentity`

          An AWS IAM role principal as returned in API responses.

          - `Type AWSRole`

          - `RoleARN string`

            The IAM role's ARN.

        - `type BetaManagedAgentsServiceAccountExecutionIdentity`

          The Anthropic-managed service account as returned in API responses.

          - `Type ServiceAccount`

      - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

        - `Type BetaManagedAgentsMCPServerURLDefinitionType`

        - `Name string`

        - `URL string`

      - `Model BetaManagedAgentsModelConfig`

        Model identifier and configuration.

        - `ID BetaManagedAgentsModel`

          The model that will power your agent.

          See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

          - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

            Fastest model for high-volume, real-time tasks

          - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

            Powerful intelligence for coding, knowledge work, and long-running agents

          - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

            Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

          - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

            Next generation of intelligence for the hardest knowledge work and coding problems

          - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

            Best combination of speed and intelligence

          - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

          - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

          - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

        - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

          How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

          - `type BetaManagedAgentsEffortLow`

            Low effort. Favors latency over reasoning depth.

            - `Type BetaManagedAgentsEffortLowType`

          - `type BetaManagedAgentsEffortMedium`

            Medium effort. Balances latency and reasoning depth.

            - `Type BetaManagedAgentsEffortMediumType`

          - `type BetaManagedAgentsEffortHigh`

            High effort. Favors reasoning depth.

            - `Type BetaManagedAgentsEffortHighType`

          - `type BetaManagedAgentsEffortXhigh`

            Extra-high effort. Not all models accept this level.

            - `Type BetaManagedAgentsEffortXhighType`

          - `type BetaManagedAgentsEffortMax`

            Maximum effort. Favors reasoning depth over latency.

            - `Type BetaManagedAgentsEffortMaxType`

        - `InferenceGeo string Optional`

          Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

        - `Speed BetaManagedAgentsModelConfigSpeed Optional`

          Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

          - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

          - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

      - `Multiagent BetaManagedAgentsSessionMultiagentUnion`

        Resolved multiagent orchestration configuration. Null when the agent is single-threaded.

        - `type BetaManagedAgentsSessionMultiagentCoordinator`

          Resolved coordinator topology with full agent definitions for each roster member.

          - `Type BetaManagedAgentsSessionMultiagentCoordinatorType`

          - `Agents []BetaManagedAgentsSessionMultiagentCoordinatorAgentUnion`

            Full `agent` definitions the coordinator may spawn as session threads.

            - `type 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`.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

                - `Type BetaManagedAgentsMCPServerURLDefinitionType`

                - `Name string`

                - `URL string`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

                - `type BetaManagedAgentsAnthropicSkill`

                  A resolved Anthropic-managed skill.

                  - `Type BetaManagedAgentsAnthropicSkillType`

                  - `SkillID string`

                  - `Version string`

                - `type BetaManagedAgentsCustomSkill`

                  A resolved user-created custom skill.

                  - `Type BetaManagedAgentsCustomSkillType`

                  - `SkillID string`

                  - `Version string`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

                - `type BetaManagedAgentsAgentToolset20260401`

                  - `Type BetaManagedAgentsAgentToolset20260401Type`

                  - `Configs []BetaManagedAgentsAgentToolConfigUnion`

                    - `type BetaManagedAgentsBashToolConfig`

                      Configuration for the bash tool.

                      - `Type Bash`

                      - `Enabled bool`

                      - `Name Bash`

                      - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                          - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                          - `Type BetaManagedAgentsAlwaysAskPolicyType`

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                          - `Type Auto`

                    - `type BetaManagedAgentsEditToolConfig`

                      Configuration for the edit tool.

                      - `Type Edit`

                      - `Enabled bool`

                      - `Name Edit`

                      - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsReadToolConfig`

                      Configuration for the read tool.

                      - `Type Read`

                      - `Enabled bool`

                      - `Name Read`

                      - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsWriteToolConfig`

                      Configuration for the write tool.

                      - `Type Write`

                      - `Enabled bool`

                      - `Name Write`

                      - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsGlobToolConfig`

                      Configuration for the glob tool.

                      - `Type Glob`

                      - `Enabled bool`

                      - `Name Glob`

                      - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsGrepToolConfig`

                      Configuration for the grep tool.

                      - `Type Grep`

                      - `Enabled bool`

                      - `Name Grep`

                      - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsWebFetchToolConfig`

                      Configuration for the web_fetch tool.

                      - `Type WebFetch`

                      - `Enabled bool`

                      - `Name WebFetch`

                      - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                      - `URLSources BetaManagedAgentsWebFetchURLSources`

                        Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

                        - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                          Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                          - `type BetaManagedAgentsWebFetchURLSourceAll`

                            Every URL from this source may be fetched. This is the default.

                            - `Type All`

                          - `type BetaManagedAgentsWebFetchURLSourceNone`

                            This source contributes no URLs that may be fetched.

                            - `Type None`

                          - `type BetaManagedAgentsWebFetchURLSourceOnly`

                            Only the named tools' results contribute URLs that may be fetched.

                            - `Type Only`

                            - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                              The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                              - `Type ToolReference`

                                Must be "tool_reference".

                              - `Name string`

                                Name of the tool. Compared exactly, so upper and lower case letters are different.

                                minLength: 1, maxLength: 128

                          - `type BetaManagedAgentsWebFetchURLSourceExcept`

                            Every tool's results contribute URLs that may be fetched, except the named tools' results.

                            - `Type Except`

                            - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                              The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                              - `Type ToolReference`

                                Must be "tool_reference".

                              - `Name string`

                                Name of the tool. Compared exactly, so upper and lower case letters are different.

                                minLength: 1, maxLength: 128

                        - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                          Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

                        - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                          Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                          - `type BetaManagedAgentsWebFetchURLSourceAll`

                            Every URL from this source may be fetched. This is the default.

                          - `type BetaManagedAgentsWebFetchURLSourceNone`

                            This source contributes no URLs that may be fetched.

                      - `AllowedDomains []string Optional`

                      - `BlockedDomains []string Optional`

                      - `MaxContentTokens int64 Optional`

                        format: int32

                    - `type BetaManagedAgentsWebSearchToolConfig`

                      Configuration for the web_search tool.

                      - `Type WebSearch`

                      - `Enabled bool`

                      - `Name WebSearch`

                      - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                      - `AllowedDomains []string Optional`

                      - `BlockedDomains []string Optional`

                      - `UserLocation BetaManagedAgentsUserLocation Optional`

                        Approximate user location for search result localization.

                        - `Type Approximate`

                          Location precision. Only "approximate" is supported.

                        - `City string Optional`

                          City name.

                          minLength: 1, maxLength: 255

                        - `Country string Optional`

                          Two-letter ISO 3166-1 country code, uppercase.

                        - `Region string Optional`

                          Region or state name.

                          minLength: 1, maxLength: 255

                        - `Timezone string Optional`

                          IANA timezone identifier, e.g. "America/Los_Angeles".

                          minLength: 1, maxLength: 255

                  - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

                    Resolved default configuration for agent tools.

                    - `Enabled bool`

                    - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `type BetaManagedAgentsMCPToolset`

                  - `Type BetaManagedAgentsMCPToolsetType`

                  - `Configs []BetaManagedAgentsMCPToolConfig`

                    - `Enabled bool`

                    - `Name string`

                    - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

                    Resolved default configuration for all tools from an MCP server.

                    - `Enabled bool`

                    - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `MCPServerName string`

                - `type BetaManagedAgentsCustomTool`

                  A custom tool as returned in API responses.

                  - `Type BetaManagedAgentsCustomToolType`

                  - `Description string`

                  - `InputSchema BetaManagedAgentsCustomToolInputSchema`

                    JSON Schema for custom tool input parameters.

                    - `Type Object`

                    - `Properties map[string, any] Optional`

                    - `Required []string Optional`

                  - `Name string`

              - `Version int64`

                format: int32

            - `type BetaManagedAgentsAdvisor`

              Platform advisor roster entry: a model the session's primary thread may consult mid-turn.

              - `Type BetaManagedAgentsAdvisorType`

              - `Model string`

                The advisor model id.

        - `type BetaManagedAgentsSessionMultiagent20261001`

          Resolved multiagent configuration with three members, as copied to the `session` at creation.

          - `Type Multiagent20261001`

          - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

            Whether the session's primary thread can consult an advisor model.

            - `type BetaManagedAgentsMultiagentAdvisorEnabled`

              The session's primary thread can consult `model` mid-turn.

              - `Type Enabled`

              - `Model string`

                The advisor model id.

            - `type BetaManagedAgentsMultiagentAdvisorDisabled`

              The agent has no advisor.

              - `Type Disabled`

          - `Subagents BetaManagedAgentsSessionMultiagentSubagentsUnion`

            Whether the agent can spawn session threads.

            - `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

              The agent can spawn session threads.

              - `Type Enabled`

              - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

                Whether the agent can define inline agents, which are not saved, when it spawns session threads.

                - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

                  The agent can define inline agents.

                  - `Type Enabled`

                - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

                  The agent cannot define inline agents.

                  - `Type Disabled`

              - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

                Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

                - `Type BetaManagedAgentsSessionThreadAgentType`

                - `ID string`

                - `Description string`

                - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                  Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

                - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

                - `Model BetaManagedAgentsModelConfig`

                  Model identifier and configuration.

                - `Name string`

                - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

                - `System string`

                - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

                - `Version int64`

                  format: int32

            - `type BetaManagedAgentsMultiagentSubagentsDisabled`

              The agent cannot spawn session threads.

              - `Type Disabled`

          - `Workflows BetaManagedAgentsSessionMultiagentWorkflowsUnion`

            Whether the agent can start workflow runs.

            - `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

              The agent can start workflow runs.

              - `Type Enabled`

              - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

                Whether a run's plan can define inline agents, which are not saved.

              - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

                Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

                - `Type BetaManagedAgentsSessionThreadAgentType`

                - `ID string`

                - `Description string`

                - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                  Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

                - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

                - `Model BetaManagedAgentsModelConfig`

                  Model identifier and configuration.

                - `Name string`

                - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

                - `System string`

                - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

                - `Version int64`

                  format: int32

            - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

              The agent cannot start workflow runs.

              - `Type Disabled`

      - `Name string`

      - `Skills []BetaManagedAgentsSessionAgentSkillUnion`

        - `type BetaManagedAgentsAnthropicSkill`

          A resolved Anthropic-managed skill.

        - `type BetaManagedAgentsCustomSkill`

          A resolved user-created custom skill.

      - `System string`

      - `Tools []BetaManagedAgentsSessionAgentToolUnion`

        - `type BetaManagedAgentsAgentToolset20260401`

        - `type BetaManagedAgentsMCPToolset`

        - `type BetaManagedAgentsCustomTool`

          A custom tool as returned in API responses.

      - `Version int64`

        format: int32

    - `Budget BetaManagedAgentsBudgetLimit Optional`

      The session's budget after the update: the new budget when set or replaced, or null when the update removed it. Present only when the update changed the budget.

      - `Type BetaManagedAgentsBudgetLimitType`

      - `MaxListCost BetaMonetaryAmount`

        Maximum list cost the session may accrue. List price is used regardless of any negotiated discount, so the cap fires at or before the actual charge.

        - `Amount string`

          Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

        - `Currency BetaCurrency`

          Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

    - `Metadata map[string, string] Optional`

      The session's full metadata bag after the update. Present when the update set non-empty metadata; absent when metadata was unchanged or cleared to empty.

    - `Title string Optional`

      The session's new title. Present only when the update changed it.

  - `type BetaManagedAgentsSystemMessageEvent`

    A mid-conversation system message event. Carries system-role content that is appended to the session as a `role: "system"` turn.

    - `Type BetaManagedAgentsSystemMessageEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsSystemContentBlock`

      System content blocks. Text-only.

      - `Type BetaManagedAgentsSystemContentBlockType`

      - `Text string`

        The text content.

        minLength: 1

    - `ProcessedAt Time Optional`

      Timestamp when this system message was processed.

      format: date-time

  - `type BetaManagedAgentsSessionUsageEvent`

    Periodic snapshot of the session's cumulative usage and tracked list cost.

    - `Type BetaManagedAgentsSessionUsageEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the snapshot was taken.

      format: date-time

    - `Usage BetaManagedAgentsSessionUsageSnapshot`

      The session's cumulative usage at the snapshot time.

      - `ActiveSeconds float64 Optional`

        Cumulative time in seconds during which the session had at least one thread in running status. Overlapping activity from concurrent threads is counted once. This is the duration the session's runtime cost is priced on.

        format: double

      - `CacheCreation BetaManagedAgentsCacheCreationUsage Optional`

        Tokens used to create prompt cache entries, broken down by cache TTL.

        - `Ephemeral1hInputTokens int64 Optional`

          Tokens used to create 1-hour ephemeral cache entries.

          format: int32

        - `Ephemeral5mInputTokens int64 Optional`

          Tokens used to create 5-minute ephemeral cache entries.

          format: int32

      - `CacheReadInputTokens int64 Optional`

        Total tokens read from prompt cache.

        format: int32

      - `InputTokens int64 Optional`

        Total input tokens consumed across all turns.

        format: int32

      - `ListCost BetaMonetaryAmount Optional`

        Cumulative list cost of the session across all turns, priced at public list rates.

      - `OutputTokens int64 Optional`

        Total output tokens generated across all turns.

        format: int32

      - `ServerToolUse BetaManagedAgentsServerToolUsage Optional`

        Cumulative server-executed tool usage across all turns.

        - `WebFetchRequests int64 Optional`

          Number of server-executed web fetch requests.

          format: int32

        - `WebSearchRequests int64 Optional`

          Number of server-executed web search requests.

          format: int32

    - `Budget BetaManagedAgentsBudgetLimit Optional`

      The session's configured budget at the snapshot time, or null when the session has no budget.

  - `type BetaManagedAgentsWorkflowRunCreatedEvent`

    A workflow run was created. A workflow run is background work that the session's agent starts. Emitted once per run, before the run's other `workflow_run.*` events.

    - `Type WorkflowRunCreated`

    - `ID string`

      Unique identifier for this event.

    - `Description string`

      Description that the agent gave the run, passed on as written, or `null` if it gave none.

    - `Name string`

      Name that the agent gave the run, passed on as written, or a name that the server assigned.

    - `Phases []BetaManagedAgentsWorkflowRunPhase`

      The phases that the run's plan declares, in the plan's order. Can be empty.

      - `ID string`

        Unique identifier for the phase.

      - `Description string`

        Description that the agent gave the phase, passed on as written, or `null` if it gave none.

      - `Name string`

        Name that the agent gave the phase, passed on as written.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunStatusEndedEvent`

    A workflow run ended. Emitted once per run, as the last of the run's `workflow_run.*` events.

    - `Type WorkflowRunStatusEnded`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `Result BetaManagedAgentsWorkflowRunResultUnion`

      How the run ended.

      - `type BetaManagedAgentsWorkflowRunResultCompleted`

        The run's plan, a program that the agent wrote, finished. This does not say whether the work succeeded.

        - `Type Completed`

      - `type BetaManagedAgentsWorkflowRunResultError`

        The run failed or reached its time limit.

        - `Type Error`

        - `Error BetaManagedAgentsWorkflowRunErrorUnion`

          Why the run did not finish.

          - `type BetaManagedAgentsTimeoutWorkflowRunError`

            The run reached its time limit.

            - `Type TimeoutError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsProgramWorkflowRunError`

            The plan, a program that the agent wrote, failed, or the server refused it.

            - `Type ProgramError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsUnknownWorkflowRunError`

            A failure that has no type of its own.

            - `Type UnknownError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsThreadLimitWorkflowRunError`

            The run exceeded the limit on the number of threads that a run can create.

            - `Type ThreadLimitError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsMaxWorkflowRunsWorkflowRunError`

            No run was created, because the session was at its limit of open workflow runs, which are runs that have not ended. Only `workflow_run.error` carries this type.

            - `Type MaxWorkflowRunsError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

      - `type BetaManagedAgentsWorkflowRunResultStopped`

        The agent stopped the run.

        - `Type Stopped`

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunPhaseStartedEvent`

    A workflow run's plan entered a phase.

    - `Type WorkflowRunPhaseStarted`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

    - `WorkflowRunPhaseID string`

      Identifier of the phase, as in `phases` on the run's `workflow_run.created` event.

  - `type BetaManagedAgentsWorkflowRunPhaseEndedEvent`

    A workflow run's plan left a phase, or the run's end closed it. Emitted once for every `workflow_run.phase_started` event, before the run's `workflow_run.status_ended` event. The event does not say whether the plan finished the phase's work, or why it left.

    - `Type WorkflowRunPhaseEnded`

    - `ID string`

      Unique identifier for this event.

    - `PhaseStartedID string`

      Identifier of the `workflow_run.phase_started` event that opened the phase.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

    - `WorkflowRunPhaseID string`

      Identifier of the phase, as in `phases` on the run's `workflow_run.created` event.

  - `type BetaManagedAgentsWorkflowRunStatusRunningEvent`

    A workflow run is running. Emitted when the run starts to execute, and each time it resumes after being idle. A run that starts idle emits `workflow_run.status_idle` first.

    - `Type WorkflowRunStatusRunning`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunStatusIdleEvent`

    A workflow run is idle. Emitted each time the run goes idle, whatever the cause. If the run ends while idle, no `workflow_run.status_running` comes between this event and its `workflow_run.status_ended`.

    - `Type WorkflowRunStatusIdle`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunErrorEvent`

    A workflow run met an error, or an error kept a run from being created. A run that ends with a `result.type` of `error` emits this event before its `workflow_run.status_ended`, with the same `error`.

    - `Type WorkflowRunError`

    - `ID string`

      Unique identifier for this event.

    - `Error BetaManagedAgentsWorkflowRunErrorUnion`

      Why the run did not finish, or was not created.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run that met the error, or `null` when the error kept a run from being created.

#### Example

```go
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	page, err := client.Beta.Sessions.Threads.Events.List(
		context.TODO(),
		"sthr_011CZkZVWa6oJjw1rgXZpnBt",
		anthropic.BetaSessionThreadEventListParams{
			SessionID: "sesn_011CZkZAtmR3yMPDzynEDxu7",
		},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", page)
}
```

##### Response (200)

```json
{
  "data": [
    {
      "id": "sevt_011CZkZGPp1iBcp4kaQSihUm",
      "content": [
        {
          "text": "Where is my order #1234?",
          "type": "text"
        }
      ],
      "type": "user.message",
      "processed_at": "2026-03-15T10:00:00Z"
    },
    {
      "id": "sevt_011CZkZHPq1jCdq5mbRTjiVn",
      "content": [
        {
          "text": "Let me look up order #1234 for you.",
          "type": "text"
        }
      ],
      "processed_at": "2026-03-15T10:00:00Z",
      "type": "agent.message"
    }
  ],
  "next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}
```

### Stream Session Thread Events

`client.Beta.Sessions.Threads.Events.StreamEvents(ctx, threadID, params) *ssestream.Stream[BetaManagedAgentsStreamSessionThreadEventsUnion]`

**GET** `/v1/sessions/{session_id}/threads/{thread_id}/stream`

Stream Session Thread Events

#### Parameters

- `threadID string` (path parameter)

- `params BetaSessionThreadEventStreamParams`

  - `SessionID string` (path parameter)

  - `EventDeltas []BetaManagedAgentsDeltaType Optional` (query parameter)

    When set, this connection also receives streaming deltas (`event_start`, `event_delta`) while an event is being produced, before the event itself arrives. Deltas are best-effort; when the final event is produced it carries the complete content. A model request that ends early (an error or interrupt) produces no final event — its terminal `span.model_request_end` closes the preview. Accepts one or more event types to preview and may be repeated: `agent.message` streams `content_delta` fragments; `agent.thinking` is start-only — a signal that the agent has begun extended thinking, concluded by the `agent.thinking` event itself. Only previews of the requested event types are sent.

    - `const BetaManagedAgentsDeltaTypeAgentMessage BetaManagedAgentsDeltaType = "agent.message"`

    - `const BetaManagedAgentsDeltaTypeAgentThinking BetaManagedAgentsDeltaType = "agent.thinking"`

  - `Betas []AnthropicBeta Optional` (header parameter)

    This endpoint is in beta: requests must send `managed-agents-2026-04-01` in this header.

    - `const AnthropicBetaMessageBatches2024_09_24 AnthropicBeta = "message-batches-2024-09-24"`

    - `const AnthropicBetaPromptCaching2024_07_31 AnthropicBeta = "prompt-caching-2024-07-31"`

    - `const AnthropicBetaComputerUse2024_10_22 AnthropicBeta = "computer-use-2024-10-22"`

    - `const AnthropicBetaComputerUse2025_01_24 AnthropicBeta = "computer-use-2025-01-24"`

    - `const AnthropicBetaPDFs2024_09_25 AnthropicBeta = "pdfs-2024-09-25"`

    - `const AnthropicBetaTokenCounting2024_11_01 AnthropicBeta = "token-counting-2024-11-01"`

    - `const AnthropicBetaTokenEfficientTools2025_02_19 AnthropicBeta = "token-efficient-tools-2025-02-19"`

    - `const AnthropicBetaOutput128k2025_02_19 AnthropicBeta = "output-128k-2025-02-19"`

    - `const AnthropicBetaFilesAPI2025_04_14 AnthropicBeta = "files-api-2025-04-14"`

    - `const AnthropicBetaMCPClient2025_04_04 AnthropicBeta = "mcp-client-2025-04-04"`

    - `const AnthropicBetaMCPClient2025_11_20 AnthropicBeta = "mcp-client-2025-11-20"`

    - `const AnthropicBetaDevFullThinking2025_05_14 AnthropicBeta = "dev-full-thinking-2025-05-14"`

    - `const AnthropicBetaInterleavedThinking2025_05_14 AnthropicBeta = "interleaved-thinking-2025-05-14"`

    - `const AnthropicBetaCodeExecution2025_05_22 AnthropicBeta = "code-execution-2025-05-22"`

    - `const AnthropicBetaExtendedCacheTTL2025_04_11 AnthropicBeta = "extended-cache-ttl-2025-04-11"`

    - `const AnthropicBetaContext1m2025_08_07 AnthropicBeta = "context-1m-2025-08-07"`

    - `const AnthropicBetaContextManagement2025_06_27 AnthropicBeta = "context-management-2025-06-27"`

    - `const AnthropicBetaModelContextWindowExceeded2025_08_26 AnthropicBeta = "model-context-window-exceeded-2025-08-26"`

    - `const AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02"`

    - `const AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01"`

    - `const AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_03_24 AnthropicBeta = "user-profiles-2026-03-24"`

    - `const AnthropicBetaUserProfiles2026_08_18 AnthropicBeta = "user-profiles-2026-08-18"`

    - `const AnthropicBetaUserProfiles2026_09_04 AnthropicBeta = "user-profiles-2026-09-04"`

    - `const AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01"`

    - `const AnthropicBetaManagedAgents2026_04_01 AnthropicBeta = "managed-agents-2026-04-01"`

    - `const AnthropicBetaCacheDiagnosis2026_04_07 AnthropicBeta = "cache-diagnosis-2026-04-07"`

    - `const AnthropicBetaDreaming2026_04_21 AnthropicBeta = "dreaming-2026-04-21"`

    - `const AnthropicBetaThinkingTokenCount2026_05_13 AnthropicBeta = "thinking-token-count-2026-05-13"`

    - `const AnthropicBetaServerSideFallback2026_06_01 AnthropicBeta = "server-side-fallback-2026-06-01"`

    - `const AnthropicBetaServerSideFallback2026_07_01 AnthropicBeta = "server-side-fallback-2026-07-01"`

    - `const AnthropicBetaFallbackCredit2026_06_01 AnthropicBeta = "fallback-credit-2026-06-01"`

    - `const AnthropicBetaFallbackCredit2026_07_01 AnthropicBeta = "fallback-credit-2026-07-01"`

    - `const AnthropicBetaAgentMemory2026_07_22 AnthropicBeta = "agent-memory-2026-07-22"`

    - `const AnthropicBetaMidConversationToolChanges2026_07_01 AnthropicBeta = "mid-conversation-tool-changes-2026-07-01"`

    - `const AnthropicBetaCompact2026_01_12 AnthropicBeta = "compact-2026-01-12"`

    - `const AnthropicBetaComputerUse2025_11_24 AnthropicBeta = "computer-use-2025-11-24"`

    - `const AnthropicBetaMCPTunnels2026_06_22 AnthropicBeta = "mcp-tunnels-2026-06-22"`

    - `const AnthropicBetaStructuredOutputs2025_11_13 AnthropicBeta = "structured-outputs-2025-11-13"`

    - `const AnthropicBetaTaskBudgets2026_03_13 AnthropicBeta = "task-budgets-2026-03-13"`

    - `const AnthropicBetaThinkingDisplayUpdates2026_08_18 AnthropicBeta = "thinking-display-updates-2026-08-18"`

    - `const AnthropicBetaCEUserManagement2026_07_13 AnthropicBeta = "ce-user-management-2026-07-13"`

    - `const AnthropicBetaMidConversationOutputConfig2026_07_01 AnthropicBeta = "mid-conversation-output-config-2026-07-01"`

    - `const AnthropicBetaThinkingBindingControls2026_08_01 AnthropicBeta = "thinking-binding-controls-2026-08-01"`

    - `const AnthropicBetaMidConversationSystemClearAt2026_08_21 AnthropicBeta = "mid-conversation-system-clear-at-2026-08-21"`

    - `const AnthropicBetaCompact2026_09_04 AnthropicBeta = "compact-2026-09-04"`

    - `const AnthropicBetaInlineTools2026_09_15 AnthropicBeta = "inline-tools-2026-09-15"`

    - `const AnthropicBetaMCPClient2026_09_15 AnthropicBeta = "mcp-client-2026-09-15"`

    - `const AnthropicBetaCEPlugins2026_09_01 AnthropicBeta = "ce-plugins-2026-09-01"`

    - `const AnthropicBetaSpendLimitReads2026_09_26 AnthropicBeta = "spend-limit-reads-2026-09-26"`

    - `const AnthropicBetaTelemetryDestinations2026_08_11 AnthropicBeta = "telemetry-destinations-2026-08-11"`

  - `WorkspaceID param.Opt[string] Optional` (header parameter)

    Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).

    Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

#### Returns

- `type BetaManagedAgentsStreamSessionThreadEventsUnion interface{…}`

  Server-sent event in a single thread's stream.

  - `type BetaManagedAgentsUserMessageEvent`

    A user message event in the session conversation.

    - `Type BetaManagedAgentsUserMessageEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsUserMessageEventContentUnion`

      Array of content blocks comprising the user message.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

        - `Type BetaManagedAgentsTextBlockType`

        - `Text string`

          The text content.

          minLength: 1

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

        - `Type BetaManagedAgentsImageBlockType`

        - `Source BetaManagedAgentsImageBlockSourceUnion`

          The source of the image data.

          - `type BetaManagedAgentsBase64ImageSource`

            Base64-encoded image data.

            - `Type BetaManagedAgentsBase64ImageSourceType`

            - `Data string`

              Base64-encoded image data.

              minLength: 1

            - `MediaType string`

              MIME type of the image (e.g., "image/png", "image/jpeg", "image/gif", "image/webp").

              minLength: 1

          - `type BetaManagedAgentsURLImageSource`

            Image referenced by URL.

            - `Type BetaManagedAgentsURLImageSourceType`

            - `URL string`

              URL of the image to fetch.

              minLength: 1

          - `type BetaManagedAgentsFileImageSource`

            Image referenced by file ID.

            - `Type BetaManagedAgentsFileImageSourceType`

            - `FileID string`

              ID of a previously uploaded file.

              minLength: 1

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

        - `Type BetaManagedAgentsDocumentBlockType`

        - `Source BetaManagedAgentsDocumentBlockSourceUnion`

          The source of the document data.

          - `type BetaManagedAgentsBase64DocumentSource`

            Base64-encoded document data.

            - `Type BetaManagedAgentsBase64DocumentSourceType`

            - `Data string`

              Base64-encoded document data.

              minLength: 1

            - `MediaType string`

              MIME type of the document (e.g., "application/pdf").

              minLength: 1

          - `type BetaManagedAgentsPlainTextDocumentSource`

            Plain text document content.

            - `Type BetaManagedAgentsPlainTextDocumentSourceType`

            - `Data string`

              The plain text content.

              minLength: 1

            - `MediaType BetaManagedAgentsPlainTextDocumentSourceMediaType`

              MIME type of the text content. Must be "text/plain".

          - `type BetaManagedAgentsURLDocumentSource`

            Document referenced by URL.

            - `Type BetaManagedAgentsURLDocumentSourceType`

            - `URL string`

              URL of the document to fetch.

              minLength: 1

          - `type BetaManagedAgentsFileDocumentSource`

            Document referenced by file ID.

            - `Type BetaManagedAgentsFileDocumentSourceType`

            - `FileID string`

              ID of a previously uploaded file.

              minLength: 1

        - `Context string Optional`

          Additional context about the document for the model.

        - `Title string Optional`

          The title of the document.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

        - `Type BetaManagedAgentsRedactedBlockType`

    - `ProcessedAt Time Optional`

      Timestamp when the agent finished processing this message.

      format: date-time

  - `type BetaManagedAgentsUserInterruptEvent`

    An interrupt event that pauses agent execution and returns control to the user.

    - `Type BetaManagedAgentsUserInterruptEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time Optional`

      Timestamp when the interrupt was processed.

      format: date-time

    - `SessionThreadID string Optional`

      If absent, interrupts every non-archived thread in a multiagent session (or the primary alone in a single-agent session). If present, interrupts only the named thread.

  - `type BetaManagedAgentsUserToolConfirmationEvent`

    A tool confirmation event that approves or denies a pending tool execution.

    - `Type BetaManagedAgentsUserToolConfirmationEventType`

    - `ID string`

      Unique identifier for this event.

    - `Result BetaManagedAgentsUserToolConfirmationEventResult`

      The confirmation result: 'allow' or 'deny'.

      - `const BetaManagedAgentsUserToolConfirmationEventResultAllow BetaManagedAgentsUserToolConfirmationEventResult = "allow"`

      - `const BetaManagedAgentsUserToolConfirmationEventResultDeny BetaManagedAgentsUserToolConfirmationEventResult = "deny"`

    - `ToolUseID string`

      The id of the `agent.tool_use` or `agent.mcp_tool_use` event this result corresponds to, which can be found in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

    - `DenyMessage string Optional`

      Optional message providing context for a 'deny' decision. Only allowed when result is 'deny'.

      maxLength: 10000

    - `ProcessedAt Time Optional`

      Timestamp when the confirmation was processed.

      format: date-time

    - `SessionThreadID string Optional`

      Set by the server to the subagent thread this confirmation was routed to. Omitted when it was routed to the primary thread.

  - `type BetaManagedAgentsUserCustomToolResultEvent`

    Event sent by the client providing the result of a custom tool execution.

    - `Type BetaManagedAgentsUserCustomToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `CustomToolUseID string`

      The id of the `agent.custom_tool_use` event this result corresponds to. It is also listed in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

    - `Content []BetaManagedAgentsUserCustomToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

        - `Type BetaManagedAgentsSearchResultBlockType`

        - `Citations BetaManagedAgentsSearchResultCitations`

          Citation settings for this search result.

          - `Enabled bool`

            Whether citations are enabled for this search result.

        - `Content []BetaManagedAgentsSearchResultContent`

          Array of text content blocks from the search result.

          - `Type BetaManagedAgentsSearchResultContentType`

          - `Text string`

            The text content.

            minLength: 1

        - `Source string`

          The URL source of the search result.

          minLength: 1

        - `Title string`

          The title of the search result.

          minLength: 1

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

    - `ProcessedAt Time Optional`

      Timestamp when this result was processed.

      format: date-time

    - `SessionThreadID string Optional`

      Set by the server to the subagent thread this result was routed to. Omitted when it was routed to the primary thread.

  - `type BetaManagedAgentsAgentCustomToolUseEvent`

    Event emitted when the agent calls a custom tool. The session goes idle until the client sends a `user.custom_tool_result` event with the result. The client can send it as soon as this event arrives, without waiting for `session.status_idle`.

    - `Type BetaManagedAgentsAgentCustomToolUseEventType`

    - `ID string`

      Unique identifier for this event.

    - `Input map[string, any]`

      Input parameters for the tool call.

    - `Name string`

      Name of the custom tool being called.

    - `ProcessedAt Time`

      Timestamp when this tool use was processed.

      format: date-time

    - `SessionThreadID string Optional`

      When set, this event was cross-posted from a subagent's thread to surface its custom tool use on the primary thread's stream. Empty on the thread's own events. Informational only: the server routes the matching `user.custom_tool_result` by `custom_tool_use_id`, so clients do not send it back.

  - `type BetaManagedAgentsAgentMessageEvent`

    An agent response event in the session conversation.

    - `Type BetaManagedAgentsAgentMessageEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsAgentMessageEventContentUnion`

      Array of text blocks comprising the agent response.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

    - `ProcessedAt Time`

      Timestamp when this response was generated.

      format: date-time

  - `type BetaManagedAgentsAgentThinkingEvent`

    Indicates the agent is making forward progress via extended thinking. A progress signal, not a content carrier.

    - `Type BetaManagedAgentsAgentThinkingEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this thinking was produced.

      format: date-time

  - `type BetaManagedAgentsAgentMCPToolUseEvent`

    Event emitted when the agent invokes a tool provided by an MCP server.

    - `Type BetaManagedAgentsAgentMCPToolUseEventType`

    - `ID string`

      Unique identifier for this event.

    - `Input map[string, any]`

      Input parameters for the tool call.

    - `MCPServerName string`

      Name of the MCP server providing the tool.

    - `Name string`

      Name of the MCP tool being used.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `EvaluatedPermission BetaManagedAgentsAgentEvaluatedPermission Optional`

      The evaluated permission policy for this tool invocation.

      - `const BetaManagedAgentsAgentEvaluatedPermissionAllow BetaManagedAgentsAgentEvaluatedPermission = "allow"`

      - `const BetaManagedAgentsAgentEvaluatedPermissionAsk BetaManagedAgentsAgentEvaluatedPermission = "ask"`

      - `const BetaManagedAgentsAgentEvaluatedPermissionDeny BetaManagedAgentsAgentEvaluatedPermission = "deny"`

    - `Evaluation BetaManagedAgentsAgentToolEvaluationUnion Optional`

      Which resolved permission_policy produced evaluated_permission: always_allow, always_ask, or auto (with the server's per-invocation judgement). Absent only when the server refused the call before any policy applied (for example, the named tool is not enabled in the session); such a refusal has evaluated_permission deny. An event recorded before this field existed reads as the arm its evaluated_permission implies (always_allow for allow, always_ask for ask).

      - `type BetaManagedAgentsAgentToolEvaluationAlwaysAllow`

        The resolved permission_policy was always_allow; accompanies evaluated_permission "allow".

        - `Type AlwaysAllow`

      - `type BetaManagedAgentsAgentToolEvaluationAlwaysAsk`

        The resolved permission_policy was always_ask; accompanies evaluated_permission "ask".

        - `Type AlwaysAsk`

      - `type BetaManagedAgentsAgentToolEvaluationAuto`

        The resolved permission_policy was auto: the server judged this invocation individually.

        - `Type Auto`

        - `EvaluatedPermission BetaManagedAgentsAgentAutoEvaluatedPermissionUnion`

          The server's judgement for this invocation.

          - `type BetaManagedAgentsAgentAutoEvaluatedPermissionAllow`

            The server judged the invocation safe to execute without client approval.

            - `Type Allow`

          - `type BetaManagedAgentsAgentAutoEvaluatedPermissionAsk`

            The server reached no judgement; the invocation is held for client approval.

            - `Type Ask`

            - `ReasonCode string`

              The judgement's grounds in registry-bound terms, for client branching and audit rather than end-user display. Open registry; currently "indeterminate" (no judgement was reached). Clients must tolerate values outside this set.

              maxLength: 64

          - `type BetaManagedAgentsAgentAutoEvaluatedPermissionDeny`

            The server judged the invocation high-risk; it does not execute and a synthetic error tool result is appended.

            - `Type Deny`

            - `ReasonCode string`

              The judgement's grounds in registry-bound terms. Open registry; currently "high_risk" (judged high-risk; the call does not run). Clients must tolerate values outside this set.

              maxLength: 64

    - `SessionThreadID string Optional`

      When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Informational only: the server routes the matching `user.tool_confirmation` by `tool_use_id`, so clients do not send it back.

  - `type BetaManagedAgentsAgentMCPToolResultEvent`

    Event representing the result of an MCP tool execution.

    - `Type BetaManagedAgentsAgentMCPToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `MCPToolUseID string`

      The id of the `agent.mcp_tool_use` event this result corresponds to.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `Content []BetaManagedAgentsAgentMCPToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

  - `type BetaManagedAgentsAgentToolUseEvent`

    Event emitted when the agent invokes a built-in agent tool.

    - `Type BetaManagedAgentsAgentToolUseEventType`

    - `ID string`

      Unique identifier for this event.

    - `Input map[string, any]`

      Input parameters for the tool call.

    - `Name string`

      Name of the agent tool being used.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `EvaluatedPermission BetaManagedAgentsAgentEvaluatedPermission Optional`

      The evaluated permission policy for this tool invocation.

    - `Evaluation BetaManagedAgentsAgentToolEvaluationUnion Optional`

      Which resolved permission_policy produced evaluated_permission: always_allow, always_ask, or auto (with the server's per-invocation judgement). Absent only when the server refused the call before any policy applied (for example, the named tool is not enabled in the session); such a refusal has evaluated_permission deny. An event recorded before this field existed reads as the arm its evaluated_permission implies (always_allow for allow, always_ask for ask).

    - `SessionThreadID string Optional`

      When set, this event was cross-posted from a subagent's thread to surface its permission request on the primary thread's stream. Empty on the thread's own events. Informational only: the server routes the matching `user.tool_confirmation` or `user.tool_result` by `tool_use_id`, so clients do not send it back.

  - `type BetaManagedAgentsAgentToolResultEvent`

    Event representing the result of an agent tool execution.

    - `Type BetaManagedAgentsAgentToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `ToolUseID string`

      The id of the `agent.tool_use` event this result corresponds to.

    - `Content []BetaManagedAgentsAgentToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

  - `type BetaManagedAgentsAgentThreadMessageReceivedEvent`

    Delivery event written to the target thread's input stream when an agent-to-agent message arrives.

    - `Type BetaManagedAgentsAgentThreadMessageReceivedEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsAgentThreadMessageReceivedEventContentUnion`

      Message content blocks.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

    - `FromSessionThreadID string`

      Public `sthr_` ID of the thread that sent the message.

    - `ProcessedAt Time`

      Timestamp when the message was received.

      format: date-time

    - `FromAgentName string Optional`

      Name of the callable agent this message came from. Absent when received from the primary agent.

  - `type BetaManagedAgentsAgentThreadMessageSentEvent`

    Observability event emitted to the sender's output stream when an agent-to-agent message is sent.

    - `Type BetaManagedAgentsAgentThreadMessageSentEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsAgentThreadMessageSentEventContentUnion`

      Message content blocks.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsRedactedBlock`

        Placeholder for content withheld by Anthropic model policy.

    - `ProcessedAt Time`

      Timestamp when the message was sent.

      format: date-time

    - `ToSessionThreadID string`

      Public `sthr_` ID of the thread the message was sent to.

    - `ToAgentName string Optional`

      Name of the callable agent this message was sent to. Absent when sent to the primary agent.

  - `type BetaManagedAgentsAgentThreadContextCompactedEvent`

    Indicates that context compaction (summarization) occurred during the session.

    - `Type BetaManagedAgentsAgentThreadContextCompactedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when compaction was processed.

      format: date-time

  - `type BetaManagedAgentsSessionErrorEvent`

    An error event indicating a problem occurred during session execution.

    - `Type BetaManagedAgentsSessionErrorEventType`

    - `ID string`

      Unique identifier for this event.

    - `Error BetaManagedAgentsSessionErrorEventErrorUnion`

      - `type BetaManagedAgentsUnknownError`

        An unknown or unexpected error occurred during session execution. A fallback variant; clients that don't recognize a new error code can match on `retry_status` and `message` alone.

        - `Type BetaManagedAgentsUnknownErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsUnknownErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

            - `Type BetaManagedAgentsRetryStatusRetryingType`

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

            - `Type BetaManagedAgentsRetryStatusExhaustedType`

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

            - `Type BetaManagedAgentsRetryStatusTerminalType`

      - `type BetaManagedAgentsModelOverloadedError`

        The model is currently overloaded. Emitted after automatic retries are exhausted.

        - `Type BetaManagedAgentsModelOverloadedErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsModelOverloadedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsModelRateLimitedError`

        The model request was rate-limited.

        - `Type BetaManagedAgentsModelRateLimitedErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsModelRateLimitedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsModelRequestFailedError`

        A model request failed for a reason other than overload or rate-limiting.

        - `Type BetaManagedAgentsModelRequestFailedErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsModelRequestFailedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsMCPConnectionFailedError`

        Failed to connect to an MCP server.

        - `Type BetaManagedAgentsMCPConnectionFailedErrorType`

        - `MCPServerName string`

          Name of the MCP server that failed to connect.

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsMCPConnectionFailedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsMCPAuthenticationFailedError`

        Authentication to an MCP server failed.

        - `Type BetaManagedAgentsMCPAuthenticationFailedErrorType`

        - `MCPServerName string`

          Name of the MCP server that failed authentication.

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsMCPAuthenticationFailedErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsBillingError`

        The caller's organization or workspace cannot make model requests — out of credits or spend limit reached. Retrying with the same credentials will not succeed; the caller must resolve the billing state.

        - `Type BetaManagedAgentsBillingErrorType`

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsBillingErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsCredentialHostUnreachableError`

        An `environment_variable` credential's `auth.networking.allowed_hosts` includes a host the environment's network policy does not permit.

        - `Type BetaManagedAgentsCredentialHostUnreachableErrorType`

        - `CredentialID string`

          ID of the affected credential.

        - `Message string`

          Human-readable error description.

        - `RetryStatus BetaManagedAgentsCredentialHostUnreachableErrorRetryStatusUnion`

          What the client should do next.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

        - `VaultID string`

          ID of the vault containing the affected credential.

      - `type BetaManagedAgentsRepositoryAuthenticationError`

        The repository host rejected the credentials, or required credentials and received none.

        - `Type RepositoryAuthenticationError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryAuthenticationErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryForbiddenError`

        The repository host refused access to the repository.

        - `Type RepositoryForbiddenError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryForbiddenErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryNotFoundError`

        The repository host reported the repository as not found.

        - `Type RepositoryNotFoundError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryNotFoundErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryCheckoutError`

        The requested branch or commit does not exist in the repository.

        - `Type RepositoryCheckoutError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryCheckoutErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

      - `type BetaManagedAgentsRepositoryCloneError`

        The repository could not be cloned.

        - `Type RepositoryCloneError`

        - `Message string`

          Human-readable error description.

        - `RepositoryURL string`

          URL of the repository that could not be cloned. Null when it could not be identified.

        - `RetryStatus BetaManagedAgentsRepositoryCloneErrorRetryStatusUnion`

          What the client should do next. Always `retrying`: the session keeps running without the repository.

          - `type BetaManagedAgentsRetryStatusRetrying`

            The server is retrying automatically. Client should wait; the same error type may fire again as retrying, then once as exhausted when the retry budget runs out.

          - `type BetaManagedAgentsRetryStatusExhausted`

            This turn is dead; queued inputs are flushed and the session returns to idle. Client may send a new prompt.

          - `type BetaManagedAgentsRetryStatusTerminal`

            The session encountered a terminal error and will transition to `terminated` state.

    - `ProcessedAt Time`

      Timestamp when the error occurred.

      format: date-time

  - `type BetaManagedAgentsSessionStatusRescheduledEvent`

    Indicates the session is recovering from an error state and is rescheduled for execution.

    - `Type BetaManagedAgentsSessionStatusRescheduledEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

  - `type BetaManagedAgentsSessionStatusRunningEvent`

    Indicates the session is actively running and the agent is working.

    - `Type BetaManagedAgentsSessionStatusRunningEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

  - `type BetaManagedAgentsSessionStatusIdleEvent`

    Indicates the agent has paused and is awaiting user input.

    - `Type BetaManagedAgentsSessionStatusIdleEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

    - `StopDetails BetaManagedAgentsSessionRefusalStopDetails`

      Structured information about why the session stopped. `null` when there is nothing more to report.

      - `Type Refusal`

      - `Category BetaManagedAgentsSessionRefusalStopDetailsCategory`

        The policy category that triggered the refusal, or `null` when there is no named category. New values can be added over time.

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryCyber BetaManagedAgentsSessionRefusalStopDetailsCategory = "cyber"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryBio BetaManagedAgentsSessionRefusalStopDetailsCategory = "bio"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryFrontierLLM BetaManagedAgentsSessionRefusalStopDetailsCategory = "frontier_llm"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryReasoningExtraction BetaManagedAgentsSessionRefusalStopDetailsCategory = "reasoning_extraction"`

        - `const BetaManagedAgentsSessionRefusalStopDetailsCategoryGeneralHarms BetaManagedAgentsSessionRefusalStopDetailsCategory = "general_harms"`

      - `Explanation string`

        Human-readable explanation of the refusal, or `null` when none is available. The wording can change, so do not parse it.

    - `StopReason BetaManagedAgentsSessionStatusIdleEventStopReasonUnion`

      - `type BetaManagedAgentsSessionEndTurn`

        The agent completed its turn naturally and is ready for the next user message.

        - `Type BetaManagedAgentsSessionEndTurnType`

      - `type BetaManagedAgentsSessionRequiresAction`

        The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

        - `Type BetaManagedAgentsSessionRequiresActionType`

        - `EventIDs []string`

          The ids of events the agent is blocked on. Resolving fewer than all re-emits `session.status_idle` with the remainder.

      - `type BetaManagedAgentsSessionRetriesExhausted`

        The turn ended because repeated errors exhausted the retry budget or an error escalated to `retry_status: 'exhausted'`.

        - `Type BetaManagedAgentsSessionRetriesExhaustedType`

      - `type BetaManagedAgentsSessionBudgetReached`

        The agent stopped because the session's tracked list cost reached its budget, or because its usage includes a model with no list price (which the budget cannot measure). Raise the budget to continue — or, if raising is rejected because a model has no list price, remove the budget.

        - `Type BetaManagedAgentsSessionBudgetReachedType`

      - `type BetaManagedAgentsSessionRefusal`

        The turn ended because the model's response was refused, for example by a safety classifier.

        - `Type Refusal`

  - `type BetaManagedAgentsSessionStatusTerminatedEvent`

    Indicates the session has terminated, either due to an error or completion.

    - `Type BetaManagedAgentsSessionStatusTerminatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp of status change.

      format: date-time

  - `type BetaManagedAgentsSessionThreadCreatedEvent`

    Emitted when a child thread is created. Written to the parent thread's output stream so clients observing the session see child creation.

    - `Type BetaManagedAgentsSessionThreadCreatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the callable agent the thread runs.

    - `ProcessedAt Time`

      Timestamp when the thread was created.

      format: date-time

    - `SessionThreadID string`

      Public `sthr_` ID of the newly created thread.

    - `WorkflowRunID string`

      Identifier of the workflow run that created the thread, or `null` for any other thread.

  - `type BetaManagedAgentsSpanOutcomeEvaluationStartEvent`

    Emitted when an outcome evaluation cycle begins.

    - `Type BetaManagedAgentsSpanOutcomeEvaluationStartEventType`

    - `ID string`

      Unique identifier for this event.

    - `Iteration int64`

      0-indexed revision cycle. 0 is the first evaluation; 1 is the re-evaluation after the first revision; etc.

      format: int32

    - `OutcomeID string`

      The `outc_` ID of the outcome being evaluated.

    - `ProcessedAt Time`

      Timestamp when outcome evaluation started.

      format: date-time

  - `type BetaManagedAgentsSpanOutcomeEvaluationEndEvent`

    Emitted when an outcome evaluation cycle completes. Carries the verdict and aggregate token usage. A verdict of `needs_revision` means another evaluation cycle follows; `satisfied`, `max_iterations_reached`, `failed`, or `interrupted` are terminal — no further evaluation cycles follow.

    - `Type BetaManagedAgentsSpanOutcomeEvaluationEndEventType`

    - `ID string`

      Unique identifier for this event.

    - `Explanation string`

      Human-readable explanation of the verdict. For `needs_revision`, describes which criteria failed and why.

    - `Iteration int64`

      0-indexed revision cycle, matching the corresponding `span.outcome_evaluation_start`.

      format: int32

    - `OutcomeEvaluationStartID string`

      The id of the corresponding `span.outcome_evaluation_start` event.

    - `OutcomeID string`

      The `outc_` ID of the outcome being evaluated.

    - `ProcessedAt Time`

      Timestamp when outcome evaluation ended.

      format: date-time

    - `Result string`

      Evaluation verdict. 'satisfied': criteria met, session goes idle. 'needs_revision': criteria not met, another revision cycle follows. 'max_iterations_reached': evaluation budget exhausted with criteria still unmet — one final acknowledgment turn follows before the session goes idle, but no further evaluation runs. 'failed': grader determined the rubric does not apply to the deliverables. 'interrupted': user sent an interrupt while evaluation was in progress.

    - `Usage BetaManagedAgentsSpanModelUsage`

      Aggregate token usage for this evaluation cycle. Sums across all grader model requests within the cycle.

      - `CacheCreationInputTokens int64`

        Tokens used to create prompt cache in this request.

        format: int32

      - `CacheReadInputTokens int64`

        Tokens read from prompt cache in this request.

        format: int32

      - `InputTokens int64`

        Input tokens consumed by this request.

        format: int32

      - `OutputTokens int64`

        Output tokens generated by this request.

        format: int32

      - `Speed BetaManagedAgentsSpanModelUsageSpeed Optional`

        Inference speed tier this request actually ran at. Mirrors `usage.speed` on /v1/messages. Only present when the fast-mode beta is active.

        - `const BetaManagedAgentsSpanModelUsageSpeedStandard BetaManagedAgentsSpanModelUsageSpeed = "standard"`

        - `const BetaManagedAgentsSpanModelUsageSpeedFast BetaManagedAgentsSpanModelUsageSpeed = "fast"`

  - `type BetaManagedAgentsSpanModelRequestStartEvent`

    Emitted when a model request is initiated by the agent.

    - `Type BetaManagedAgentsSpanModelRequestStartEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the model request started.

      format: date-time

  - `type BetaManagedAgentsSpanModelRequestEndEvent`

    Emitted when a model request completes.

    - `Type BetaManagedAgentsSpanModelRequestEndEventType`

    - `ID string`

      Unique identifier for this event.

    - `IsError bool`

      Whether the model request resulted in an error.

    - `ModelRequestStartID string`

      The id of the corresponding `span.model_request_start` event.

    - `ModelUsage BetaManagedAgentsSpanModelUsage`

      Token usage for this model request.

    - `ProcessedAt Time`

      Timestamp when the model request completed.

      format: date-time

  - `type BetaManagedAgentsSpanOutcomeEvaluationOngoingEvent`

    Periodic heartbeat emitted while an outcome evaluation cycle is in progress. Distinguishes 'evaluation is actively running' from 'evaluation is stuck' between the corresponding `span.outcome_evaluation_start` and `span.outcome_evaluation_end` events.

    - `Type BetaManagedAgentsSpanOutcomeEvaluationOngoingEventType`

    - `ID string`

      Unique identifier for this event.

    - `Iteration int64`

      0-indexed revision cycle, matching the corresponding `span.outcome_evaluation_start`.

      format: int32

    - `OutcomeID string`

      The `outc_` ID of the outcome being evaluated.

    - `ProcessedAt Time`

      Timestamp when this heartbeat was emitted.

      format: date-time

  - `type BetaManagedAgentsUserDefineOutcomeEvent`

    Echo of a `user.define_outcome` input event. Carries the server-generated `outcome_id` that subsequent `span.outcome_evaluation_*` events reference.

    - `Type BetaManagedAgentsUserDefineOutcomeEventType`

    - `ID string`

      Unique identifier for this event.

    - `Description string`

      What the agent should produce. Copied from the input event.

    - `MaxIterations int64`

      Evaluate-then-revise cycles before giving up. Default 3, max 20.

      format: int32

    - `OutcomeID string`

      Server-generated `outc_` ID for this outcome. Referenced by `span.outcome_evaluation_*` events and the session's `outcome_evaluations` list.

    - `ProcessedAt Time`

      Timestamp when the outcome was accepted.

      format: date-time

    - `Rubric BetaManagedAgentsUserDefineOutcomeEventRubricUnion`

      How to grade the outcome. File rubrics are currently resolved to their text content; clients should handle both variants.

      - `type BetaManagedAgentsFileRubric`

        Rubric referenced by a file uploaded via the Files API.

        - `Type BetaManagedAgentsFileRubricType`

        - `FileID string`

          ID of the rubric file.

      - `type BetaManagedAgentsTextRubric`

        Rubric content provided inline as text.

        - `Type BetaManagedAgentsTextRubricType`

        - `Content string`

          Rubric content. Plain text or markdown — the grader treats it as freeform text.

  - `type BetaManagedAgentsSessionDeletedEvent`

    Emitted when a session has been deleted. Terminates any active event stream — no further events will be emitted for this session.

    - `Type BetaManagedAgentsSessionDeletedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the session was deleted.

      format: date-time

  - `type BetaManagedAgentsSessionThreadStatusRunningEvent`

    A session thread has begun executing. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusRunningEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that started running.

  - `type BetaManagedAgentsSessionThreadStatusIdleEvent`

    A session thread has yielded and is awaiting input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusIdleEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that went idle.

    - `StopDetails BetaManagedAgentsSessionRefusalStopDetails`

      Structured information about why the thread stopped. `null` when there is nothing more to report.

    - `StopReason BetaManagedAgentsSessionThreadStatusIdleEventStopReasonUnion`

      - `type BetaManagedAgentsSessionEndTurn`

        The agent completed its turn naturally and is ready for the next user message.

      - `type BetaManagedAgentsSessionRequiresAction`

        The agent is idle waiting on one or more blocking user-input events (tool confirmation, custom tool result, etc.). Resolving all of them transitions the session back to running.

      - `type BetaManagedAgentsSessionRetriesExhausted`

        The turn ended because repeated errors exhausted the retry budget or an error escalated to `retry_status: 'exhausted'`.

      - `type BetaManagedAgentsSessionBudgetReached`

        The agent stopped because the session's tracked list cost reached its budget, or because its usage includes a model with no list price (which the budget cannot measure). Raise the budget to continue — or, if raising is rejected because a model has no list price, remove the budget.

      - `type BetaManagedAgentsSessionRefusal`

        The turn ended because the model's response was refused, for example by a safety classifier.

  - `type BetaManagedAgentsSessionThreadStatusTerminatedEvent`

    A session thread has terminated and will accept no further input. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusTerminatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that terminated.

  - `type BetaManagedAgentsUserToolResultEvent`

    Event sent by the client providing the result of an agent-toolset tool execution. Only valid on `self_hosted` environments, where sandbox-routed tools are executed by the client rather than the server.

    - `Type BetaManagedAgentsUserToolResultEventType`

    - `ID string`

      Unique identifier for this event.

    - `ToolUseID string`

      The id of the `agent.tool_use` event this result corresponds to, which can be found in the last `session.status_idle` [event's](https://platform.claude.com/docs/en/api/beta/sessions/events/list?sdk_languages=go#beta_managed_agents_session_requires_action.event_ids) `stop_reason.event_ids` field.

    - `Content []BetaManagedAgentsUserToolResultEventContentUnion Optional`

      The result content returned by the tool.

      - `type BetaManagedAgentsTextBlock`

        Regular text content.

      - `type BetaManagedAgentsImageBlock`

        Image content specified directly as base64 data or as a reference via a URL.

      - `type BetaManagedAgentsDocumentBlock`

        Document content, either specified directly as base64 data, as text, or as a reference via a URL.

      - `type BetaManagedAgentsSearchResultBlock`

        A block containing a web search result.

    - `IsError bool Optional`

      Whether the tool execution resulted in an error.

    - `ProcessedAt Time Optional`

      Timestamp when this result was processed.

      format: date-time

    - `SessionThreadID string Optional`

      Set by the server to the subagent thread this result was routed to. Omitted when it was routed to the primary thread.

  - `type BetaManagedAgentsSessionThreadStatusRescheduledEvent`

    A session thread hit a transient error and is retrying automatically. Emitted on the thread's own stream and cross-posted to the primary stream for child threads.

    - `Type BetaManagedAgentsSessionThreadStatusRescheduledEventType`

    - `ID string`

      Unique identifier for this event.

    - `AgentName string`

      Name of the agent the thread runs.

    - `ProcessedAt Time`

      Timestamp of the status transition.

      format: date-time

    - `SessionThreadID string`

      Public sthr_ ID of the thread that is retrying.

  - `type BetaManagedAgentsSessionUpdatedEvent`

    Emitted when an UpdateSession request changed at least one field. Carries only the fields that changed; absent fields were not part of the update. The new configuration applies from the next turn.

    - `Type BetaManagedAgentsSessionUpdatedEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the update was applied.

      format: date-time

    - `Agent BetaManagedAgentsSessionAgent Optional`

      The session's effective agent configuration after the update. Present only when the update changed `agent` (tools or mcp_servers); when present it is the full materialised snapshot, not a diff.

      - `Type BetaManagedAgentsSessionAgentType`

      - `ID string`

      - `Description string`

      - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

        Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

        - `type BetaManagedAgentsAWSRoleExecutionIdentity`

          An AWS IAM role principal as returned in API responses.

          - `Type AWSRole`

          - `RoleARN string`

            The IAM role's ARN.

        - `type BetaManagedAgentsServiceAccountExecutionIdentity`

          The Anthropic-managed service account as returned in API responses.

          - `Type ServiceAccount`

      - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

        - `Type BetaManagedAgentsMCPServerURLDefinitionType`

        - `Name string`

        - `URL string`

      - `Model BetaManagedAgentsModelConfig`

        Model identifier and configuration.

        - `ID BetaManagedAgentsModel`

          The model that will power your agent.

          See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.

          - `const BetaManagedAgentsModelClaudeHaiku5_5 BetaManagedAgentsModel = "claude-haiku-5-5"`

            Fastest model for high-volume, real-time tasks

          - `const BetaManagedAgentsModelClaudeSonnet5_5 BetaManagedAgentsModel = "claude-sonnet-5-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeOpus5_5 BetaManagedAgentsModel = "claude-opus-5-5"`

            Powerful intelligence for coding, knowledge work, and long-running agents

          - `const BetaManagedAgentsModelClaudeFable5_1 BetaManagedAgentsModel = "claude-fable-5-1"`

            Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows

          - `const BetaManagedAgentsModelClaudeSonnet5 BetaManagedAgentsModel = "claude-sonnet-5"`

            Efficient model for coding and agents

          - `const BetaManagedAgentsModelClaudeFable5 BetaManagedAgentsModel = "claude-fable-5"`

            Next generation of intelligence for the hardest knowledge work and coding problems

          - `const BetaManagedAgentsModelClaudeOpus5 BetaManagedAgentsModel = "claude-opus-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_8 BetaManagedAgentsModel = "claude-opus-4-8"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_7 BetaManagedAgentsModel = "claude-opus-4-7"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_6 BetaManagedAgentsModel = "claude-opus-4-6"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_6 BetaManagedAgentsModel = "claude-sonnet-4-6"`

            Best combination of speed and intelligence

          - `const BetaManagedAgentsModelClaudeHaiku4_5 BetaManagedAgentsModel = "claude-haiku-4-5"`

          - `const BetaManagedAgentsModelClaudeHaiku4_5_20251001 BetaManagedAgentsModel = "claude-haiku-4-5-20251001"`

          - `const BetaManagedAgentsModelClaudeOpus4_5 BetaManagedAgentsModel = "claude-opus-4-5"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeOpus4_5_20251101 BetaManagedAgentsModel = "claude-opus-4-5-20251101"`

            Powerful intelligence for long-running agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5 BetaManagedAgentsModel = "claude-sonnet-4-5"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

          - `const BetaManagedAgentsModelClaudeSonnet4_5_20250929 BetaManagedAgentsModel = "claude-sonnet-4-5-20250929"`

            **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.

            High-performance model for agents and coding

        - `Effort BetaManagedAgentsModelConfigEffortUnion Optional`

          How hard Claude works on each inference call. One of `low`, `medium`, `high`, `xhigh`, `max`. Always present; resolved to the per-model default at save time when not supplied.

          - `type BetaManagedAgentsEffortLow`

            Low effort. Favors latency over reasoning depth.

            - `Type BetaManagedAgentsEffortLowType`

          - `type BetaManagedAgentsEffortMedium`

            Medium effort. Balances latency and reasoning depth.

            - `Type BetaManagedAgentsEffortMediumType`

          - `type BetaManagedAgentsEffortHigh`

            High effort. Favors reasoning depth.

            - `Type BetaManagedAgentsEffortHighType`

          - `type BetaManagedAgentsEffortXhigh`

            Extra-high effort. Not all models accept this level.

            - `Type BetaManagedAgentsEffortXhighType`

          - `type BetaManagedAgentsEffortMax`

            Maximum effort. Favors reasoning depth over latency.

            - `Type BetaManagedAgentsEffortMaxType`

        - `InferenceGeo string Optional`

          Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.

        - `Speed BetaManagedAgentsModelConfigSpeed Optional`

          Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Defaults to `standard`. Not all models support `fast`; invalid combinations are rejected at create time.

          - `const BetaManagedAgentsModelConfigSpeedStandard BetaManagedAgentsModelConfigSpeed = "standard"`

          - `const BetaManagedAgentsModelConfigSpeedFast BetaManagedAgentsModelConfigSpeed = "fast"`

      - `Multiagent BetaManagedAgentsSessionMultiagentUnion`

        Resolved multiagent orchestration configuration. Null when the agent is single-threaded.

        - `type BetaManagedAgentsSessionMultiagentCoordinator`

          Resolved coordinator topology with full agent definitions for each roster member.

          - `Type BetaManagedAgentsSessionMultiagentCoordinatorType`

          - `Agents []BetaManagedAgentsSessionMultiagentCoordinatorAgentUnion`

            Full `agent` definitions the coordinator may spawn as session threads.

            - `type 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`.

              - `Type BetaManagedAgentsSessionThreadAgentType`

              - `ID string`

              - `Description string`

              - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

              - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

                - `Type BetaManagedAgentsMCPServerURLDefinitionType`

                - `Name string`

                - `URL string`

              - `Model BetaManagedAgentsModelConfig`

                Model identifier and configuration.

              - `Name string`

              - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

                - `type BetaManagedAgentsAnthropicSkill`

                  A resolved Anthropic-managed skill.

                  - `Type BetaManagedAgentsAnthropicSkillType`

                  - `SkillID string`

                  - `Version string`

                - `type BetaManagedAgentsCustomSkill`

                  A resolved user-created custom skill.

                  - `Type BetaManagedAgentsCustomSkillType`

                  - `SkillID string`

                  - `Version string`

              - `System string`

              - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

                - `type BetaManagedAgentsAgentToolset20260401`

                  - `Type BetaManagedAgentsAgentToolset20260401Type`

                  - `Configs []BetaManagedAgentsAgentToolConfigUnion`

                    - `type BetaManagedAgentsBashToolConfig`

                      Configuration for the bash tool.

                      - `Type Bash`

                      - `Enabled bool`

                      - `Name Bash`

                      - `PermissionPolicy BetaManagedAgentsBashToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                          - `Type BetaManagedAgentsAlwaysAllowPolicyType`

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                          - `Type BetaManagedAgentsAlwaysAskPolicyType`

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                          - `Type Auto`

                    - `type BetaManagedAgentsEditToolConfig`

                      Configuration for the edit tool.

                      - `Type Edit`

                      - `Enabled bool`

                      - `Name Edit`

                      - `PermissionPolicy BetaManagedAgentsEditToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsReadToolConfig`

                      Configuration for the read tool.

                      - `Type Read`

                      - `Enabled bool`

                      - `Name Read`

                      - `PermissionPolicy BetaManagedAgentsReadToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsWriteToolConfig`

                      Configuration for the write tool.

                      - `Type Write`

                      - `Enabled bool`

                      - `Name Write`

                      - `PermissionPolicy BetaManagedAgentsWriteToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsGlobToolConfig`

                      Configuration for the glob tool.

                      - `Type Glob`

                      - `Enabled bool`

                      - `Name Glob`

                      - `PermissionPolicy BetaManagedAgentsGlobToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsGrepToolConfig`

                      Configuration for the grep tool.

                      - `Type Grep`

                      - `Enabled bool`

                      - `Name Grep`

                      - `PermissionPolicy BetaManagedAgentsGrepToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                    - `type BetaManagedAgentsWebFetchToolConfig`

                      Configuration for the web_fetch tool.

                      - `Type WebFetch`

                      - `Enabled bool`

                      - `Name WebFetch`

                      - `PermissionPolicy BetaManagedAgentsWebFetchToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                      - `URLSources BetaManagedAgentsWebFetchURLSources`

                        Which sources contribute URLs the tool may fetch, always in the object form. Null when not set, which allows every source.

                        - `ClientToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                          Which custom tools' results contribute URLs that may be fetched. Null when not set, which allows every custom tool's results.

                          - `type BetaManagedAgentsWebFetchURLSourceAll`

                            Every URL from this source may be fetched. This is the default.

                            - `Type All`

                          - `type BetaManagedAgentsWebFetchURLSourceNone`

                            This source contributes no URLs that may be fetched.

                            - `Type None`

                          - `type BetaManagedAgentsWebFetchURLSourceOnly`

                            Only the named tools' results contribute URLs that may be fetched.

                            - `Type Only`

                            - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                              The tools whose results contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "none" to allow no tool's results.

                              - `Type ToolReference`

                                Must be "tool_reference".

                              - `Name string`

                                Name of the tool. Compared exactly, so upper and lower case letters are different.

                                minLength: 1, maxLength: 128

                          - `type BetaManagedAgentsWebFetchURLSourceExcept`

                            Every tool's results contribute URLs that may be fetched, except the named tools' results.

                            - `Type Except`

                            - `Tools []BetaManagedAgentsWebFetchURLSourceToolReference`

                              The tools whose results do not contribute. Between 1 and 128 entries, each with a different name. An empty list is rejected; use "all" to leave out no tool's results.

                              - `Type ToolReference`

                                Must be "tool_reference".

                              - `Name string`

                                Name of the tool. Compared exactly, so upper and lower case letters are different.

                                minLength: 1, maxLength: 128

                        - `ServerToolResults BetaManagedAgentsWebFetchURLSourceToolFilterUnion`

                          Which of the web_search and web_fetch tools' results contribute URLs that may be fetched. Null when not set, which allows both.

                        - `UserInput BetaManagedAgentsWebFetchURLSourceUserInputUnion`

                          Whether URLs in the text of user messages may be fetched. Null when not set, which allows them.

                          - `type BetaManagedAgentsWebFetchURLSourceAll`

                            Every URL from this source may be fetched. This is the default.

                          - `type BetaManagedAgentsWebFetchURLSourceNone`

                            This source contributes no URLs that may be fetched.

                      - `AllowedDomains []string Optional`

                      - `BlockedDomains []string Optional`

                      - `MaxContentTokens int64 Optional`

                        format: int32

                    - `type BetaManagedAgentsWebSearchToolConfig`

                      Configuration for the web_search tool.

                      - `Type WebSearch`

                      - `Enabled bool`

                      - `Name WebSearch`

                      - `PermissionPolicy BetaManagedAgentsWebSearchToolConfigPermissionPolicyUnion`

                        Permission policy for tool execution.

                        - `type BetaManagedAgentsAlwaysAllowPolicy`

                          Tool calls are automatically approved without user confirmation.

                        - `type BetaManagedAgentsAlwaysAskPolicy`

                          Tool calls require user confirmation before execution.

                        - `type BetaManagedAgentsAutoPolicy`

                          The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                      - `AllowedDomains []string Optional`

                      - `BlockedDomains []string Optional`

                      - `UserLocation BetaManagedAgentsUserLocation Optional`

                        Approximate user location for search result localization.

                        - `Type Approximate`

                          Location precision. Only "approximate" is supported.

                        - `City string Optional`

                          City name.

                          minLength: 1, maxLength: 255

                        - `Country string Optional`

                          Two-letter ISO 3166-1 country code, uppercase.

                        - `Region string Optional`

                          Region or state name.

                          minLength: 1, maxLength: 255

                        - `Timezone string Optional`

                          IANA timezone identifier, e.g. "America/Los_Angeles".

                          minLength: 1, maxLength: 255

                  - `DefaultConfig BetaManagedAgentsAgentToolsetDefaultConfig`

                    Resolved default configuration for agent tools.

                    - `Enabled bool`

                    - `PermissionPolicy BetaManagedAgentsAgentToolsetDefaultConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                - `type BetaManagedAgentsMCPToolset`

                  - `Type BetaManagedAgentsMCPToolsetType`

                  - `Configs []BetaManagedAgentsMCPToolConfig`

                    - `Enabled bool`

                    - `Name string`

                    - `PermissionPolicy BetaManagedAgentsMCPToolConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `DefaultConfig BetaManagedAgentsMCPToolsetDefaultConfig`

                    Resolved default configuration for all tools from an MCP server.

                    - `Enabled bool`

                    - `PermissionPolicy BetaManagedAgentsMCPToolsetDefaultConfigPermissionPolicyUnion`

                      Permission policy for tool execution.

                      - `type BetaManagedAgentsAlwaysAllowPolicy`

                        Tool calls are automatically approved without user confirmation.

                      - `type BetaManagedAgentsAlwaysAskPolicy`

                        Tool calls require user confirmation before execution.

                      - `type BetaManagedAgentsAutoPolicy`

                        The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.

                  - `MCPServerName string`

                - `type BetaManagedAgentsCustomTool`

                  A custom tool as returned in API responses.

                  - `Type BetaManagedAgentsCustomToolType`

                  - `Description string`

                  - `InputSchema BetaManagedAgentsCustomToolInputSchema`

                    JSON Schema for custom tool input parameters.

                    - `Type Object`

                    - `Properties map[string, any] Optional`

                    - `Required []string Optional`

                  - `Name string`

              - `Version int64`

                format: int32

            - `type BetaManagedAgentsAdvisor`

              Platform advisor roster entry: a model the session's primary thread may consult mid-turn.

              - `Type BetaManagedAgentsAdvisorType`

              - `Model string`

                The advisor model id.

        - `type BetaManagedAgentsSessionMultiagent20261001`

          Resolved multiagent configuration with three members, as copied to the `session` at creation.

          - `Type Multiagent20261001`

          - `Advisor BetaManagedAgentsMultiagentAdvisorUnion`

            Whether the session's primary thread can consult an advisor model.

            - `type BetaManagedAgentsMultiagentAdvisorEnabled`

              The session's primary thread can consult `model` mid-turn.

              - `Type Enabled`

              - `Model string`

                The advisor model id.

            - `type BetaManagedAgentsMultiagentAdvisorDisabled`

              The agent has no advisor.

              - `Type Disabled`

          - `Subagents BetaManagedAgentsSessionMultiagentSubagentsUnion`

            Whether the agent can spawn session threads.

            - `type BetaManagedAgentsSessionMultiagentSubagentsEnabled`

              The agent can spawn session threads.

              - `Type Enabled`

              - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

                Whether the agent can define inline agents, which are not saved, when it spawns session threads.

                - `type BetaManagedAgentsMultiagentInlineAgentsEnabled`

                  The agent can define inline agents.

                  - `Type Enabled`

                - `type BetaManagedAgentsMultiagentInlineAgentsDisabled`

                  The agent cannot define inline agents.

                  - `Type Disabled`

              - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

                Full `agent` definitions of the predefined agents, which are saved agents that this agent can spawn as session threads.

                - `Type BetaManagedAgentsSessionThreadAgentType`

                - `ID string`

                - `Description string`

                - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                  Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

                - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

                - `Model BetaManagedAgentsModelConfig`

                  Model identifier and configuration.

                - `Name string`

                - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

                - `System string`

                - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

                - `Version int64`

                  format: int32

            - `type BetaManagedAgentsMultiagentSubagentsDisabled`

              The agent cannot spawn session threads.

              - `Type Disabled`

          - `Workflows BetaManagedAgentsSessionMultiagentWorkflowsUnion`

            Whether the agent can start workflow runs.

            - `type BetaManagedAgentsSessionMultiagentWorkflowsEnabled`

              The agent can start workflow runs.

              - `Type Enabled`

              - `InlineAgents BetaManagedAgentsMultiagentInlineAgentsUnion`

                Whether a run's plan can define inline agents, which are not saved.

              - `PredefinedAgents []BetaManagedAgentsSessionThreadAgent`

                Full `agent` definitions of the predefined agents, which are saved agents that a run's plan can use.

                - `Type BetaManagedAgentsSessionThreadAgentType`

                - `ID string`

                - `Description string`

                - `ExecutionIdentity BetaManagedAgentsExecutionIdentityUnion`

                  Execution principal snapshotted from the agent at session creation. Always present; `{"type": "service_account"}` when runs carry no customer-named principal.

                - `MCPServers []BetaManagedAgentsMCPServerURLDefinition`

                - `Model BetaManagedAgentsModelConfig`

                  Model identifier and configuration.

                - `Name string`

                - `Skills []BetaManagedAgentsSessionThreadAgentSkillUnion`

                - `System string`

                - `Tools []BetaManagedAgentsSessionThreadAgentToolUnion`

                - `Version int64`

                  format: int32

            - `type BetaManagedAgentsMultiagentWorkflowsDisabled`

              The agent cannot start workflow runs.

              - `Type Disabled`

      - `Name string`

      - `Skills []BetaManagedAgentsSessionAgentSkillUnion`

        - `type BetaManagedAgentsAnthropicSkill`

          A resolved Anthropic-managed skill.

        - `type BetaManagedAgentsCustomSkill`

          A resolved user-created custom skill.

      - `System string`

      - `Tools []BetaManagedAgentsSessionAgentToolUnion`

        - `type BetaManagedAgentsAgentToolset20260401`

        - `type BetaManagedAgentsMCPToolset`

        - `type BetaManagedAgentsCustomTool`

          A custom tool as returned in API responses.

      - `Version int64`

        format: int32

    - `Budget BetaManagedAgentsBudgetLimit Optional`

      The session's budget after the update: the new budget when set or replaced, or null when the update removed it. Present only when the update changed the budget.

      - `Type BetaManagedAgentsBudgetLimitType`

      - `MaxListCost BetaMonetaryAmount`

        Maximum list cost the session may accrue. List price is used regardless of any negotiated discount, so the cap fires at or before the actual charge.

        - `Amount string`

          Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

        - `Currency BetaCurrency`

          Uppercase ISO-4217 currency code. `USD` is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

    - `Metadata map[string, string] Optional`

      The session's full metadata bag after the update. Present when the update set non-empty metadata; absent when metadata was unchanged or cleared to empty.

    - `Title string Optional`

      The session's new title. Present only when the update changed it.

  - `type BetaManagedAgentsStartEvent`

    Opens a preview of a buffered event. Carries the previewed event's type and id only. Followed by zero or more event_delta events with the same event id, normally concluded by the buffered event carrying that id. If the producing model request ends without that event (an error or interrupt mid-stream), its terminal span.model_request_end closes the preview. Only sent on stream connections that opt in via event_deltas; never appears in event history.

    - `Type BetaManagedAgentsStartEventType`

    - `Event BetaManagedAgentsStartEventPreviewUnion`

      The previewed event's type and id. The event type determines which delta types the preview's event_delta events carry: agent.message events stream content_delta fragments; agent.thinking previews are start-only — no deltas follow, and the buffered agent.thinking with the same id concludes them.

      - `type BetaManagedAgentsAgentMessagePreview`

        - `Type BetaManagedAgentsAgentMessagePreviewType`

        - `ID string`

          The id the buffered agent.message will carry if it is emitted. Matches the event_id on this preview's event_delta events.

      - `type BetaManagedAgentsAgentThinkingPreview`

        - `Type BetaManagedAgentsAgentThinkingPreviewType`

        - `ID string`

          The id the buffered agent.thinking will carry if it is emitted. Start-only — no event_delta events follow.

  - `type BetaManagedAgentsDeltaEvent`

    An incremental update to an event that is still being streamed. Deltas are best-effort and may stop early; when the buffered event with id == event_id is produced it carries the complete content. A model request that ends early (an error or interrupt) produces no buffered event — its terminal span.model_request_end closes the preview. Only sent on stream connections that opt in via event_deltas; never appears in event history.

    - `Type BetaManagedAgentsDeltaEventType`

    - `Delta BetaManagedAgentsDeltaContent`

      One fragment of the previewed event. The delta type is named for the previewed event's field it streams into: agent.message events stream content_delta fragments, each a partial element of the content array.

      - `Type BetaManagedAgentsDeltaContentType`

      - `Content BetaManagedAgentsTextBlock`

        A partial element of the content array at index, typed like the element itself — the same shape the buffered agent.message carries in content.

      - `Index int64 Optional`

        Which entry in the previewed event's content array this fragment lands in. Insert content as that entry when the index is new; append to the existing entry otherwise.

    - `EventID string`

      The id of the event being previewed. Matches event.id on the corresponding event_start and the buffered event that reconciles the preview.

  - `type BetaManagedAgentsSystemMessageEvent`

    A mid-conversation system message event. Carries system-role content that is appended to the session as a `role: "system"` turn.

    - `Type BetaManagedAgentsSystemMessageEventType`

    - `ID string`

      Unique identifier for this event.

    - `Content []BetaManagedAgentsSystemContentBlock`

      System content blocks. Text-only.

      - `Type BetaManagedAgentsSystemContentBlockType`

      - `Text string`

        The text content.

        minLength: 1

    - `ProcessedAt Time Optional`

      Timestamp when this system message was processed.

      format: date-time

  - `type BetaManagedAgentsSessionUsageEvent`

    Periodic snapshot of the session's cumulative usage and tracked list cost.

    - `Type BetaManagedAgentsSessionUsageEventType`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when the snapshot was taken.

      format: date-time

    - `Usage BetaManagedAgentsSessionUsageSnapshot`

      The session's cumulative usage at the snapshot time.

      - `ActiveSeconds float64 Optional`

        Cumulative time in seconds during which the session had at least one thread in running status. Overlapping activity from concurrent threads is counted once. This is the duration the session's runtime cost is priced on.

        format: double

      - `CacheCreation BetaManagedAgentsCacheCreationUsage Optional`

        Tokens used to create prompt cache entries, broken down by cache TTL.

        - `Ephemeral1hInputTokens int64 Optional`

          Tokens used to create 1-hour ephemeral cache entries.

          format: int32

        - `Ephemeral5mInputTokens int64 Optional`

          Tokens used to create 5-minute ephemeral cache entries.

          format: int32

      - `CacheReadInputTokens int64 Optional`

        Total tokens read from prompt cache.

        format: int32

      - `InputTokens int64 Optional`

        Total input tokens consumed across all turns.

        format: int32

      - `ListCost BetaMonetaryAmount Optional`

        Cumulative list cost of the session across all turns, priced at public list rates.

      - `OutputTokens int64 Optional`

        Total output tokens generated across all turns.

        format: int32

      - `ServerToolUse BetaManagedAgentsServerToolUsage Optional`

        Cumulative server-executed tool usage across all turns.

        - `WebFetchRequests int64 Optional`

          Number of server-executed web fetch requests.

          format: int32

        - `WebSearchRequests int64 Optional`

          Number of server-executed web search requests.

          format: int32

    - `Budget BetaManagedAgentsBudgetLimit Optional`

      The session's configured budget at the snapshot time, or null when the session has no budget.

  - `type BetaManagedAgentsWorkflowRunCreatedEvent`

    A workflow run was created. A workflow run is background work that the session's agent starts. Emitted once per run, before the run's other `workflow_run.*` events.

    - `Type WorkflowRunCreated`

    - `ID string`

      Unique identifier for this event.

    - `Description string`

      Description that the agent gave the run, passed on as written, or `null` if it gave none.

    - `Name string`

      Name that the agent gave the run, passed on as written, or a name that the server assigned.

    - `Phases []BetaManagedAgentsWorkflowRunPhase`

      The phases that the run's plan declares, in the plan's order. Can be empty.

      - `ID string`

        Unique identifier for the phase.

      - `Description string`

        Description that the agent gave the phase, passed on as written, or `null` if it gave none.

      - `Name string`

        Name that the agent gave the phase, passed on as written.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunStatusEndedEvent`

    A workflow run ended. Emitted once per run, as the last of the run's `workflow_run.*` events.

    - `Type WorkflowRunStatusEnded`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `Result BetaManagedAgentsWorkflowRunResultUnion`

      How the run ended.

      - `type BetaManagedAgentsWorkflowRunResultCompleted`

        The run's plan, a program that the agent wrote, finished. This does not say whether the work succeeded.

        - `Type Completed`

      - `type BetaManagedAgentsWorkflowRunResultError`

        The run failed or reached its time limit.

        - `Type Error`

        - `Error BetaManagedAgentsWorkflowRunErrorUnion`

          Why the run did not finish.

          - `type BetaManagedAgentsTimeoutWorkflowRunError`

            The run reached its time limit.

            - `Type TimeoutError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsProgramWorkflowRunError`

            The plan, a program that the agent wrote, failed, or the server refused it.

            - `Type ProgramError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsUnknownWorkflowRunError`

            A failure that has no type of its own.

            - `Type UnknownError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsThreadLimitWorkflowRunError`

            The run exceeded the limit on the number of threads that a run can create.

            - `Type ThreadLimitError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

          - `type BetaManagedAgentsMaxWorkflowRunsWorkflowRunError`

            No run was created, because the session was at its limit of open workflow runs, which are runs that have not ended. Only `workflow_run.error` carries this type.

            - `Type MaxWorkflowRunsError`

            - `Message string`

              Short explanation written by the server. It never contains content from the run or its agents.

      - `type BetaManagedAgentsWorkflowRunResultStopped`

        The agent stopped the run.

        - `Type Stopped`

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunPhaseStartedEvent`

    A workflow run's plan entered a phase.

    - `Type WorkflowRunPhaseStarted`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

    - `WorkflowRunPhaseID string`

      Identifier of the phase, as in `phases` on the run's `workflow_run.created` event.

  - `type BetaManagedAgentsWorkflowRunPhaseEndedEvent`

    A workflow run's plan left a phase, or the run's end closed it. Emitted once for every `workflow_run.phase_started` event, before the run's `workflow_run.status_ended` event. The event does not say whether the plan finished the phase's work, or why it left.

    - `Type WorkflowRunPhaseEnded`

    - `ID string`

      Unique identifier for this event.

    - `PhaseStartedID string`

      Identifier of the `workflow_run.phase_started` event that opened the phase.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

    - `WorkflowRunPhaseID string`

      Identifier of the phase, as in `phases` on the run's `workflow_run.created` event.

  - `type BetaManagedAgentsWorkflowRunStatusRunningEvent`

    A workflow run is running. Emitted when the run starts to execute, and each time it resumes after being idle. A run that starts idle emits `workflow_run.status_idle` first.

    - `Type WorkflowRunStatusRunning`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunStatusIdleEvent`

    A workflow run is idle. Emitted each time the run goes idle, whatever the cause. If the run ends while idle, no `workflow_run.status_running` comes between this event and its `workflow_run.status_ended`.

    - `Type WorkflowRunStatusIdle`

    - `ID string`

      Unique identifier for this event.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run. The same value is on all of the run's `workflow_run.*` events.

  - `type BetaManagedAgentsWorkflowRunErrorEvent`

    A workflow run met an error, or an error kept a run from being created. A run that ends with a `result.type` of `error` emits this event before its `workflow_run.status_ended`, with the same `error`.

    - `Type WorkflowRunError`

    - `ID string`

      Unique identifier for this event.

    - `Error BetaManagedAgentsWorkflowRunErrorUnion`

      Why the run did not finish, or was not created.

    - `ProcessedAt Time`

      Timestamp when this event was processed.

      format: date-time

    - `WorkflowRunID string`

      Identifier of the run that met the error, or `null` when the error kept a run from being created.

#### Example

```go
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	stream := client.Beta.Sessions.Threads.Events.StreamEvents(
		context.TODO(),
		"sthr_011CZkZVWa6oJjw1rgXZpnBt",
		anthropic.BetaSessionThreadEventStreamParams{
			SessionID: "sesn_011CZkZAtmR3yMPDzynEDxu7",
		},
	)
	for stream.Next() {
		fmt.Printf("%+v\n", stream.Current())
	}
	err := stream.Err()
	if err != nil {
		panic(err.Error())
	}
}
```

##### Response (200)

```json
{
  "id": "sevt_011CZkZGPp1iBcp4kaQSihUm",
  "content": [
    {
      "text": "Where is my order #1234?",
      "type": "text"
    }
  ],
  "type": "user.message",
  "processed_at": "2026-03-15T10:00:00Z"
}
```
