{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/anthropic/main/json-schema/anthropic-beta-managed-agents-create-session-params-schema.json",
  "title": "BetaManagedAgentsCreateSessionParams",
  "description": "Request parameters for creating a `session`.",
  "x-generated": "2026-09-23",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/anthropic-sessions-beta-true-api-openapi.yml#/components/schemas/BetaManagedAgentsCreateSessionParams",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "agent",
    "environment_id"
  ],
  "properties": {
    "agent": {
      "description": "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.",
      "allOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsCreateSessionAgentUnionParams"
        }
      ]
    },
    "environment_id": {
      "description": "ID of the `environment` defining the container configuration for this session.",
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "title": {
      "description": "Human-readable session title.",
      "anyOf": [
        {
          "type": "string",
          "maxLength": 500
        },
        {
          "type": "null"
        }
      ]
    },
    "metadata": {
      "description": "Arbitrary key-value metadata attached to the session. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.",
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "resources": {
      "description": "Resources (e.g. repositories, files) to mount into the session's container.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/BetaManagedAgentsSessionResourceParams"
      }
    },
    "vault_ids": {
      "description": "Vault IDs for stored credentials the agent can use during the session.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "initial_events": {
      "description": "Initial events to send to the `session` at creation, processed in order. Supports `user.message` and `user.define_outcome` events. Maximum 50 events.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/BetaManagedAgentsSessionInitialEventParams"
      },
      "x-anthropic-beta-required": [
        "managed-agents-2026-04-01"
      ]
    },
    "budget": {
      "description": "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`.",
      "allOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsBudget"
        }
      ],
      "x-anthropic-beta-required": [
        "managed-agents-2026-04-01"
      ]
    }
  },
  "$defs": {
    "BetaCurrency": {
      "type": "string",
      "enum": [
        "USD"
      ]
    },
    "BetaManagedAgentsAgentParams": {
      "description": "Specification for an Agent. Provide a specific `version` or use the short-form `agent=\"agent_id\"` for the most recent version",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "agent"
          ]
        },
        "id": {
          "description": "The `agent` ID.",
          "type": "string",
          "minLength": 1,
          "maxLength": 128
        },
        "version": {
          "description": "The specific `agent` version to use. Omit to use the latest version. Must be at least 1 if specified.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "BetaManagedAgentsAgentToolConfigUnionParams": {
      "description": "Configuration override for a specific tool within a toolset.",
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsBashToolConfigParams"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsEditToolConfigParams"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsReadToolConfigParams"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsWriteToolConfigParams"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsGlobToolConfigParams"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsGrepToolConfigParams"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsWebFetchToolConfigParams"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsWebSearchToolConfigParams"
        }
      ]
    },
    "BetaManagedAgentsAgentToolParams": {
      "description": "Union type for tool configurations in the tools array.",
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsAgentToolset20260401Params"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsMCPToolsetParams"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsCustomToolParams"
        }
      ]
    },
    "BetaManagedAgentsAgentToolset20260401Params": {
      "description": "Configuration for built-in agent tools. Use this to enable or disable groups of tools available to the agent.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "agent_toolset_20260401"
          ]
        },
        "default_config": {
          "description": "Default configuration applied to all tools in this set.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsAgentToolsetDefaultConfigParams"
            },
            {
              "type": "null"
            }
          ]
        },
        "configs": {
          "description": "Per-tool configuration overrides.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/BetaManagedAgentsAgentToolConfigUnionParams"
          }
        }
      }
    },
    "BetaManagedAgentsAgentToolsetDefaultConfigParams": {
      "description": "Default configuration for all tools in a toolset.",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "description": "Whether tools are enabled and available to Claude by default. Defaults to true if not specified.",
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "permission_policy": {
          "description": "Default permission policy for tools. Controls whether tool calls are auto-approved or require confirmation.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsAgentWithOverridesParams": {
      "description": "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": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "agent_with_overrides"
          ]
        },
        "id": {
          "description": "The `agent` ID.",
          "type": "string",
          "minLength": 1,
          "maxLength": 128
        },
        "version": {
          "description": "The specific `agent` version to use. Omit to use the latest version.",
          "type": "integer",
          "format": "int32"
        },
        "model": {
          "description": "Replacement model. Accepts the model string, e.g. `claude-opus-5`, or a `model_config` object. Omit to use the agent's model.",
          "allOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsModelParams"
            }
          ]
        },
        "system": {
          "description": "Replacement system prompt. Up to 100,000 characters. Set to null to clear the agent's system prompt; omit to preserve it.",
          "anyOf": [
            {
              "type": "string",
              "maxLength": 100000
            },
            {
              "type": "null"
            }
          ]
        },
        "tools": {
          "description": "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": "array",
          "items": {
            "$ref": "#/$defs/BetaManagedAgentsAgentToolParams"
          }
        },
        "mcp_servers": {
          "description": "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": "array",
          "items": {
            "$ref": "#/$defs/BetaManagedAgentsMCPServerParams"
          }
        },
        "skills": {
          "description": "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": "array",
          "items": {
            "$ref": "#/$defs/BetaManagedAgentsSkillParams"
          }
        }
      }
    },
    "BetaManagedAgentsAlwaysAllowPolicy": {
      "description": "Tool calls are automatically approved without user confirmation.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "always_allow"
          ]
        }
      }
    },
    "BetaManagedAgentsAlwaysAskPolicy": {
      "description": "Tool calls require user confirmation before execution.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "always_ask"
          ]
        }
      }
    },
    "BetaManagedAgentsAnthropicSkillParams": {
      "description": "An Anthropic-managed skill.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "skill_id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "anthropic"
          ]
        },
        "skill_id": {
          "description": "Identifier of the Anthropic skill (e.g., \"xlsx\").",
          "type": "string",
          "minLength": 1,
          "maxLength": 64
        },
        "version": {
          "description": "Version to pin. Defaults to latest if omitted.",
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsBase64DocumentSource": {
      "description": "Base64-encoded document data.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "media_type",
        "data"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "base64"
          ]
        },
        "media_type": {
          "description": "MIME type of the document (e.g., \"application/pdf\").",
          "type": "string",
          "minLength": 1
        },
        "data": {
          "description": "Base64-encoded document data.",
          "type": "string",
          "minLength": 1
        }
      }
    },
    "BetaManagedAgentsBase64ImageSource": {
      "description": "Base64-encoded image data.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "media_type",
        "data"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "base64"
          ]
        },
        "media_type": {
          "description": "MIME type of the image (e.g., \"image/png\", \"image/jpeg\", \"image/gif\", \"image/webp\").",
          "type": "string",
          "minLength": 1
        },
        "data": {
          "description": "Base64-encoded image data.",
          "type": "string",
          "minLength": 1
        }
      }
    },
    "BetaManagedAgentsBashToolConfigParams": {
      "description": "Configuration override for the bash tool.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "name"
      ],
      "properties": {
        "type": {
          "type": "string",
          "const": "bash"
        },
        "name": {
          "description": "Must be \"bash\".",
          "type": "string",
          "const": "bash"
        },
        "enabled": {
          "description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "permission_policy": {
          "description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsBranchCheckout": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "name"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "branch"
          ]
        },
        "name": {
          "description": "Branch name to check out.",
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        }
      }
    },
    "BetaManagedAgentsBudget": {
      "description": "An enforced spend ceiling on a session. Discriminated on `type`; `limit` is the only kind currently supported.",
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsBudgetLimit"
        }
      ]
    },
    "BetaManagedAgentsBudgetLimit": {
      "description": "A hard spend ceiling. The session stops issuing new model requests once the tracked list cost reaches `max_list_cost`.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "max_list_cost"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "limit"
          ]
        },
        "max_list_cost": {
          "description": "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.",
          "allOf": [
            {
              "$ref": "#/$defs/BetaMonetaryAmount"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsCommitCheckout": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "sha"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "commit"
          ]
        },
        "sha": {
          "description": "Full commit SHA to check out.",
          "type": "string",
          "minLength": 7,
          "maxLength": 64
        }
      }
    },
    "BetaManagedAgentsCreateSessionAgentUnionParams": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "oneOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsAgentParams"
            },
            {
              "$ref": "#/$defs/BetaManagedAgentsAgentWithOverridesParams"
            }
          ]
        }
      ]
    },
    "BetaManagedAgentsCustomSkillParams": {
      "description": "A user-created custom skill.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "skill_id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "custom"
          ]
        },
        "skill_id": {
          "description": "Tagged ID of the custom skill (e.g., \"skill_01XJ5...\").",
          "type": "string",
          "minLength": 1,
          "maxLength": 64
        },
        "version": {
          "description": "Version to pin. Defaults to latest if omitted.",
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsCustomToolInputSchema": {
      "additionalProperties": true,
      "description": "JSON Schema for custom tool input parameters.",
      "properties": {
        "properties": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "title": "Properties",
          "x-stainless-skip": [
            "terraform"
          ]
        },
        "required": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Required"
        },
        "type": {
          "const": "object",
          "title": "Type",
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    },
    "BetaManagedAgentsCustomToolParams": {
      "description": "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": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "name",
        "description",
        "input_schema"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "custom"
          ]
        },
        "name": {
          "description": "Unique name for the tool. 1-128 characters; letters, digits, underscores, and hyphens.",
          "type": "string",
          "minLength": 1,
          "maxLength": 128
        },
        "description": {
          "description": "Description of what the tool does, shown to the agent to help it decide when to use the tool.",
          "type": "string",
          "minLength": 1
        },
        "input_schema": {
          "description": "JSON Schema defining the expected input parameters for the tool.",
          "allOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsCustomToolInputSchema"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsDocumentBlock": {
      "description": "Document content, either specified directly as base64 data, as text, or as a reference via a URL.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "source"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "document"
          ]
        },
        "source": {
          "description": "The source of the document data.",
          "allOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsDocumentSource"
            }
          ]
        },
        "title": {
          "description": "The title of the document.",
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "context": {
          "description": "Additional context about the document for the model.",
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsDocumentSource": {
      "description": "Union type for document source variants.",
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsBase64DocumentSource"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsPlainTextDocumentSource"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsURLDocumentSource"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsFileDocumentSource"
        }
      ]
    },
    "BetaManagedAgentsEditToolConfigParams": {
      "description": "Configuration override for the edit tool.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "name"
      ],
      "properties": {
        "type": {
          "type": "string",
          "const": "edit"
        },
        "name": {
          "description": "Must be \"edit\".",
          "type": "string",
          "const": "edit"
        },
        "enabled": {
          "description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "permission_policy": {
          "description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsEffort": {
      "description": "How hard Claude works on each turn. Sets `output_config.effort` on every Messages call the session makes.",
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsEffortLow"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsEffortMedium"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsEffortHigh"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsEffortXhigh"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsEffortMax"
        }
      ]
    },
    "BetaManagedAgentsEffortHigh": {
      "description": "High effort. Favors reasoning depth.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "high"
          ]
        }
      }
    },
    "BetaManagedAgentsEffortLevel": {
      "type": "string",
      "description": "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.",
      "enum": [
        "low",
        "medium",
        "high",
        "xhigh",
        "max"
      ]
    },
    "BetaManagedAgentsEffortLow": {
      "description": "Low effort. Favors latency over reasoning depth.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "low"
          ]
        }
      }
    },
    "BetaManagedAgentsEffortMax": {
      "description": "Maximum effort. Favors reasoning depth over latency.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "max"
          ]
        }
      }
    },
    "BetaManagedAgentsEffortMedium": {
      "description": "Medium effort. Balances latency and reasoning depth.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "medium"
          ]
        }
      }
    },
    "BetaManagedAgentsEffortParams": {
      "oneOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsEffortLevel"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsEffort"
        }
      ]
    },
    "BetaManagedAgentsEffortXhigh": {
      "description": "Extra-high effort. Not all models accept this level.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "xhigh"
          ]
        }
      }
    },
    "BetaManagedAgentsFileDocumentSource": {
      "description": "Document referenced by file ID.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "file_id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "file"
          ]
        },
        "file_id": {
          "description": "ID of a previously uploaded file.",
          "type": "string",
          "minLength": 1
        }
      }
    },
    "BetaManagedAgentsFileImageSource": {
      "description": "Image referenced by file ID.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "file_id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "file"
          ]
        },
        "file_id": {
          "description": "ID of a previously uploaded file.",
          "type": "string",
          "minLength": 1
        }
      }
    },
    "BetaManagedAgentsFileResourceParams": {
      "description": "Mount a file uploaded via the Files API into the session.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "file_id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "file"
          ]
        },
        "file_id": {
          "description": "ID of a previously uploaded file.",
          "type": "string",
          "minLength": 1,
          "maxLength": 128
        },
        "mount_path": {
          "description": "Mount path in the container. Defaults to `/mnt/session/uploads/<file_id>`.",
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsFileRubricParams": {
      "description": "Rubric referenced by a file uploaded via the Files API.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "file_id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "file"
          ]
        },
        "file_id": {
          "description": "ID of the rubric file.",
          "type": "string"
        }
      }
    },
    "BetaManagedAgentsGitHubRepositoryResourceParams": {
      "description": "Mount a GitHub repository into the session's container.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "url",
        "authorization_token"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "github_repository"
          ]
        },
        "url": {
          "description": "Github URL of the repository",
          "type": "string",
          "minLength": 1,
          "maxLength": 2048
        },
        "authorization_token": {
          "description": "GitHub authorization token used to clone the repository.",
          "type": "string",
          "minLength": 1,
          "maxLength": 4096
        },
        "mount_path": {
          "description": "Mount path in the container. Defaults to `/workspace/<repo-name>`.",
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            },
            {
              "type": "null"
            }
          ]
        },
        "checkout": {
          "description": "Branch or commit to check out. Defaults to the repository's default branch.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsRepositoryCheckout"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsGlobToolConfigParams": {
      "description": "Configuration override for the glob tool.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "name"
      ],
      "properties": {
        "type": {
          "type": "string",
          "const": "glob"
        },
        "name": {
          "description": "Must be \"glob\".",
          "type": "string",
          "const": "glob"
        },
        "enabled": {
          "description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "permission_policy": {
          "description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsGrepToolConfigParams": {
      "description": "Configuration override for the grep tool.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "name"
      ],
      "properties": {
        "type": {
          "type": "string",
          "const": "grep"
        },
        "name": {
          "description": "Must be \"grep\".",
          "type": "string",
          "const": "grep"
        },
        "enabled": {
          "description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "permission_policy": {
          "description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsImageBlock": {
      "description": "Image content specified directly as base64 data or as a reference via a URL.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "source"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "image"
          ]
        },
        "source": {
          "description": "The source of the image data.",
          "allOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsImageSource"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsImageSource": {
      "description": "Union type for image source variants.",
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsBase64ImageSource"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsURLImageSource"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsFileImageSource"
        }
      ]
    },
    "BetaManagedAgentsMCPServerParams": {
      "description": "Union type for MCP server connection definitions.",
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsURLMCPServerParams"
        }
      ]
    },
    "BetaManagedAgentsMCPToolConfigParams": {
      "description": "Configuration override for a specific MCP tool.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "description": "Name of the MCP tool to configure. 1-128 characters.",
          "type": "string",
          "minLength": 1,
          "maxLength": 128
        },
        "enabled": {
          "description": "Whether this tool is enabled. Overrides the `default_config` setting.",
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "permission_policy": {
          "description": "Permission policy for this tool. Overrides the `default_config` setting.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsMCPToolsetDefaultConfigParams": {
      "description": "Default configuration for all tools from an MCP server.",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "description": "Whether tools are enabled by default. Defaults to true if not specified.",
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "permission_policy": {
          "description": "Default permission policy for tools from this server.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsMCPToolsetParams": {
      "description": "Configuration for tools from an MCP server defined in `mcp_servers`.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "mcp_server_name"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "mcp_toolset"
          ]
        },
        "mcp_server_name": {
          "description": "Name of the MCP server. Must match a server name from the mcp_servers array. 1-255 characters.",
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "default_config": {
          "description": "Default configuration for all tools from this server.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsMCPToolsetDefaultConfigParams"
            },
            {
              "type": "null"
            }
          ]
        },
        "configs": {
          "description": "Per-tool configuration overrides.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/BetaManagedAgentsMCPToolConfigParams"
          }
        }
      }
    },
    "BetaManagedAgentsMemoryStoreResourceParam": {
      "description": "Parameters for attaching a memory store to an agent session.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "memory_store_id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "memory_store"
          ]
        },
        "memory_store_id": {
          "description": "The memory store ID (memstore_...). Must belong to the caller's organization and workspace.",
          "type": "string"
        },
        "access": {
          "description": "Access mode for the mounted store. Defaults to read_write. read_only mounts the store as a read-only filesystem.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsMountMode"
            },
            {
              "type": "null"
            }
          ]
        },
        "instructions": {
          "description": "Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.",
          "anyOf": [
            {
              "type": "string",
              "maxLength": 4096
            },
            {
              "type": "null"
            }
          ],
          "x-anthropic-beta-required": [
            "agent-memory-2026-07-22",
            "managed-agents-2026-04-01"
          ]
        }
      }
    },
    "BetaManagedAgentsModel": {
      "title": "BetaManagedAgentsModel",
      "description": "The model that will power your agent.\n\nSee [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "const": "claude-sonnet-5",
          "description": "High-performance model for coding and agents",
          "x-stainless-nominal": false
        },
        {
          "const": "claude-fable-5",
          "description": "Next generation of intelligence for the hardest knowledge work and coding problems",
          "x-stainless-nominal": false
        },
        {
          "const": "claude-opus-5",
          "description": "Powerful intelligence for long-running agents and coding",
          "x-stainless-nominal": false
        },
        {
          "const": "claude-opus-4-8",
          "description": "Powerful intelligence for long-running agents and coding",
          "x-stainless-nominal": false
        },
        {
          "const": "claude-opus-4-7",
          "description": "Powerful intelligence for long-running agents and coding",
          "x-stainless-nominal": false
        },
        {
          "const": "claude-opus-4-6",
          "description": "Powerful intelligence for long-running agents and coding",
          "x-stainless-nominal": false
        },
        {
          "const": "claude-sonnet-4-6",
          "description": "Best combination of speed and intelligence",
          "x-stainless-nominal": false
        },
        {
          "const": "claude-haiku-4-5",
          "description": "Fastest model with near-frontier intelligence",
          "x-stainless-nominal": false
        },
        {
          "const": "claude-haiku-4-5-20251001",
          "description": "Fastest model with near-frontier intelligence",
          "x-stainless-nominal": false
        },
        {
          "const": "claude-opus-4-5",
          "description": "Powerful intelligence for long-running agents and coding",
          "x-stainless-nominal": false
        },
        {
          "const": "claude-opus-4-5-20251101",
          "description": "Powerful intelligence for long-running agents and coding",
          "x-stainless-nominal": false
        },
        {
          "const": "claude-sonnet-4-5",
          "description": "High-performance model for agents and coding",
          "x-stainless-nominal": false
        },
        {
          "const": "claude-sonnet-4-5-20250929",
          "description": "High-performance model for agents and coding",
          "x-stainless-nominal": false
        }
      ]
    },
    "BetaManagedAgentsModelConfigParams": {
      "description": "An object that defines additional configuration control over model use",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "$ref": "#/$defs/BetaManagedAgentsModel"
        },
        "speed": {
          "description": "Inference speed mode. Defaults to `standard`.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsSpeed"
            },
            {
              "type": "null"
            }
          ]
        },
        "effort": {
          "description": "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.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsEffortParams"
            },
            {
              "type": "null"
            }
          ],
          "x-anthropic-beta-required": [
            "managed-agents-2026-04-01"
          ]
        },
        "inference_geo": {
          "description": "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.",
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "x-anthropic-beta-required": [
            "managed-agents-2026-04-01"
          ]
        }
      }
    },
    "BetaManagedAgentsModelParams": {
      "oneOf": [
        {
          "title": "BetaManagedAgentsModel",
          "allOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsModel"
            }
          ],
          "x-stainless-skip": [
            "go",
            "cli"
          ]
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsModelConfigParams"
        }
      ]
    },
    "BetaManagedAgentsMountMode": {
      "type": "string",
      "description": "Access mode for an attached memory store.",
      "enum": [
        "read_write",
        "read_only"
      ]
    },
    "BetaManagedAgentsPermissionPolicy": {
      "description": "Permission policy for tool execution.",
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsAlwaysAllowPolicy"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsAlwaysAskPolicy"
        }
      ]
    },
    "BetaManagedAgentsPlainTextDocumentSource": {
      "description": "Plain text document content.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "media_type",
        "data"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "text"
          ]
        },
        "media_type": {
          "description": "MIME type of the text content. Must be \"text/plain\".",
          "type": "string",
          "enum": [
            "text/plain"
          ]
        },
        "data": {
          "description": "The plain text content.",
          "type": "string",
          "minLength": 1
        }
      }
    },
    "BetaManagedAgentsReadToolConfigParams": {
      "description": "Configuration override for the read tool.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "name"
      ],
      "properties": {
        "type": {
          "type": "string",
          "const": "read"
        },
        "name": {
          "description": "Must be \"read\".",
          "type": "string",
          "const": "read"
        },
        "enabled": {
          "description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "permission_policy": {
          "description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsRedactedBlock": {
      "description": "Placeholder for content withheld by Anthropic model policy.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "redacted"
          ]
        }
      }
    },
    "BetaManagedAgentsRepositoryCheckout": {
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsBranchCheckout"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsCommitCheckout"
        }
      ]
    },
    "BetaManagedAgentsRubricParams": {
      "description": "Rubric for grading the quality of an outcome.",
      "oneOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsFileRubricParams"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsTextRubricParams"
        }
      ]
    },
    "BetaManagedAgentsSessionInitialEventParams": {
      "description": "An event sent to the `session` immediately after it is created. Supports `user.message` and `user.define_outcome`.",
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsUserMessageEventParams"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsUserDefineOutcomeEventParams"
        }
      ]
    },
    "BetaManagedAgentsSessionResourceParams": {
      "description": "Union of resources that can be mounted into a session.",
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsGitHubRepositoryResourceParams"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsFileResourceParams"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsMemoryStoreResourceParam"
        }
      ]
    },
    "BetaManagedAgentsSkillParams": {
      "description": "Skill to load in the session container.",
      "oneOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsAnthropicSkillParams"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsCustomSkillParams"
        }
      ]
    },
    "BetaManagedAgentsSpeed": {
      "type": "string",
      "description": "Inference speed mode. `fast` provides significantly faster output token generation at premium pricing. Not all models support `fast`; invalid combinations are rejected at create time.",
      "enum": [
        "standard",
        "fast"
      ]
    },
    "BetaManagedAgentsTextBlock": {
      "description": "Regular text content.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "text"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "text"
          ]
        },
        "text": {
          "description": "The text content.",
          "type": "string",
          "minLength": 1
        }
      }
    },
    "BetaManagedAgentsTextRubricParams": {
      "description": "Rubric content provided inline as text.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "content"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "text"
          ]
        },
        "content": {
          "description": "Rubric content. Plain text or markdown — the grader treats it as freeform text. Maximum 262144 characters.",
          "type": "string",
          "maxLength": 262144
        }
      }
    },
    "BetaManagedAgentsURLDocumentSource": {
      "description": "Document referenced by URL.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "url"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "url"
          ]
        },
        "url": {
          "description": "URL of the document to fetch.",
          "type": "string",
          "minLength": 1
        }
      }
    },
    "BetaManagedAgentsURLImageSource": {
      "description": "Image referenced by URL.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "url"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "url"
          ]
        },
        "url": {
          "description": "URL of the image to fetch.",
          "type": "string",
          "minLength": 1
        }
      }
    },
    "BetaManagedAgentsURLMCPServerParams": {
      "description": "URL-based MCP server connection.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "name",
        "url"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "url"
          ]
        },
        "name": {
          "description": "Unique name for this server, referenced by mcp_toolset configurations. 1-255 characters.",
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "url": {
          "description": "Endpoint URL for the MCP server.",
          "type": "string",
          "maxLength": 2048
        }
      }
    },
    "BetaManagedAgentsUserContentBlock": {
      "description": "Content block in a user message. Can be `text`, `image`, or `document`.",
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/$defs/BetaManagedAgentsTextBlock"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsImageBlock"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsDocumentBlock"
        },
        {
          "$ref": "#/$defs/BetaManagedAgentsRedactedBlock"
        }
      ]
    },
    "BetaManagedAgentsUserDefineOutcomeEventParams": {
      "description": "Parameters for defining an outcome the agent should work toward. The agent begins work on receipt.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "description",
        "rubric"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "user.define_outcome"
          ]
        },
        "description": {
          "description": "What the agent should produce. This is the task specification.",
          "type": "string"
        },
        "rubric": {
          "description": "How to grade the outcome. Text or file reference.",
          "allOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsRubricParams"
            }
          ]
        },
        "max_iterations": {
          "description": "Eval→revision cycles before giving up. Default 3, max 20.",
          "anyOf": [
            {
              "type": "integer",
              "format": "int32"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsUserLocation": {
      "description": "Approximate user location for search result localization.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "description": "Location precision. Only \"approximate\" is supported.",
          "type": "string",
          "const": "approximate"
        },
        "city": {
          "description": "City name.",
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "region": {
          "description": "Region or state name.",
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        },
        "country": {
          "description": "Two-letter ISO 3166-1 country code, uppercase.",
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "timezone": {
          "description": "IANA timezone identifier, e.g. \"America/Los_Angeles\".",
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsUserMessageEventParams": {
      "description": "Parameters for sending a user message to the session.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "content"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "user.message"
          ]
        },
        "content": {
          "description": "Array of content blocks for the user message.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/BetaManagedAgentsUserContentBlock"
          }
        }
      }
    },
    "BetaManagedAgentsWebFetchToolConfigParams": {
      "description": "Configuration override for the web_fetch tool.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "name"
      ],
      "properties": {
        "type": {
          "type": "string",
          "const": "web_fetch"
        },
        "name": {
          "description": "Must be \"web_fetch\".",
          "type": "string",
          "const": "web_fetch"
        },
        "enabled": {
          "description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "permission_policy": {
          "description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
            },
            {
              "type": "null"
            }
          ]
        },
        "allowed_domains": {
          "description": "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.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "blocked_domains": {
          "description": "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.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "max_content_tokens": {
          "description": "Maximum number of tokens of fetched text content to include in context per call. Does not apply to binary content such as PDFs.",
          "anyOf": [
            {
              "type": "integer",
              "format": "int32"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsWebSearchToolConfigParams": {
      "description": "Configuration override for the web_search tool.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "name"
      ],
      "properties": {
        "type": {
          "type": "string",
          "const": "web_search"
        },
        "name": {
          "description": "Must be \"web_search\".",
          "type": "string",
          "const": "web_search"
        },
        "enabled": {
          "description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "permission_policy": {
          "description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
            },
            {
              "type": "null"
            }
          ]
        },
        "allowed_domains": {
          "description": "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.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "blocked_domains": {
          "description": "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.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "user_location": {
          "description": "Approximate user location for search result localization.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsUserLocation"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaManagedAgentsWriteToolConfigParams": {
      "description": "Configuration override for the write tool.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "name"
      ],
      "properties": {
        "type": {
          "type": "string",
          "const": "write"
        },
        "name": {
          "description": "Must be \"write\".",
          "type": "string",
          "const": "write"
        },
        "enabled": {
          "description": "Whether this tool is enabled and available to Claude. Overrides the default_config setting.",
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "permission_policy": {
          "description": "Permission policy for this tool. Controls whether tool calls are auto-approved or require confirmation.",
          "anyOf": [
            {
              "$ref": "#/$defs/BetaManagedAgentsPermissionPolicy"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "BetaMonetaryAmount": {
      "description": "A monetary amount in a specific currency.",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "currency",
        "amount"
      ],
      "properties": {
        "currency": {
          "description": "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.",
          "allOf": [
            {
              "$ref": "#/$defs/BetaCurrency"
            }
          ]
        },
        "amount": {
          "description": "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.",
          "type": "string"
        }
      }
    }
  }
}