{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/anthropic/main/json-schema/anthropic-beta-create-message-params-schema.json", "title": "CreateMessageParams", "x-generated": "2026-09-23", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/anthropic-messages-beta-true-api-openapi.yml#/components/schemas/BetaCreateMessageParams", "additionalProperties": false, "properties": { "model": { "$ref": "#/$defs/Model" }, "messages": { "description": "Input messages.\n\nOur models are trained to operate on alternating `user` and `assistant` conversational turns. When creating a new `Message`, you specify the prior conversational turns with the `messages` parameter, and the model then generates the next `Message` in the conversation. Consecutive `user` or `assistant` turns in your request will be combined into a single turn.\n\nEach input message must be an object with a `role` and `content`. You can specify a single `user`-role message, or you can include multiple `user` and `assistant` messages.\n\nIf the final message uses the `assistant` role, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response.\n\nExample with a single `user` message:\n\n```json\n[{\"role\": \"user\", \"content\": \"Hello, Claude\"}]\n```\n\nExample with multiple conversational turns:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"Hello there.\"},\n {\"role\": \"assistant\", \"content\": \"Hi, I'm Claude. How can I help you?\"},\n {\"role\": \"user\", \"content\": \"Can you explain LLMs in plain English?\"},\n]\n```\n\nExample with a partially-filled response from Claude:\n\n```json\n[\n {\"role\": \"user\", \"content\": \"What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun\"},\n {\"role\": \"assistant\", \"content\": \"The best answer is (\"},\n]\n```\n\nEach input message `content` may be either a single `string` or an array of content blocks, where each block has a specific `type`. Using a `string` for `content` is shorthand for an array of one content block of type `\"text\"`. The following input messages are equivalent:\n\n```json\n{\"role\": \"user\", \"content\": \"Hello, Claude\"}\n```\n\n```json\n{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Hello, Claude\"}]}\n```\n\nSee [input examples](https://platform.claude.com/docs/en/build-with-claude/working-with-messages).\n\nNote that if you want to include a [system prompt](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#give-claude-a-role), you can use the top-level `system` parameter — there is no `\"system\"` role for input messages in the Messages API.\n\nThere is a limit of 100,000 messages in a single request.", "items": { "$ref": "#/$defs/BetaInputMessage" }, "title": "Messages", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Top-level cache control automatically applies a cache_control marker to the last cacheable block in the request.", "title": "Cache Control" }, "container": { "anyOf": [ { "$ref": "#/$defs/BetaContainerParams" }, { "type": "string" }, { "type": "null" } ], "description": "Container identifier for reuse across requests.", "title": "Container" }, "context_management": { "anyOf": [ { "$ref": "#/$defs/BetaContextManagementConfig" }, { "type": "null" } ], "description": "Context management configuration.\n\nThis allows you to control how Claude manages context across multiple requests, such as whether to clear function results or not.", "x-anthropic-beta-required": [ "context-management-2025-06-27", "compact-2026-01-12" ] }, "diagnostics": { "anyOf": [ { "$ref": "#/$defs/BetaDiagnosticsParam" }, { "type": "null" } ], "description": "Request-level diagnostics. Supply `previous_message_id` to have the response include `diagnostics.cache_miss_reason` explaining any prompt-cache divergence from that prior request.", "x-anthropic-beta-required": [ "cache-diagnosis-2026-04-07" ] }, "fallback_credit_token": { "anyOf": [ { "maxLength": 2048, "minLength": 1, "type": "string" }, { "$ref": "#/$defs/BetaFallbackCreditTokenParam" }, { "type": "null" } ], "description": "The `fallback_credit_token` from a prior refusal's `stop_details`.\n\nWhen a preceding request was refused and returned a `fallback_credit_token`,\npass that code here on the retry to have the retry's cache-creation tokens\nfor the prefix that was warm on the refused model billed at the cache-read\nrate. Must be redeemed by the same organization and workspace, with the same\nrequest body (optionally extended by one appended `assistant` message whose\ncontent is the partial text — with any trailing whitespace stripped from\nthe final text block — and paired server-tool blocks streamed before the\nrefusal; the appended-assistant form is not available for requests with\n`output_format` set or forced `tool_choice`), on an eligible fallback\nmodel, on the same platform,\nand within 5 minutes of the refusal; a mismatch is a 400. A token minted\nmid-server-tool-loop whose partial content was continuable may only be\nredeemed with the appended-assistant form — if an exact-body retry is\nrejected with a 400 saying the token must be redeemed by continuing the\npartial response, retry with the appended-assistant form instead.\n\nWhen the appended-assistant form is used on a model that otherwise disallows\nassistant-turn prefill, this token also authorizes that one prefill.", "title": "Fallback Credit Token", "x-anthropic-beta-required": [ "fallback-credit-2026-06-01", "fallback-credit-2026-07-01", "server-side-fallback-2026-06-01", "server-side-fallback-2026-07-01" ] }, "fallbacks": { "anyOf": [ { "items": { "$ref": "#/$defs/BetaFallbackConfigV2" }, "maxItems": 3, "minItems": 1, "type": "array" }, { "const": "default", "type": "string", "title": "FallbacksDefault", "x-stainless-variantName": "Default" }, { "type": "null" } ], "description": "Opt-in server-side retry on one or more substitute models when the requested model declines for policy reasons. Tried in order: if the first entry also declines, the second is tried, and so on. The string \"default\" requests the requested model's server-defined default fallback configuration.", "title": "Fallbacks", "x-anthropic-beta-required": [ "server-side-fallback-2026-06-01", "server-side-fallback-2026-07-01" ] }, "inference_geo": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Specifies the geographic region for inference processing. If not specified, the workspace's `default_inference_geo` is used.", "title": "Inference Geo" }, "max_tokens": { "description": "The maximum number of tokens to generate before stopping.\n\nNote that our models may stop _before_ reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate.\n\nSet to `0` to populate the [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pre-warming-the-cache) without generating a response.\n\nDifferent models have different maximum values for this parameter. See [models](https://platform.claude.com/docs/en/about-claude/models/overview) for details.", "minimum": 0, "title": "Max Tokens", "type": "integer" }, "mcp_servers": { "description": "MCP servers to be utilized in this request", "items": { "$ref": "#/$defs/BetaRequestMCPServerURLDefinition" }, "maxItems": 20, "title": "Mcp Servers", "type": "array", "x-anthropic-beta-required": [ "mcp-client-2025-04-04", "mcp-client-2025-11-20" ] }, "metadata": { "$ref": "#/$defs/BetaMetadata", "description": "An object describing metadata about the request." }, "output_config": { "$ref": "#/$defs/BetaOutputConfig", "description": "Configuration options for the model's output, such as the output format." }, "output_format": { "anyOf": [ { "$ref": "#/$defs/BetaJsonOutputFormat" }, { "type": "null" } ], "deprecated": true, "description": "Deprecated: Use `output_config.format` instead. See [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs)\n\nA schema to specify Claude's output format in responses. This parameter will be removed in a future release.", "x-anthropic-beta-required": [ "structured-outputs-2025-11-13" ], "x-stainless-skip": [ "python" ] }, "service_tier": { "description": "Determines whether to use priority capacity (if available) or standard capacity for this request.\n\nAnthropic offers different levels of service for your API requests. See [service-tiers](https://platform.claude.com/docs/en/api/service-tiers) for details.", "enum": [ "auto", "standard_only" ], "title": "Service Tier", "type": "string" }, "speed": { "anyOf": [ { "$ref": "#/$defs/BetaSpeed" }, { "type": "null" } ], "description": "The inference speed mode for this request. `\"fast\"` enables high output-tokens-per-second inference.", "x-anthropic-beta-required": [ "fast-mode-2026-02-01" ] }, "stop_sequences": { "description": "Custom text sequences that will cause the model to stop generating.\n\nOur models will normally stop when they have naturally completed their turn, which will result in a response `stop_reason` of `\"end_turn\"`.\n\nIf you want the model to stop generating when it encounters custom strings of text, you can use the `stop_sequences` parameter. If the model encounters one of the custom sequences, the response `stop_reason` value will be `\"stop_sequence\"` and the response `stop_sequence` value will contain the matched stop sequence.", "items": { "type": "string" }, "title": "Stop Sequences", "type": "array" }, "stream": { "description": "Whether to incrementally stream the response using server-sent events.\n\nSee [streaming](https://platform.claude.com/docs/en/build-with-claude/streaming) for details.", "title": "Stream", "type": "boolean" }, "system": { "anyOf": [ { "type": "string", "x-stainless-skip": [ "go" ] }, { "items": { "$ref": "#/$defs/BetaRequestTextBlock" }, "type": "array" } ], "description": "System prompt.\n\nA system prompt is a way of providing context and instructions to Claude, such as specifying a particular goal or role. See our [guide to system prompts](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices#give-claude-a-role).", "title": "System" }, "temperature": { "deprecated": true, "description": "Amount of randomness injected into the response.\n\nDefaults to `1.0`. Ranges from `0.0` to `1.0`. Use `temperature` closer to `0.0` for analytical / multiple choice, and closer to `1.0` for creative and generative tasks.\n\nNote that even with `temperature` of `0.0`, the results will not be fully deterministic.", "maximum": 1, "minimum": 0, "title": "Temperature", "type": "number", "x-stainless-deprecation-message": "Deprecated. Models released after Claude Opus 4.6 do not support setting temperature. A value of 1.0 of will be accepted for backwards compatibility, all other values will be rejected with a 400 error.", "x-stainless-skip": [ "python" ] }, "thinking": { "$ref": "#/$defs/BetaThinkingConfigParam" }, "tool_choice": { "$ref": "#/$defs/BetaToolChoice" }, "tools": { "description": "Definitions of tools that the model may use.\n\nIf you include `tools` in your API request, the model may return `tool_use` content blocks that represent the model's use of those tools. You can then run those tools using the tool input generated by the model and then optionally return results back to the model using `tool_result` content blocks.\n\nThere are two types of tools: **client tools** and **server tools**. The behavior described below applies to client tools. For [server tools](https://platform.claude.com/docs/en/agents-and-tools/tool-use/server-tools), see their individual documentation as each has its own behavior (e.g., the [web search tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool)).\n\nEach tool definition includes:\n\n* `name`: Name of the tool.\n* `description`: Optional, but strongly-recommended description of the tool.\n* `input_schema`: [JSON schema](https://json-schema.org/draft/2020-12) for the tool `input` shape that the model will produce in `tool_use` output content blocks.\n\nFor example, if you defined `tools` as:\n\n```json\n[\n {\n \"name\": \"get_stock_price\",\n \"description\": \"Get the current stock price for a given ticker symbol.\",\n \"input_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"ticker\": {\n \"type\": \"string\",\n \"description\": \"The stock ticker symbol, e.g. AAPL for Apple Inc.\"\n }\n },\n \"required\": [\"ticker\"]\n }\n }\n]\n```\n\nAnd then asked the model \"What's the S&P 500 at today?\", the model might produce `tool_use` content blocks in the response like this:\n\n```json\n[\n {\n \"type\": \"tool_use\",\n \"id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"name\": \"get_stock_price\",\n \"input\": { \"ticker\": \"^GSPC\" }\n }\n]\n```\n\nYou might then run your `get_stock_price` tool with `{\"ticker\": \"^GSPC\"}` as an input, and return the following back to the model in a subsequent `user` message:\n\n```json\n[\n {\n \"type\": \"tool_result\",\n \"tool_use_id\": \"toolu_01D7FLrfh4GYq7yT1ULFeyMV\",\n \"content\": \"259.75 USD\"\n }\n]\n```\n\nTools can be used for workflows that include running client-side tools and functions, or more generally whenever you want the model to produce a particular JSON structure of output.\n\nSee our [guide](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) for more details.", "items": { "oneOf": [ { "$ref": "#/$defs/BetaTool" }, { "$ref": "#/$defs/BetaBashTool_20241022", "x-anthropic-beta-required": [ "computer-use-2024-10-22" ] }, { "$ref": "#/$defs/BetaBashTool_20250124" }, { "$ref": "#/$defs/BetaCodeExecutionTool_20250522" }, { "$ref": "#/$defs/BetaCodeExecutionTool_20250825" }, { "$ref": "#/$defs/BetaCodeExecutionTool_20260120" }, { "$ref": "#/$defs/BetaCodeExecutionTool_20260521" }, { "$ref": "#/$defs/BetaBrowserToolset_20260801" }, { "$ref": "#/$defs/BetaComputerUseTool_20241022", "x-anthropic-beta-required": [ "computer-use-2024-10-22" ] }, { "$ref": "#/$defs/BetaMemoryTool_20250818" }, { "$ref": "#/$defs/BetaComputerUseTool_20250124", "x-anthropic-beta-required": [ "computer-use-2025-01-24" ] }, { "$ref": "#/$defs/BetaTextEditor_20241022", "x-anthropic-beta-required": [ "computer-use-2024-10-22" ] }, { "$ref": "#/$defs/BetaComputerUseTool_20251124", "x-anthropic-beta-required": [ "computer-use-2025-11-24" ] }, { "$ref": "#/$defs/BetaComputerToolset_20260801" }, { "$ref": "#/$defs/BetaTextEditor_20250124" }, { "$ref": "#/$defs/BetaTextEditor_20250429" }, { "$ref": "#/$defs/BetaTextEditor_20250728" }, { "$ref": "#/$defs/BetaWebSearchTool_20250305" }, { "$ref": "#/$defs/BetaWebFetchTool_20250910" }, { "$ref": "#/$defs/BetaWebSearchTool_20260209" }, { "$ref": "#/$defs/BetaWebFetchTool_20260209" }, { "$ref": "#/$defs/BetaWebFetchTool_20260309" }, { "$ref": "#/$defs/BetaWebSearchTool_20260318" }, { "$ref": "#/$defs/BetaWebFetchTool_20260318" }, { "$ref": "#/$defs/BetaAdvisorTool_20260301", "x-anthropic-beta-required": [ "advisor-tool-2026-03-01" ] }, { "$ref": "#/$defs/BetaToolSearchToolBM25_20251119" }, { "$ref": "#/$defs/BetaToolSearchToolRegex_20251119" }, { "$ref": "#/$defs/BetaMCPToolset", "x-anthropic-beta-required": [ "mcp-client-2025-11-20" ] } ] }, "title": "Tools", "type": "array" }, "top_k": { "deprecated": true, "description": "Only sample from the top K options for each subsequent token.\n\nUsed to remove \"long tail\" low probability responses. [Learn more technical details here](https://towardsdatascience.com/how-to-sample-from-language-models-682bceb97277).\n\nRecommended for advanced use cases only.", "minimum": 0, "title": "Top K", "type": "integer", "x-stainless-deprecation-message": "Deprecated. Models released after Claude Opus 4.6 do not accept top_k; any value will be rejected with a 400 error.", "x-stainless-skip": [ "python" ] }, "top_p": { "deprecated": true, "description": "Use nucleus sampling.\n\nIn nucleus sampling, we compute the cumulative distribution over all the options for each subsequent token in decreasing probability order and cut it off once it reaches a particular probability specified by `top_p`.\n\nRecommended for advanced use cases only.", "maximum": 1, "minimum": 0, "title": "Top P", "type": "number", "x-stainless-deprecation-message": "Deprecated. Models released after Claude Opus 4.6 do not support setting top_p. A value >= 0.99 will be accepted for backwards compatibility, all other values will be rejected with a 400 error.", "x-stainless-skip": [ "python" ] } }, "required": [ "model", "messages", "max_tokens" ], "type": "object", "$defs": { "BetaAdvisorToolResultErrorCode": { "enum": [ "max_uses_exceeded", "prompt_too_long", "too_many_requests", "overloaded", "unavailable", "execution_time_exceeded", "model_not_found" ], "title": "AdvisorToolResultErrorCode", "type": "string" }, "BetaAdvisorTool_20260301": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "caching": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Caching for the advisor's own prompt. When set, each advisor call writes a cache entry at the given TTL so subsequent calls in the same conversation read the stable prefix. When omitted, the advisor prompt is not cached.", "title": "Caching" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "max_tokens": { "anyOf": [ { "minimum": 1024, "type": "integer" }, { "type": "null" } ], "description": "Bounds the advisor's total output (thinking + text) per call. When the advisor hits this cap, the returned advisor_result or advisor_redacted_result block carries stop_reason='max_tokens', and a truncation note is appended to the advice text the worker model sees (inside the encrypted blob in redacted mode). When set, the server also emits a remaining-tokens budget block in the advisor's prompt so the advisor self-shapes toward the cap. When omitted, the advisor model's default output cap applies and no budget block is emitted.", "title": "Max Tokens" }, "max_uses": { "anyOf": [ { "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" } ], "description": "Maximum number of times the tool can be used in the API request.", "title": "Max Uses" }, "model": { "$ref": "#/$defs/Model" }, "name": { "const": "advisor", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "advisor_20260301", "title": "Type", "type": "string" } }, "required": [ "model", "name", "type" ], "title": "AdvisorTool_20260301", "type": "object" }, "BetaAllThinkingTurns": { "additionalProperties": false, "properties": { "type": { "const": "all", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "AllThinkingTurns", "type": "object" }, "BetaAllowedCaller": { "description": "Specifies who can invoke a tool.\n\nValues:\n direct: The model can call this tool directly.\n code_execution_20250825: The tool can be called from the code execution environment (v1).\n code_execution_20260120: The tool can be called from the code execution environment (v2 with persistence).\n code_execution_20260521: The tool can be called from the code execution environment (v2 with persistence).", "enum": [ "direct", "code_execution_20250825", "code_execution_20260120", "code_execution_20260521" ], "title": "AllowedCaller", "type": "string" }, "BetaBase64ImageSource": { "additionalProperties": false, "properties": { "data": { "format": "byte", "title": "Data", "type": "string" }, "media_type": { "enum": [ "image/jpeg", "image/png", "image/gif", "image/webp" ], "title": "Media Type", "type": "string" }, "type": { "const": "base64", "title": "Type", "type": "string" } }, "required": [ "data", "media_type", "type" ], "title": "Base64ImageSource", "type": "object" }, "BetaBase64PDFSource": { "additionalProperties": false, "properties": { "data": { "format": "byte", "title": "Data", "type": "string" }, "media_type": { "const": "application/pdf", "title": "Media Type", "type": "string" }, "type": { "const": "base64", "title": "Type", "type": "string" } }, "required": [ "data", "media_type", "type" ], "title": "Base64PDFSource", "type": "object" }, "BetaBashCodeExecutionToolResultErrorCode": { "enum": [ "invalid_tool_input", "unavailable", "too_many_requests", "execution_time_exceeded", "output_file_too_large" ], "title": "BashCodeExecutionToolResultErrorCode", "type": "string" }, "BetaBashTool_20241022": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "input_examples": { "items": { "additionalProperties": { "$ref": "#/$defs/BetaJsonValue" }, "type": "object" }, "title": "Input Examples", "type": "array" }, "name": { "const": "bash", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "bash_20241022", "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "BashTool_20241022", "type": "object" }, "BetaBashTool_20250124": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "input_examples": { "items": { "additionalProperties": { "$ref": "#/$defs/BetaJsonValue" }, "type": "object" }, "title": "Input Examples", "type": "array" }, "name": { "const": "bash", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "bash_20250124", "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "BashTool_20250124", "type": "object" }, "BetaBrowserCloseTabConfig": { "additionalProperties": false, "description": "``close_tab``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserCloseTabConfig", "type": "object" }, "BetaBrowserDoubleClickConfig": { "additionalProperties": false, "description": "``double_click``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserDoubleClickConfig", "type": "object" }, "BetaBrowserFileUploadConfig": { "additionalProperties": false, "description": "``file_upload``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserFileUploadConfig", "type": "object" }, "BetaBrowserFindConfig": { "additionalProperties": false, "description": "``find``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserFindConfig", "type": "object" }, "BetaBrowserFormInputConfig": { "additionalProperties": false, "description": "``form_input``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserFormInputConfig", "type": "object" }, "BetaBrowserGetPageTextConfig": { "additionalProperties": false, "description": "``get_page_text``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserGetPageTextConfig", "type": "object" }, "BetaBrowserHoldKeyConfig": { "additionalProperties": false, "description": "``hold_key``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserHoldKeyConfig", "type": "object" }, "BetaBrowserHoverConfig": { "additionalProperties": false, "description": "``hover``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserHoverConfig", "type": "object" }, "BetaBrowserJavascriptExecConfig": { "additionalProperties": false, "description": "``javascript_exec``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserJavascriptExecConfig", "type": "object" }, "BetaBrowserKeyConfig": { "additionalProperties": false, "description": "``key``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserKeyConfig", "type": "object" }, "BetaBrowserLeftClickConfig": { "additionalProperties": false, "description": "``left_click``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserLeftClickConfig", "type": "object" }, "BetaBrowserLeftClickDragConfig": { "additionalProperties": false, "description": "``left_click_drag``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserLeftClickDragConfig", "type": "object" }, "BetaBrowserLeftMouseDownConfig": { "additionalProperties": false, "description": "``left_mouse_down``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserLeftMouseDownConfig", "type": "object" }, "BetaBrowserLeftMouseUpConfig": { "additionalProperties": false, "description": "``left_mouse_up``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserLeftMouseUpConfig", "type": "object" }, "BetaBrowserListTabsConfig": { "additionalProperties": false, "description": "``list_tabs``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserListTabsConfig", "type": "object" }, "BetaBrowserMiddleClickConfig": { "additionalProperties": false, "description": "``middle_click``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserMiddleClickConfig", "type": "object" }, "BetaBrowserMouseMoveConfig": { "additionalProperties": false, "description": "``mouse_move``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserMouseMoveConfig", "type": "object" }, "BetaBrowserNavigateConfig": { "additionalProperties": false, "description": "``navigate``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserNavigateConfig", "type": "object" }, "BetaBrowserNewTabConfig": { "additionalProperties": false, "description": "``new_tab``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserNewTabConfig", "type": "object" }, "BetaBrowserReadConsoleConfig": { "additionalProperties": false, "description": "``read_console``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserReadConsoleConfig", "type": "object" }, "BetaBrowserReadNetworkConfig": { "additionalProperties": false, "description": "``read_network``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserReadNetworkConfig", "type": "object" }, "BetaBrowserReadPageConfig": { "additionalProperties": false, "description": "``read_page``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserReadPageConfig", "type": "object" }, "BetaBrowserRightClickConfig": { "additionalProperties": false, "description": "``right_click``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserRightClickConfig", "type": "object" }, "BetaBrowserScreenshotConfig": { "additionalProperties": false, "description": "``screenshot``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserScreenshotConfig", "type": "object" }, "BetaBrowserScrollConfig": { "additionalProperties": false, "description": "``scroll``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserScrollConfig", "type": "object" }, "BetaBrowserScrollToConfig": { "additionalProperties": false, "description": "``scroll_to``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserScrollToConfig", "type": "object" }, "BetaBrowserStateChangeDownloadCompleted": { "additionalProperties": false, "description": "A file download that finished during this call, reported with the\nsame `download_id` as its `download_started` — or without a prior\n`download_started`, when the download finished during the call that\nstarted it (at most one state change per `download_id` per result).", "properties": { "download_id": { "description": "The caller-assigned identifier for this download, stable across the state changes reporting it.", "maxLength": 4096, "minLength": 1, "pattern": "^[^\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$", "title": "Download Id", "type": "string" }, "path": { "anyOf": [ { "maxLength": 4096, "type": "string" }, { "type": "null" } ], "description": "Where the executor saved the file, on the executor's filesystem. Only included when another tool in the same environment can read the file at that path.", "pattern": "^[^\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$", "title": "Path" }, "size_bytes": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ], "description": "The completed download's size.", "title": "Size Bytes" }, "type": { "const": "download_completed", "title": "Type", "type": "string" }, "url": { "description": "The final post-redirect URL the download was served from.", "maxLength": 4096, "pattern": "^[^\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$", "title": "Url", "type": "string" } }, "required": [ "download_id", "type", "url" ], "title": "BrowserStateChangeDownloadCompleted", "type": "object" }, "BetaBrowserStateChangeDownloadFailed": { "additionalProperties": false, "description": "A file download that failed — or was cancelled — during this call.", "properties": { "download_id": { "description": "The caller-assigned identifier for this download, stable across the state changes reporting it.", "maxLength": 4096, "minLength": 1, "pattern": "^[^\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$", "title": "Download Id", "type": "string" }, "error": { "anyOf": [ { "maxLength": 4096, "type": "string" }, { "type": "null" } ], "description": "The failure or cancellation detail, when known.", "pattern": "^[^\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$", "title": "Error" }, "type": { "const": "download_failed", "title": "Type", "type": "string" }, "url": { "description": "The final post-redirect URL the download was served from.", "maxLength": 4096, "pattern": "^[^\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$", "title": "Url", "type": "string" } }, "required": [ "download_id", "type", "url" ], "title": "BrowserStateChangeDownloadFailed", "type": "object" }, "BetaBrowserStateChangeDownloadStarted": { "additionalProperties": false, "description": "A file download that started during this call.", "properties": { "download_id": { "description": "The caller-assigned identifier for this download, stable across the state changes reporting it.", "maxLength": 4096, "minLength": 1, "pattern": "^[^\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$", "title": "Download Id", "type": "string" }, "type": { "const": "download_started", "title": "Type", "type": "string" }, "url": { "description": "The final post-redirect URL the download was served from.", "maxLength": 4096, "pattern": "^[^\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$", "title": "Url", "type": "string" } }, "required": [ "download_id", "type", "url" ], "title": "BrowserStateChangeDownloadStarted", "type": "object" }, "BetaBrowserStateChangeTabOpened": { "additionalProperties": false, "description": "A tab this call's execution opened that remains open at its end —\nthe creation delta of the `tabs` inventory, not an event log.\n\nCarries only the `tab_id`; the tab's `title` and `url` live on its\n`tabs` entry, which must include the same `tab_id`. A tab opened\nduring a failed call gets no deferred `tab_opened`; it simply appears\nin the next result's `tabs` inventory.", "properties": { "tab_id": { "description": "The `tab_id` of the opened tab, present in `tabs`.", "maxLength": 4096, "minLength": 1, "pattern": "^[^\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$", "title": "Tab Id", "type": "string" }, "type": { "const": "tab_opened", "title": "Type", "type": "string" } }, "required": [ "tab_id", "type" ], "title": "BrowserStateChangeTabOpened", "type": "object" }, "BetaBrowserStateTabEntry": { "additionalProperties": false, "description": "One open browser tab reported in a `browser_state` block's `tabs`\ninventory.\n\n`tab_id` is the caller-assigned identifier for the tab; `title` and\n`url` describe the page the tab is currently showing and may be empty\nstrings (a blank tab legitimately has both empty). `active` marks the\ntab that is active after this call; whenever `tabs` is non-empty,\nexactly one entry is marked.", "properties": { "active": { "description": "Whether this tab is the active tab after this call. Whenever `tabs` is non-empty, exactly one entry is marked `active: true`.", "title": "Active", "type": "boolean" }, "tab_id": { "description": "The caller-assigned identifier for this tab, unique within the inventory.", "maxLength": 4096, "minLength": 1, "pattern": "^[^\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$", "title": "Tab Id", "type": "string" }, "title": { "description": "The title of the page the tab is showing. May be empty.", "maxLength": 4096, "pattern": "^[^\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$", "title": "Title", "type": "string" }, "url": { "description": "The URL of the page the tab is showing. May be empty.", "maxLength": 4096, "pattern": "^[^\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$", "title": "Url", "type": "string" } }, "required": [ "tab_id", "title", "url" ], "title": "BrowserStateTabEntry", "type": "object" }, "BetaBrowserSwitchTabConfig": { "additionalProperties": false, "description": "``switch_tab``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserSwitchTabConfig", "type": "object" }, "BetaBrowserToolsetConfigs": { "additionalProperties": false, "description": "Per-member configuration for ``browser_toolset_20260801``: one\noptional field per member tool, keyed by the member name — the same\nname the member's ``tool_use`` blocks carry. Every member is an\naccepted key, and a member's defaults apply wherever its key is\nabsent. Unknown keys are rejected: the field set is this toolset\nversion's complete member set.", "properties": { "close_tab": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserCloseTabConfig" }, { "type": "null" } ] }, "double_click": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserDoubleClickConfig" }, { "type": "null" } ] }, "file_upload": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserFileUploadConfig" }, { "type": "null" } ] }, "find": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserFindConfig" }, { "type": "null" } ] }, "form_input": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserFormInputConfig" }, { "type": "null" } ] }, "get_page_text": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserGetPageTextConfig" }, { "type": "null" } ] }, "hold_key": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserHoldKeyConfig" }, { "type": "null" } ] }, "hover": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserHoverConfig" }, { "type": "null" } ] }, "javascript_exec": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserJavascriptExecConfig" }, { "type": "null" } ] }, "key": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserKeyConfig" }, { "type": "null" } ] }, "left_click": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserLeftClickConfig" }, { "type": "null" } ] }, "left_click_drag": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserLeftClickDragConfig" }, { "type": "null" } ] }, "left_mouse_down": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserLeftMouseDownConfig" }, { "type": "null" } ] }, "left_mouse_up": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserLeftMouseUpConfig" }, { "type": "null" } ] }, "list_tabs": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserListTabsConfig" }, { "type": "null" } ] }, "middle_click": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserMiddleClickConfig" }, { "type": "null" } ] }, "mouse_move": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserMouseMoveConfig" }, { "type": "null" } ] }, "navigate": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserNavigateConfig" }, { "type": "null" } ] }, "new_tab": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserNewTabConfig" }, { "type": "null" } ] }, "read_console": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserReadConsoleConfig" }, { "type": "null" } ] }, "read_network": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserReadNetworkConfig" }, { "type": "null" } ] }, "read_page": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserReadPageConfig" }, { "type": "null" } ] }, "right_click": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserRightClickConfig" }, { "type": "null" } ] }, "screenshot": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserScreenshotConfig" }, { "type": "null" } ] }, "scroll": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserScrollConfig" }, { "type": "null" } ] }, "scroll_to": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserScrollToConfig" }, { "type": "null" } ] }, "switch_tab": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserSwitchTabConfig" }, { "type": "null" } ] }, "triple_click": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserTripleClickConfig" }, { "type": "null" } ] }, "type": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserTypeConfig" }, { "type": "null" } ] }, "wait": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserWaitConfig" }, { "type": "null" } ] }, "zoom": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserZoomConfig" }, { "type": "null" } ] } }, "title": "BrowserToolsetConfigs", "type": "object" }, "BetaBrowserToolset_20260801": { "additionalProperties": false, "description": "The browser toolset: a single ``tools[]`` entry (carrying no\n``name``) that declares the browser tool family. The model is served\nthe family's tool with any members disabled via ``configs`` removed\nfrom its schema.", "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller", "x-stainless-naming": { "csharp": { "type_name": "BetaBrowserToolset20260801AllowedCaller" } } }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "configs": { "anyOf": [ { "$ref": "#/$defs/BetaBrowserToolsetConfigs" }, { "type": "null" } ], "description": "Sparse per-member overrides, keyed by member name. Absent, null, and {} are equivalent; a member's defaults apply wherever its key is absent." }, "type": { "const": "browser_toolset_20260801", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "BrowserToolset_20260801", "type": "object" }, "BetaBrowserTripleClickConfig": { "additionalProperties": false, "description": "``triple_click``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserTripleClickConfig", "type": "object" }, "BetaBrowserTypeConfig": { "additionalProperties": false, "description": "``type``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserTypeConfig", "type": "object" }, "BetaBrowserWaitConfig": { "additionalProperties": false, "description": "``wait``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserWaitConfig", "type": "object" }, "BetaBrowserZoomConfig": { "additionalProperties": false, "description": "``zoom``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "BrowserZoomConfig", "type": "object" }, "BetaCacheControlEphemeral": { "additionalProperties": false, "properties": { "ttl": { "description": "The time-to-live for the cache control breakpoint.\n\nThis may be one the following values:\n- `5m`: 5 minutes\n- `1h`: 1 hour\n\nDefaults to `5m`. See [prompt caching pricing](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) for details.", "enum": [ "5m", "1h" ], "title": "Ttl", "type": "string", "x-stainless-renameMap": { "ttl_5m": "5m", "ttl_1h": "1h" } }, "type": { "const": "ephemeral", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "CacheControlEphemeral", "type": "object", "x-stainless-go-constant-constructor": true }, "BetaClearThinking20251015": { "additionalProperties": false, "properties": { "keep": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaThinkingTurns" }, { "$ref": "#/$defs/BetaAllThinkingTurns" } ] }, { "const": "all", "type": "string", "x-stainless-naming": { "csharp": { "type_name": "All" } } } ], "description": "Number of most recent assistant turns to keep thinking blocks for. Older turns will have their thinking blocks removed.", "title": "Keep" }, "type": { "const": "clear_thinking_20251015", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "ClearThinking20251015", "type": "object" }, "BetaClearToolUses20250919": { "additionalProperties": false, "properties": { "clear_at_least": { "anyOf": [ { "$ref": "#/$defs/BetaInputTokensClearAtLeast" }, { "type": "null" } ], "description": "Minimum number of tokens that must be cleared when triggered. Context will only be modified if at least this many tokens can be removed." }, "clear_tool_inputs": { "anyOf": [ { "type": "boolean" }, { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "Whether to clear all tool inputs (bool) or specific tool inputs to clear (list)", "title": "Clear Tool Inputs" }, "exclude_tools": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "Tool names whose uses are preserved from clearing", "title": "Exclude Tools" }, "keep": { "description": "Number of tool uses to retain in the conversation", "oneOf": [ { "$ref": "#/$defs/BetaToolUsesKeep" } ], "title": "Keep" }, "trigger": { "description": "Condition that triggers the context management strategy", "oneOf": [ { "$ref": "#/$defs/BetaInputTokensTrigger" }, { "$ref": "#/$defs/BetaToolUsesTrigger" } ], "title": "Trigger" }, "type": { "const": "clear_tool_uses_20250919", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "ClearToolUses20250919", "type": "object" }, "BetaCodeExecutionToolResultErrorCode": { "enum": [ "invalid_tool_input", "unavailable", "too_many_requests", "execution_time_exceeded" ], "title": "CodeExecutionToolResultErrorCode", "type": "string" }, "BetaCodeExecutionTool_20250522": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "name": { "const": "code_execution", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "code_execution_20250522", "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "CodeExecutionTool_20250522", "type": "object" }, "BetaCodeExecutionTool_20250825": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "name": { "const": "code_execution", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "code_execution_20250825", "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "CodeExecutionTool_20250825", "type": "object" }, "BetaCodeExecutionTool_20260120": { "additionalProperties": false, "description": "Code execution tool with REPL state persistence (daemon mode + gVisor checkpoint).", "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "name": { "const": "code_execution", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "code_execution_20260120", "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "CodeExecutionTool_20260120", "type": "object" }, "BetaCodeExecutionTool_20260521": { "additionalProperties": false, "description": "Code execution tool with REPL state persistence.", "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "name": { "const": "code_execution", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "code_execution_20260521", "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "CodeExecutionTool_20260521", "type": "object" }, "BetaCompact20260112": { "additionalProperties": false, "description": "Automatically compact older context when reaching the configured trigger threshold.", "properties": { "instructions": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Additional instructions for summarization.", "title": "Instructions" }, "pause_after_compaction": { "description": "Whether to pause after compaction and return the compaction block to the user.", "title": "Pause After Compaction", "type": "boolean" }, "trigger": { "anyOf": [ { "$ref": "#/$defs/BetaInputTokensTrigger" }, { "type": "null" } ], "description": "When to trigger compaction. Defaults to 150000 input tokens." }, "type": { "const": "compact_20260112", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "Compact20260112", "type": "object" }, "BetaComputerCursorPositionConfig": { "additionalProperties": false, "description": "``cursor_position``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerCursorPositionConfig", "type": "object" }, "BetaComputerDoubleClickConfig": { "additionalProperties": false, "description": "``double_click``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerDoubleClickConfig", "type": "object" }, "BetaComputerHoldKeyConfig": { "additionalProperties": false, "description": "``hold_key``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerHoldKeyConfig", "type": "object" }, "BetaComputerKeyConfig": { "additionalProperties": false, "description": "``key``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerKeyConfig", "type": "object" }, "BetaComputerLeftClickConfig": { "additionalProperties": false, "description": "``left_click``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerLeftClickConfig", "type": "object" }, "BetaComputerLeftClickDragConfig": { "additionalProperties": false, "description": "``left_click_drag``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerLeftClickDragConfig", "type": "object" }, "BetaComputerLeftMouseDownConfig": { "additionalProperties": false, "description": "``left_mouse_down``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerLeftMouseDownConfig", "type": "object" }, "BetaComputerLeftMouseUpConfig": { "additionalProperties": false, "description": "``left_mouse_up``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerLeftMouseUpConfig", "type": "object" }, "BetaComputerMiddleClickConfig": { "additionalProperties": false, "description": "``middle_click``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerMiddleClickConfig", "type": "object" }, "BetaComputerMouseMoveConfig": { "additionalProperties": false, "description": "``mouse_move``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerMouseMoveConfig", "type": "object" }, "BetaComputerRightClickConfig": { "additionalProperties": false, "description": "``right_click``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerRightClickConfig", "type": "object" }, "BetaComputerScreenshotConfig": { "additionalProperties": false, "description": "``screenshot``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerScreenshotConfig", "type": "object" }, "BetaComputerScrollConfig": { "additionalProperties": false, "description": "``scroll``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerScrollConfig", "type": "object" }, "BetaComputerToolsetConfigs": { "additionalProperties": false, "description": "Per-member configuration for ``computer_toolset_20260801``: one\noptional field per member tool, keyed by the member name — the same\nname the member's ``tool_use`` blocks carry. Every member is an\naccepted key, and a member's defaults apply wherever its key is\nabsent. Unknown keys are rejected: the field set is this toolset\nversion's complete member set.", "properties": { "cursor_position": { "anyOf": [ { "$ref": "#/$defs/BetaComputerCursorPositionConfig" }, { "type": "null" } ] }, "double_click": { "anyOf": [ { "$ref": "#/$defs/BetaComputerDoubleClickConfig" }, { "type": "null" } ] }, "hold_key": { "anyOf": [ { "$ref": "#/$defs/BetaComputerHoldKeyConfig" }, { "type": "null" } ] }, "key": { "anyOf": [ { "$ref": "#/$defs/BetaComputerKeyConfig" }, { "type": "null" } ] }, "left_click": { "anyOf": [ { "$ref": "#/$defs/BetaComputerLeftClickConfig" }, { "type": "null" } ] }, "left_click_drag": { "anyOf": [ { "$ref": "#/$defs/BetaComputerLeftClickDragConfig" }, { "type": "null" } ] }, "left_mouse_down": { "anyOf": [ { "$ref": "#/$defs/BetaComputerLeftMouseDownConfig" }, { "type": "null" } ] }, "left_mouse_up": { "anyOf": [ { "$ref": "#/$defs/BetaComputerLeftMouseUpConfig" }, { "type": "null" } ] }, "middle_click": { "anyOf": [ { "$ref": "#/$defs/BetaComputerMiddleClickConfig" }, { "type": "null" } ] }, "mouse_move": { "anyOf": [ { "$ref": "#/$defs/BetaComputerMouseMoveConfig" }, { "type": "null" } ] }, "right_click": { "anyOf": [ { "$ref": "#/$defs/BetaComputerRightClickConfig" }, { "type": "null" } ] }, "screenshot": { "anyOf": [ { "$ref": "#/$defs/BetaComputerScreenshotConfig" }, { "type": "null" } ] }, "scroll": { "anyOf": [ { "$ref": "#/$defs/BetaComputerScrollConfig" }, { "type": "null" } ] }, "triple_click": { "anyOf": [ { "$ref": "#/$defs/BetaComputerTripleClickConfig" }, { "type": "null" } ] }, "type": { "anyOf": [ { "$ref": "#/$defs/BetaComputerTypeConfig" }, { "type": "null" } ] }, "wait": { "anyOf": [ { "$ref": "#/$defs/BetaComputerWaitConfig" }, { "type": "null" } ] }, "zoom": { "anyOf": [ { "$ref": "#/$defs/BetaComputerZoomConfig" }, { "type": "null" } ] } }, "title": "ComputerToolsetConfigs", "type": "object" }, "BetaComputerToolset_20260801": { "additionalProperties": false, "description": "The computer toolset: a single ``tools[]`` entry (carrying no\n``name``) that declares the computer tool family. The model is\nserved the family's tool with any members disabled via ``configs``\nremoved from its schema. Every member is enabled by default, zoom\nincluded. The single-tool options ``display_number`` and\n``enable_zoom`` are not fields of a toolset entry — it carries only\n``type``, ``configs``, and ``cache_control``; zoom is controlled\nvia ``configs.zoom.enabled``.", "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller", "x-stainless-naming": { "csharp": { "type_name": "BetaComputerToolset20260801AllowedCaller" } } }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "configs": { "anyOf": [ { "$ref": "#/$defs/BetaComputerToolsetConfigs" }, { "type": "null" } ], "description": "Sparse per-member overrides, keyed by member name. Absent, null, and {} are equivalent; a member's defaults apply wherever its key is absent." }, "type": { "const": "computer_toolset_20260801", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "ComputerToolset_20260801", "type": "object" }, "BetaComputerTripleClickConfig": { "additionalProperties": false, "description": "``triple_click``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerTripleClickConfig", "type": "object" }, "BetaComputerTypeConfig": { "additionalProperties": false, "description": "``type``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerTypeConfig", "type": "object" }, "BetaComputerUseTool_20241022": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "display_height_px": { "description": "The height of the display in pixels.", "minimum": 1, "title": "Display Height Px", "type": "integer" }, "display_number": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ], "description": "The X11 display number (e.g. 0, 1) for the display.", "title": "Display Number" }, "display_width_px": { "description": "The width of the display in pixels.", "minimum": 1, "title": "Display Width Px", "type": "integer" }, "input_examples": { "items": { "additionalProperties": { "$ref": "#/$defs/BetaJsonValue" }, "type": "object" }, "title": "Input Examples", "type": "array" }, "name": { "const": "computer", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "computer_20241022", "title": "Type", "type": "string" } }, "required": [ "display_height_px", "display_width_px", "name", "type" ], "title": "ComputerUseTool_20241022", "type": "object" }, "BetaComputerUseTool_20250124": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "display_height_px": { "description": "The height of the display in pixels.", "minimum": 1, "title": "Display Height Px", "type": "integer" }, "display_number": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ], "description": "The X11 display number (e.g. 0, 1) for the display.", "title": "Display Number" }, "display_width_px": { "description": "The width of the display in pixels.", "minimum": 1, "title": "Display Width Px", "type": "integer" }, "input_examples": { "items": { "additionalProperties": { "$ref": "#/$defs/BetaJsonValue" }, "type": "object" }, "title": "Input Examples", "type": "array" }, "name": { "const": "computer", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "computer_20250124", "title": "Type", "type": "string" } }, "required": [ "display_height_px", "display_width_px", "name", "type" ], "title": "ComputerUseTool_20250124", "type": "object" }, "BetaComputerUseTool_20251124": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "display_height_px": { "description": "The height of the display in pixels.", "minimum": 1, "title": "Display Height Px", "type": "integer" }, "display_number": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ], "description": "The X11 display number (e.g. 0, 1) for the display.", "title": "Display Number" }, "display_width_px": { "description": "The width of the display in pixels.", "minimum": 1, "title": "Display Width Px", "type": "integer" }, "enable_zoom": { "description": "Whether to enable an action to take a zoomed-in screenshot of the screen.", "title": "Enable Zoom", "type": "boolean" }, "input_examples": { "items": { "additionalProperties": { "$ref": "#/$defs/BetaJsonValue" }, "type": "object" }, "title": "Input Examples", "type": "array" }, "name": { "const": "computer", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "computer_20251124", "title": "Type", "type": "string" } }, "required": [ "display_height_px", "display_width_px", "name", "type" ], "title": "ComputerUseTool_20251124", "type": "object" }, "BetaComputerWaitConfig": { "additionalProperties": false, "description": "``wait``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerWaitConfig", "type": "object" }, "BetaComputerZoomConfig": { "additionalProperties": false, "description": "``zoom``'s config overrides.", "properties": { "defer_loading": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.", "title": "Defer Loading" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Whether this member is offered to the model. Default is per member, per the toolset's documentation. A member whose enabled resolves false is withheld from the served schema.", "title": "Enabled" } }, "title": "ComputerZoomConfig", "type": "object" }, "BetaContainerParams": { "additionalProperties": false, "description": "Container parameters with skills to be loaded.", "properties": { "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Container id", "title": "Id" }, "skills": { "anyOf": [ { "items": { "$ref": "#/$defs/BetaSkillParams" }, "maxItems": 20, "type": "array" }, { "type": "null" } ], "description": "List of skills to load in the container", "title": "Skills" } }, "title": "ContainerParams", "type": "object" }, "BetaContentBlockSource": { "additionalProperties": false, "properties": { "content": { "anyOf": [ { "type": "string" }, { "items": { "oneOf": [ { "$ref": "#/$defs/BetaRequestTextBlock" }, { "$ref": "#/$defs/BetaRequestImageBlock" } ], "title": "beta_content_block_source_content_item" }, "type": "array", "title": "beta_content_block_source_content" } ], "title": "Content" }, "type": { "const": "content", "title": "Type", "type": "string" } }, "required": [ "content", "type" ], "title": "ContentBlockSource", "type": "object" }, "BetaContextManagementConfig": { "additionalProperties": false, "properties": { "edits": { "description": "List of context management edits to apply", "items": { "oneOf": [ { "$ref": "#/$defs/BetaClearToolUses20250919" }, { "$ref": "#/$defs/BetaClearThinking20251015", "x-anthropic-beta-required": [ "context-management-2025-06-27" ] }, { "$ref": "#/$defs/BetaCompact20260112", "x-anthropic-beta-required": [ "compact-2026-01-12" ] } ] }, "minItems": 0, "title": "Edits", "type": "array" } }, "title": "ContextManagementConfig", "type": "object" }, "BetaDiagnosticsParam": { "additionalProperties": false, "description": "Request-level diagnostics. Currently carries the previous response\nid for prompt-cache divergence reporting.", "properties": { "previous_message_id": { "anyOf": [ { "maxLength": 256, "type": "string" }, { "type": "null" } ], "description": "The `id` (`msg_...`) from this client's previous /v1/messages response. The server compares that request's prompt fingerprint against this one and returns `diagnostics.cache_miss_reason` when the prompt-cache prefix could not be reused. Pass `null` on the first turn to opt in without a prior message to compare.", "title": "Previous Message Id" } }, "title": "DiagnosticsParam", "type": "object" }, "BetaDirectCaller": { "additionalProperties": false, "description": "Tool invocation directly from the model.", "properties": { "type": { "const": "direct", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "DirectCaller", "type": "object" }, "BetaEffortLevel": { "description": "All possible effort levels.", "enum": [ "low", "medium", "high", "xhigh", "max" ], "title": "EffortLevel", "type": "string" }, "BetaFallbackConfigV2": { "additionalProperties": true, "description": "One entry in the `fallbacks` chain on a `/v1/messages` request.\n\n`model` is required. The override fields (`max_tokens`, `thinking`,\n`output_config`, and `speed`) set the corresponding parameter for this\nattempt only and are validated as if the request were made to `model`.\nAny other key is rejected at parse time.", "properties": { "max_tokens": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Max Tokens" }, "model": { "$ref": "#/$defs/Model" }, "output_config": { "anyOf": [ { "$ref": "#/$defs/BetaOutputConfig" }, { "type": "null" } ] }, "speed": { "anyOf": [ { "$ref": "#/$defs/BetaSpeed" }, { "type": "null" } ], "x-anthropic-beta-required": [ "fast-mode-2026-02-01" ] }, "thinking": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaThinkingConfigEnabled" }, { "$ref": "#/$defs/BetaThinkingConfigDisabled" }, { "$ref": "#/$defs/BetaThinkingConfigAdaptive" } ] }, { "type": "null" } ], "title": "Thinking" } }, "required": [ "model" ], "title": "FallbackConfigV2", "type": "object" }, "BetaFallbackCreditTokenParam": { "additionalProperties": false, "description": "Object form of ``fallback_credit_token``: the token plus a redemption\nmode.\n\nRequires ``anthropic-beta: fallback-credit-2026-07-01``; without that\nheader the field accepts the bare string only. The bare string and the\nmode-less object are equivalent (both select ``strict``), so wrapping\nan existing token changes nothing by itself.", "properties": { "mode": { "description": "How a failing token affects the retry. `strict` (the default, and the bare-string behavior): a failing redemption is a 400 and the retry is not served. `best_effort`: the retry is served either way — a token-layer failure no longer rejects the request; the retry proceeds at normal price and the outcome is reported on the response's `usage.fallback_credit`. Two failures stay hard in both modes: a malformed token, and combining `fallback_credit_token` with `fallbacks`.", "enum": [ "strict", "best_effort" ], "title": "Mode", "type": "string" }, "token": { "description": "The opaque `fallback_credit_token` from a prior refusal's `stop_details` — the same string the bare-string form carries.", "maxLength": 2048, "minLength": 1, "title": "Token", "type": "string" } }, "required": [ "token" ], "title": "FallbackCreditTokenParam", "type": "object" }, "BetaFileDocumentSource": { "additionalProperties": false, "properties": { "file_id": { "title": "File Id", "type": "string" }, "type": { "const": "file", "title": "Type", "type": "string" } }, "required": [ "file_id", "type" ], "title": "FileDocumentSource", "type": "object" }, "BetaFileImageSource": { "additionalProperties": false, "properties": { "file_id": { "title": "File Id", "type": "string" }, "type": { "const": "file", "title": "Type", "type": "string" } }, "required": [ "file_id", "type" ], "title": "FileImageSource", "type": "object" }, "BetaInputContentBlock": { "oneOf": [ { "$ref": "#/$defs/BetaRequestTextBlock", "description": "Regular text content." }, { "$ref": "#/$defs/BetaRequestImageBlock", "description": "Image content specified directly as base64 data or as a reference via a URL." }, { "$ref": "#/$defs/BetaRequestDocumentBlock", "description": "Document content, either specified directly as base64 data, as text, or as a reference via a URL." }, { "$ref": "#/$defs/BetaRequestSearchResultBlock", "description": "A search result block containing source, title, and content from search operations." }, { "$ref": "#/$defs/BetaRequestThinkingBlock", "description": "A block specifying internal thinking by the model." }, { "$ref": "#/$defs/BetaRequestRedactedThinkingBlock", "description": "A block specifying internal, redacted thinking by the model." }, { "$ref": "#/$defs/BetaRequestToolUseBlock", "description": "A block indicating a tool use by the model." }, { "$ref": "#/$defs/BetaRequestToolResultBlock", "description": "A block specifying the results of a tool use by the model." }, { "$ref": "#/$defs/BetaRequestServerToolUseBlock" }, { "$ref": "#/$defs/BetaRequestWebSearchToolResultBlock" }, { "$ref": "#/$defs/BetaRequestWebFetchToolResultBlock" }, { "$ref": "#/$defs/BetaRequestAdvisorToolResultBlock", "x-anthropic-beta-required": [ "advisor-tool-2026-03-01" ] }, { "$ref": "#/$defs/BetaRequestCodeExecutionToolResultBlock" }, { "$ref": "#/$defs/BetaRequestBashCodeExecutionToolResultBlock" }, { "$ref": "#/$defs/BetaRequestTextEditorCodeExecutionToolResultBlock" }, { "$ref": "#/$defs/BetaRequestToolSearchToolResultBlock" }, { "$ref": "#/$defs/BetaRequestMCPToolUseBlock", "x-anthropic-beta-required": [ "mcp-client-2025-04-04", "mcp-client-2025-11-20" ] }, { "$ref": "#/$defs/BetaRequestMCPToolResultBlock", "x-anthropic-beta-required": [ "mcp-client-2025-04-04", "mcp-client-2025-11-20" ] }, { "$ref": "#/$defs/BetaRequestContainerUploadBlock" }, { "$ref": "#/$defs/BetaRequestCompactionBlock", "x-anthropic-beta-required": [ "compact-2026-01-12" ] }, { "$ref": "#/$defs/BetaRequestToolAdditionBlock", "x-anthropic-beta-required": [ "mid-conversation-tool-changes-2026-07-01" ] }, { "$ref": "#/$defs/BetaRequestToolRemovalBlock", "x-anthropic-beta-required": [ "mid-conversation-tool-changes-2026-07-01" ] }, { "$ref": "#/$defs/BetaRequestFallbackBlock", "x-anthropic-beta-required": [ "server-side-fallback-2026-06-01", "server-side-fallback-2026-07-01" ] } ], "x-stainless-go-variant-constructor": { "naming": "new_beta_{variant}_block" } }, "BetaInputMessage": { "additionalProperties": false, "properties": { "content": { "anyOf": [ { "type": "string", "x-stainless-skip": [ "go", "cli" ] }, { "items": { "$ref": "#/$defs/BetaInputContentBlock" }, "type": "array" } ], "title": "Content" }, "role": { "enum": [ "user", "assistant", "system" ], "title": "Role", "type": "string" } }, "required": [ "content", "role" ], "title": "InputMessage", "type": "object" }, "BetaInputSchema": { "additionalProperties": true, "properties": { "properties": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Properties" }, "required": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Required" }, "type": { "const": "object", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "InputSchema", "type": "object" }, "BetaInputTokensClearAtLeast": { "additionalProperties": false, "properties": { "type": { "const": "input_tokens", "title": "Type", "type": "string" }, "value": { "minimum": 0, "title": "Value", "type": "integer" } }, "required": [ "type", "value" ], "title": "InputTokensClearAtLeast", "type": "object" }, "BetaInputTokensTrigger": { "additionalProperties": false, "properties": { "type": { "const": "input_tokens", "title": "Type", "type": "string" }, "value": { "minimum": 1, "title": "Value", "type": "integer" } }, "required": [ "type", "value" ], "title": "InputTokensTrigger", "type": "object" }, "BetaJsonOutputFormat": { "additionalProperties": false, "properties": { "schema": { "additionalProperties": true, "description": "The JSON schema of the format", "title": "Schema", "type": "object" }, "type": { "const": "json_schema", "title": "Type", "type": "string" } }, "required": [ "schema", "type" ], "title": "JsonOutputFormat", "type": "object" }, "BetaJsonValue": {}, "BetaMCPToolConfig": { "additionalProperties": false, "description": "Configuration for a specific tool in an MCP toolset.", "properties": { "defer_loading": { "title": "Defer Loading", "type": "boolean" }, "enabled": { "title": "Enabled", "type": "boolean" } }, "title": "MCPToolConfig", "type": "object" }, "BetaMCPToolDefaultConfig": { "additionalProperties": false, "description": "Default configuration for tools in an MCP toolset.", "properties": { "defer_loading": { "title": "Defer Loading", "type": "boolean" }, "enabled": { "title": "Enabled", "type": "boolean" } }, "title": "MCPToolDefaultConfig", "type": "object" }, "BetaMCPToolset": { "additionalProperties": false, "description": "Configuration for a group of tools from an MCP server.\n\nAllows configuring enabled status and defer_loading for all tools\nfrom an MCP server, with optional per-tool overrides.", "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "configs": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/BetaMCPToolConfig" }, "type": "object" }, { "type": "null" } ], "description": "Configuration overrides for specific tools, keyed by tool name", "title": "Configs" }, "default_config": { "$ref": "#/$defs/BetaMCPToolDefaultConfig", "description": "Default configuration applied to all tools from this server" }, "mcp_server_name": { "description": "Name of the MCP server to configure tools for", "maxLength": 255, "minLength": 1, "title": "Mcp Server Name", "type": "string" }, "type": { "const": "mcp_toolset", "title": "Type", "type": "string" } }, "required": [ "mcp_server_name", "type" ], "title": "MCPToolset", "type": "object" }, "BetaMemoryTool_20250818": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "input_examples": { "items": { "additionalProperties": { "$ref": "#/$defs/BetaJsonValue" }, "type": "object" }, "title": "Input Examples", "type": "array" }, "name": { "const": "memory", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "memory_20250818", "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "MemoryTool_20250818", "type": "object" }, "BetaMetadata": { "additionalProperties": false, "properties": { "user_id": { "anyOf": [ { "maxLength": 512, "type": "string" }, { "type": "null" } ], "description": "An external identifier for the user who is associated with the request.\n\nThis should be a uuid, hash value, or other opaque identifier. Anthropic may use this id to help detect abuse. Do not include any identifying information such as name, email address, or phone number.", "title": "User Id" } }, "title": "Metadata", "type": "object" }, "BetaOutputConfig": { "additionalProperties": false, "properties": { "effort": { "anyOf": [ { "$ref": "#/$defs/BetaEffortLevel" }, { "type": "null" } ], "description": "How much effort the model should put into its response. Higher effort levels may result in more thorough analysis but take longer.\n\nValid values are `low`, `medium`, `high`, `xhigh`, or `max`.", "title": "Effort" }, "format": { "anyOf": [ { "$ref": "#/$defs/BetaJsonOutputFormat" }, { "type": "null" } ], "description": "A schema to specify Claude's output format in responses. See [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs)" }, "task_budget": { "anyOf": [ { "$ref": "#/$defs/BetaTokenTaskBudget" }, { "type": "null" } ], "description": "Configuration for token budget tracking across contexts.", "x-anthropic-beta-required": [ "task-budgets-2026-03-13" ] } }, "title": "OutputConfig", "type": "object" }, "BetaPlainTextSource": { "additionalProperties": false, "properties": { "data": { "title": "Data", "type": "string" }, "media_type": { "const": "text/plain", "title": "Media Type", "type": "string" }, "type": { "const": "text", "title": "Type", "type": "string" } }, "required": [ "data", "media_type", "type" ], "title": "PlainTextSource", "type": "object" }, "BetaRequestAdvisorRedactedResultBlock": { "additionalProperties": false, "properties": { "encrypted_content": { "description": "Opaque blob produced by a prior response; must be round-tripped verbatim.", "title": "Encrypted Content", "type": "string" }, "stop_reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Stop Reason" }, "type": { "const": "advisor_redacted_result", "title": "Type", "type": "string" } }, "required": [ "encrypted_content", "type" ], "title": "RequestAdvisorRedactedResultBlock", "type": "object" }, "BetaRequestAdvisorResultBlock": { "additionalProperties": false, "properties": { "stop_reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Stop Reason" }, "text": { "title": "Text", "type": "string" }, "type": { "const": "advisor_result", "title": "Type", "type": "string" } }, "required": [ "text", "type" ], "title": "RequestAdvisorResultBlock", "type": "object" }, "BetaRequestAdvisorToolResultBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "content": { "anyOf": [ { "$ref": "#/$defs/BetaRequestAdvisorToolResultError" }, { "$ref": "#/$defs/BetaRequestAdvisorResultBlock" }, { "$ref": "#/$defs/BetaRequestAdvisorRedactedResultBlock" } ], "title": "Content" }, "tool_use_id": { "pattern": "^srvtoolu_[a-zA-Z0-9_]+$", "title": "Tool Use Id", "type": "string" }, "type": { "const": "advisor_tool_result", "title": "Type", "type": "string" } }, "required": [ "content", "tool_use_id", "type" ], "title": "RequestAdvisorToolResultBlock", "type": "object" }, "BetaRequestAdvisorToolResultError": { "additionalProperties": false, "properties": { "error_code": { "$ref": "#/$defs/BetaAdvisorToolResultErrorCode" }, "type": { "const": "advisor_tool_result_error", "title": "Type", "type": "string" } }, "required": [ "error_code", "type" ], "title": "RequestAdvisorToolResultError", "type": "object" }, "BetaRequestBashCodeExecutionOutputBlock": { "additionalProperties": false, "properties": { "file_id": { "title": "File Id", "type": "string" }, "type": { "const": "bash_code_execution_output", "title": "Type", "type": "string" } }, "required": [ "file_id", "type" ], "title": "RequestBashCodeExecutionOutputBlock", "type": "object" }, "BetaRequestBashCodeExecutionResultBlock": { "additionalProperties": false, "properties": { "content": { "items": { "$ref": "#/$defs/BetaRequestBashCodeExecutionOutputBlock" }, "title": "Content", "type": "array" }, "return_code": { "title": "Return Code", "type": "integer" }, "stderr": { "title": "Stderr", "type": "string" }, "stdout": { "title": "Stdout", "type": "string" }, "type": { "const": "bash_code_execution_result", "title": "Type", "type": "string" } }, "required": [ "content", "return_code", "stderr", "stdout", "type" ], "title": "RequestBashCodeExecutionResultBlock", "type": "object" }, "BetaRequestBashCodeExecutionToolResultBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "content": { "anyOf": [ { "$ref": "#/$defs/BetaRequestBashCodeExecutionToolResultError" }, { "$ref": "#/$defs/BetaRequestBashCodeExecutionResultBlock" } ], "title": "Content" }, "tool_use_id": { "pattern": "^srvtoolu_[a-zA-Z0-9_]+$", "title": "Tool Use Id", "type": "string" }, "type": { "const": "bash_code_execution_tool_result", "title": "Type", "type": "string" } }, "required": [ "content", "tool_use_id", "type" ], "title": "RequestBashCodeExecutionToolResultBlock", "type": "object" }, "BetaRequestBashCodeExecutionToolResultError": { "additionalProperties": false, "properties": { "error_code": { "$ref": "#/$defs/BetaBashCodeExecutionToolResultErrorCode" }, "type": { "const": "bash_code_execution_tool_result_error", "title": "Type", "type": "string" } }, "required": [ "error_code", "type" ], "title": "RequestBashCodeExecutionToolResultError", "type": "object" }, "BetaRequestBrowserStateBlock": { "additionalProperties": false, "description": "The caller's browser state after a browser toolset member call —\nthe full inventory of open tabs, which tab is active, and any side\neffects (tabs opened, download state changes) the call produced.\n\nAt most one per `tool_result`, only on a non-error result answering a\nbrowser toolset member `tool_use`. The server renders the\nmodel-visible text from it; the model never sees the raw fields.", "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "state_changes": { "anyOf": [ { "items": { "oneOf": [ { "$ref": "#/$defs/BetaBrowserStateChangeTabOpened" }, { "$ref": "#/$defs/BetaBrowserStateChangeDownloadStarted" }, { "$ref": "#/$defs/BetaBrowserStateChangeDownloadCompleted" }, { "$ref": "#/$defs/BetaBrowserStateChangeDownloadFailed" } ] }, "maxItems": 200, "minItems": 1, "type": "array" }, { "type": "null" } ], "description": "Tabs opened and download state changes during this call. \"Nothing to report\" is expressed by omitting the field, never by an empty list.", "title": "State Changes" }, "tabs": { "description": "All tabs open in the browser after this call — the full inventory, not a delta. May be empty. Whenever non-empty, exactly one entry carries `active: true`.", "items": { "$ref": "#/$defs/BetaBrowserStateTabEntry" }, "maxItems": 100, "title": "Tabs", "type": "array" }, "type": { "const": "browser_state", "title": "Type", "type": "string" } }, "required": [ "tabs", "type" ], "title": "RequestBrowserStateBlock", "type": "object" }, "BetaRequestCharLocationCitation": { "additionalProperties": false, "properties": { "cited_text": { "title": "Cited Text", "type": "string" }, "document_index": { "minimum": 0, "title": "Document Index", "type": "integer" }, "document_title": { "anyOf": [ { "maxLength": 500, "minLength": 1, "type": "string" }, { "type": "null" } ], "title": "Document Title" }, "end_char_index": { "title": "End Char Index", "type": "integer" }, "start_char_index": { "minimum": 0, "title": "Start Char Index", "type": "integer" }, "type": { "const": "char_location", "title": "Type", "type": "string" } }, "required": [ "cited_text", "document_index", "document_title", "end_char_index", "start_char_index", "type" ], "title": "RequestCharLocationCitation", "type": "object" }, "BetaRequestCitationsConfig": { "additionalProperties": false, "properties": { "enabled": { "title": "Enabled", "type": "boolean" } }, "title": "RequestCitationsConfig", "type": "object" }, "BetaRequestCodeExecutionOutputBlock": { "additionalProperties": false, "properties": { "file_id": { "title": "File Id", "type": "string" }, "type": { "const": "code_execution_output", "title": "Type", "type": "string" } }, "required": [ "file_id", "type" ], "title": "RequestCodeExecutionOutputBlock", "type": "object" }, "BetaRequestCodeExecutionResultBlock": { "additionalProperties": false, "properties": { "content": { "items": { "$ref": "#/$defs/BetaRequestCodeExecutionOutputBlock" }, "title": "Content", "type": "array" }, "return_code": { "title": "Return Code", "type": "integer" }, "stderr": { "title": "Stderr", "type": "string" }, "stdout": { "title": "Stdout", "type": "string" }, "type": { "const": "code_execution_result", "title": "Type", "type": "string" } }, "required": [ "content", "return_code", "stderr", "stdout", "type" ], "title": "Result Block", "type": "object" }, "BetaRequestCodeExecutionToolResultBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "content": { "anyOf": [ { "$ref": "#/$defs/BetaRequestCodeExecutionToolResultError", "x-stainless-naming": { "go": { "variant_constructor": "BetaNewCodeExecutionToolRequestError" } } }, { "$ref": "#/$defs/BetaRequestCodeExecutionResultBlock" }, { "$ref": "#/$defs/BetaRequestEncryptedCodeExecutionResultBlock" } ], "title": "Content" }, "tool_use_id": { "pattern": "^srvtoolu_[a-zA-Z0-9_]+$", "title": "Tool Use Id", "type": "string" }, "type": { "const": "code_execution_tool_result", "title": "Type", "type": "string" } }, "required": [ "content", "tool_use_id", "type" ], "title": "RequestCodeExecutionToolResultBlock", "type": "object" }, "BetaRequestCodeExecutionToolResultError": { "additionalProperties": false, "properties": { "error_code": { "$ref": "#/$defs/BetaCodeExecutionToolResultErrorCode" }, "type": { "const": "code_execution_tool_result_error", "title": "Type", "type": "string" } }, "required": [ "error_code", "type" ], "title": "Error", "type": "object" }, "BetaRequestCompactionBlock": { "additionalProperties": false, "description": "A compaction block containing summary of previous context.\n\nUsers should round-trip these blocks from responses to subsequent requests\nto maintain context across compaction boundaries.\n\nWhen content is None, the block represents a failed compaction. The server\ntreats these as no-ops. Empty string content is not allowed.", "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "content": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Summary of previously compacted content, or null if compaction failed", "title": "Content" }, "encrypted_content": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Opaque metadata from prior compaction, to be round-tripped verbatim", "title": "Encrypted Content", "x-anthropic-beta-required": [ "task-budgets-2026-03-13" ] }, "type": { "const": "compaction", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "RequestCompactionBlock", "type": "object" }, "BetaRequestContainerUploadBlock": { "additionalProperties": false, "description": "A content block that represents a file to be uploaded to the container\nFiles uploaded via this block will be available in the container's input directory.", "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "file_id": { "title": "File Id", "type": "string" }, "type": { "const": "container_upload", "title": "Type", "type": "string" } }, "required": [ "file_id", "type" ], "title": "RequestContainerUploadBlock", "type": "object" }, "BetaRequestContentBlockLocationCitation": { "additionalProperties": false, "properties": { "cited_text": { "description": "The full text of the cited block range, concatenated.\n\nAlways equals the contents of `content[start_block_index:end_block_index]` joined together. The text block is the minimal citable unit; this field is never a substring of a single block. Not counted toward output tokens, and not counted toward input tokens when sent back in subsequent turns.", "title": "Cited Text", "type": "string" }, "document_index": { "minimum": 0, "title": "Document Index", "type": "integer" }, "document_title": { "anyOf": [ { "maxLength": 500, "minLength": 1, "type": "string" }, { "type": "null" } ], "title": "Document Title" }, "end_block_index": { "description": "Exclusive 0-based end index of the cited block range in the source's `content` array.\n\nAlways greater than `start_block_index`; a single-block citation has `end_block_index = start_block_index + 1`.", "title": "End Block Index", "type": "integer" }, "start_block_index": { "description": "0-based index of the first cited block in the source's `content` array.", "minimum": 0, "title": "Start Block Index", "type": "integer" }, "type": { "const": "content_block_location", "title": "Type", "type": "string" } }, "required": [ "cited_text", "document_index", "document_title", "end_block_index", "start_block_index", "type" ], "title": "RequestContentBlockLocationCitation", "type": "object" }, "BetaRequestDocumentBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "citations": { "anyOf": [ { "$ref": "#/$defs/BetaRequestCitationsConfig" }, { "type": "null" } ] }, "context": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "title": "Context" }, "source": { "oneOf": [ { "$ref": "#/$defs/BetaBase64PDFSource" }, { "$ref": "#/$defs/BetaPlainTextSource" }, { "$ref": "#/$defs/BetaContentBlockSource" }, { "$ref": "#/$defs/BetaURLPDFSource" }, { "$ref": "#/$defs/BetaFileDocumentSource" } ], "title": "Source" }, "title": { "anyOf": [ { "maxLength": 500, "minLength": 1, "type": "string" }, { "type": "null" } ], "title": "Title" }, "type": { "const": "document", "title": "Type", "type": "string" } }, "required": [ "source", "type" ], "title": "RequestDocumentBlock", "type": "object" }, "BetaRequestEncryptedCodeExecutionResultBlock": { "additionalProperties": false, "description": "Code execution result with encrypted stdout for PFC + web_search results.", "properties": { "content": { "items": { "$ref": "#/$defs/BetaRequestCodeExecutionOutputBlock" }, "title": "Content", "type": "array" }, "encrypted_stdout": { "title": "Encrypted Stdout", "type": "string" }, "return_code": { "title": "Return Code", "type": "integer" }, "stderr": { "title": "Stderr", "type": "string" }, "type": { "const": "encrypted_code_execution_result", "title": "Type", "type": "string" } }, "required": [ "content", "encrypted_stdout", "return_code", "stderr", "type" ], "title": "RequestEncryptedCodeExecutionResultBlock", "type": "object" }, "BetaRequestFallbackBlock": { "additionalProperties": false, "description": "A `fallback` block echoed back from a prior response.\n\nAccepted in `messages[].content` and not rendered into the prompt; not\nvalidated against the request's `fallbacks` chain or top-level `model`.\n\nEcho the assistant turn back verbatim, including this block in its\noriginal position. The block marks the boundary between content produced\nbefore and after a fallback hop, and the server relies on that boundary\nto validate the turn: when thinking runs flank the boundary, omitting\nthe block merges them into one span the server cannot validate (the\nrequest is rejected), and moving it into the middle of a single run is\nlikewise rejected; between non-thinking blocks the block's placement has\nno validation effect.", "properties": { "from": { "$ref": "#/$defs/BetaRequestFallbackHopInfo" }, "to": { "$ref": "#/$defs/BetaRequestFallbackHopInfo" }, "trigger": { "description": "The response block's `trigger`, echoed verbatim. Accepted and ignored by the server; any object or `null` is allowed.", "title": "Trigger" }, "type": { "const": "fallback", "title": "Type", "type": "string" } }, "required": [ "from", "to", "type" ], "title": "RequestFallbackBlock", "type": "object" }, "BetaRequestFallbackHopInfo": { "additionalProperties": false, "description": "Identifies one hop of a fallback transition.", "properties": { "model": { "$ref": "#/$defs/Model" } }, "required": [ "model" ], "title": "RequestFallbackHopInfo", "type": "object" }, "BetaRequestImageBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "source": { "oneOf": [ { "$ref": "#/$defs/BetaBase64ImageSource" }, { "$ref": "#/$defs/BetaURLImageSource" }, { "$ref": "#/$defs/BetaFileImageSource" } ], "title": "Source" }, "transformations": { "anyOf": [ { "$ref": "#/$defs/BetaRequestImageTransformations" }, { "type": "null" } ], "description": "Configures the transformations the server applies to this image before the model observes it. Each key names a condition the server transforms images for; its value selects the transformation applied. Omitted keys keep their default behavior, and an empty object is equivalent to omitting the field." }, "type": { "const": "image", "title": "Type", "type": "string" } }, "required": [ "source", "type" ], "title": "RequestImageBlock", "type": "object" }, "BetaRequestImageTransformations": { "additionalProperties": false, "description": "Configures the transformations the server applies to this image before the model observes it. Each key names a condition the server transforms images for; its value selects the transformation applied. Omitted keys keep their default behavior, and an empty object is equivalent to omitting the field.", "properties": { "oversized_image": { "description": "What the server does when this image exceeds the model's maximum image size. `\"downsize\"` (the default) scales the image down to fit, which changes the dimensions the model observes without telling you. `\"error\"` instead rejects the request with a 400 error naming the image's dimensions and the largest dimensions that fit, so you can scale the image deliberately — your image is never silently scaled down.", "enum": [ "downsize", "error" ], "title": "Oversized Image", "type": "string" } }, "title": "RequestImageTransformations", "type": "object" }, "BetaRequestMCPServerToolConfiguration": { "additionalProperties": false, "properties": { "allowed_tools": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Allowed Tools" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Enabled" } }, "title": "RequestMCPServerToolConfiguration", "type": "object" }, "BetaRequestMCPServerURLDefinition": { "additionalProperties": false, "properties": { "authorization_token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authorization Token" }, "name": { "title": "Name", "type": "string" }, "tool_configuration": { "anyOf": [ { "$ref": "#/$defs/BetaRequestMCPServerToolConfiguration" }, { "type": "null" } ] }, "type": { "const": "url", "title": "Type", "type": "string" }, "url": { "title": "Url", "type": "string" } }, "required": [ "name", "type", "url" ], "title": "RequestMCPServerURLDefinition", "type": "object" }, "BetaRequestMCPToolResultBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "content": { "anyOf": [ { "type": "string" }, { "items": { "$ref": "#/$defs/BetaRequestTextBlock", "title": "beta_mcp_tool_result_block_param_content_item" }, "type": "array", "title": "beta_mcp_tool_result_block_param_content" } ], "title": "Content" }, "is_error": { "title": "Is Error", "type": "boolean" }, "tool_use_id": { "pattern": "^[a-zA-Z0-9_-]+$", "title": "Tool Use Id", "type": "string" }, "type": { "const": "mcp_tool_result", "title": "Type", "type": "string" } }, "required": [ "tool_use_id", "type" ], "title": "RequestMCPToolResultBlock", "type": "object" }, "BetaRequestMCPToolUseBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "id": { "pattern": "^[a-zA-Z0-9_-]+$", "title": "Id", "type": "string" }, "input": { "additionalProperties": true, "title": "Input", "type": "object" }, "name": { "title": "Name", "type": "string" }, "server_name": { "description": "The name of the MCP server", "title": "Server Name", "type": "string" }, "type": { "const": "mcp_tool_use", "title": "Type", "type": "string" } }, "required": [ "id", "input", "name", "server_name", "type" ], "title": "RequestMCPToolUseBlock", "type": "object" }, "BetaRequestPageLocationCitation": { "additionalProperties": false, "properties": { "cited_text": { "title": "Cited Text", "type": "string" }, "document_index": { "minimum": 0, "title": "Document Index", "type": "integer" }, "document_title": { "anyOf": [ { "maxLength": 500, "minLength": 1, "type": "string" }, { "type": "null" } ], "title": "Document Title" }, "end_page_number": { "title": "End Page Number", "type": "integer" }, "start_page_number": { "minimum": 1, "title": "Start Page Number", "type": "integer" }, "type": { "const": "page_location", "title": "Type", "type": "string" } }, "required": [ "cited_text", "document_index", "document_title", "end_page_number", "start_page_number", "type" ], "title": "RequestPageLocationCitation", "type": "object" }, "BetaRequestRedactedThinkingBlock": { "additionalProperties": false, "properties": { "data": { "description": "The `data` value of this redacted thinking block, exactly as returned by the API in a previous response. Opaque and encrypted; pass it back unchanged.", "title": "Data", "type": "string" }, "type": { "const": "redacted_thinking", "title": "Type", "type": "string" } }, "required": [ "data", "type" ], "title": "RequestRedactedThinkingBlock", "type": "object" }, "BetaRequestSearchResultBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "citations": { "$ref": "#/$defs/BetaRequestCitationsConfig" }, "content": { "items": { "$ref": "#/$defs/BetaRequestTextBlock" }, "title": "Content", "type": "array" }, "source": { "title": "Source", "type": "string" }, "title": { "title": "Title", "type": "string" }, "type": { "const": "search_result", "title": "Type", "type": "string" } }, "required": [ "content", "source", "title", "type" ], "title": "RequestSearchResultBlock", "type": "object" }, "BetaRequestSearchResultLocationCitation": { "additionalProperties": false, "properties": { "cited_text": { "description": "The full text of the cited block range, concatenated.\n\nAlways equals the contents of `content[start_block_index:end_block_index]` joined together. The text block is the minimal citable unit; this field is never a substring of a single block. Not counted toward output tokens, and not counted toward input tokens when sent back in subsequent turns.", "title": "Cited Text", "type": "string" }, "end_block_index": { "description": "Exclusive 0-based end index of the cited block range in the source's `content` array.\n\nAlways greater than `start_block_index`; a single-block citation has `end_block_index = start_block_index + 1`.", "title": "End Block Index", "type": "integer" }, "search_result_index": { "description": "0-based index of the cited search result among all `search_result` content blocks in the request, in the order they appear across messages and tool results.\n\nCounted separately from `document_index`; server-side web search results are not included in this count.", "minimum": 0, "title": "Search Result Index", "type": "integer" }, "source": { "title": "Source", "type": "string" }, "start_block_index": { "description": "0-based index of the first cited block in the source's `content` array.", "minimum": 0, "title": "Start Block Index", "type": "integer" }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Title" }, "type": { "const": "search_result_location", "title": "Type", "type": "string" } }, "required": [ "cited_text", "end_block_index", "search_result_index", "source", "start_block_index", "title", "type" ], "title": "RequestSearchResultLocationCitation", "type": "object" }, "BetaRequestServerToolUseBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "caller": { "oneOf": [ { "$ref": "#/$defs/BetaDirectCaller" }, { "$ref": "#/$defs/BetaServerToolCaller" }, { "$ref": "#/$defs/BetaServerToolCaller_20260120" } ], "title": "Caller" }, "id": { "pattern": "^srvtoolu_[a-zA-Z0-9_]+$", "title": "Id", "type": "string" }, "input": { "additionalProperties": true, "title": "Input", "type": "object" }, "name": { "enum": [ "advisor", "web_search", "web_fetch", "code_execution", "bash_code_execution", "text_editor_code_execution", "tool_search_tool_regex", "tool_search_tool_bm25" ], "title": "Name", "type": "string", "x-anthropic-beta-required-values": { "advisor": [ "advisor-tool-2026-03-01" ] } }, "type": { "const": "server_tool_use", "title": "Type", "type": "string" } }, "required": [ "id", "input", "name", "type" ], "title": "RequestServerToolUseBlock", "type": "object" }, "BetaRequestTextBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "citations": { "anyOf": [ { "items": { "oneOf": [ { "$ref": "#/$defs/BetaRequestCharLocationCitation" }, { "$ref": "#/$defs/BetaRequestPageLocationCitation" }, { "$ref": "#/$defs/BetaRequestContentBlockLocationCitation" }, { "$ref": "#/$defs/BetaRequestWebSearchResultLocationCitation" }, { "$ref": "#/$defs/BetaRequestSearchResultLocationCitation" } ] }, "type": "array" }, { "type": "null" } ], "title": "Citations" }, "text": { "minLength": 1, "title": "Text", "type": "string" }, "type": { "const": "text", "title": "Type", "type": "string" } }, "required": [ "text", "type" ], "title": "RequestTextBlock", "type": "object" }, "BetaRequestTextEditorCodeExecutionCreateResultBlock": { "additionalProperties": false, "properties": { "is_file_update": { "title": "Is File Update", "type": "boolean" }, "type": { "const": "text_editor_code_execution_create_result", "title": "Type", "type": "string" } }, "required": [ "is_file_update", "type" ], "title": "RequestTextEditorCodeExecutionCreateResultBlock", "type": "object" }, "BetaRequestTextEditorCodeExecutionStrReplaceResultBlock": { "additionalProperties": false, "properties": { "lines": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Lines" }, "new_lines": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "New Lines" }, "new_start": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "New Start" }, "old_lines": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Old Lines" }, "old_start": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Old Start" }, "type": { "const": "text_editor_code_execution_str_replace_result", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "RequestTextEditorCodeExecutionStrReplaceResultBlock", "type": "object" }, "BetaRequestTextEditorCodeExecutionToolResultBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "content": { "anyOf": [ { "$ref": "#/$defs/BetaRequestTextEditorCodeExecutionToolResultError" }, { "$ref": "#/$defs/BetaRequestTextEditorCodeExecutionViewResultBlock" }, { "$ref": "#/$defs/BetaRequestTextEditorCodeExecutionCreateResultBlock" }, { "$ref": "#/$defs/BetaRequestTextEditorCodeExecutionStrReplaceResultBlock" } ], "title": "Content" }, "tool_use_id": { "pattern": "^srvtoolu_[a-zA-Z0-9_]+$", "title": "Tool Use Id", "type": "string" }, "type": { "const": "text_editor_code_execution_tool_result", "title": "Type", "type": "string" } }, "required": [ "content", "tool_use_id", "type" ], "title": "RequestTextEditorCodeExecutionToolResultBlock", "type": "object" }, "BetaRequestTextEditorCodeExecutionToolResultError": { "additionalProperties": false, "properties": { "error_code": { "$ref": "#/$defs/BetaTextEditorCodeExecutionToolResultErrorCode" }, "error_message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error Message" }, "type": { "const": "text_editor_code_execution_tool_result_error", "title": "Type", "type": "string" } }, "required": [ "error_code", "type" ], "title": "RequestTextEditorCodeExecutionToolResultError", "type": "object" }, "BetaRequestTextEditorCodeExecutionViewResultBlock": { "additionalProperties": false, "properties": { "content": { "title": "Content", "type": "string" }, "file_type": { "enum": [ "text", "image", "pdf" ], "title": "File Type", "type": "string" }, "num_lines": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Num Lines" }, "start_line": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Start Line" }, "total_lines": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Total Lines" }, "type": { "const": "text_editor_code_execution_view_result", "title": "Type", "type": "string" } }, "required": [ "content", "file_type", "type" ], "title": "RequestTextEditorCodeExecutionViewResultBlock", "type": "object" }, "BetaRequestThinkingBlock": { "additionalProperties": false, "properties": { "signature": { "description": "The `signature` value of this thinking block, exactly as returned by the API in a previous response. Used to verify that the block was generated by Claude.\n\nThinking blocks must be passed back unmodified and in their original order; a modified block results in a 400 `invalid_request_error`.", "title": "Signature", "type": "string" }, "thinking": { "description": "The `thinking` text of this block as returned by the API.", "title": "Thinking", "type": "string" }, "type": { "const": "thinking", "title": "Type", "type": "string" } }, "required": [ "signature", "thinking", "type" ], "title": "RequestThinkingBlock", "type": "object" }, "BetaRequestToolAdditionBlock": { "additionalProperties": false, "description": "Mid-conversation directive to surface a declared tool.\n\n``tool`` references a tool (or MCP toolset) by name from the request's\n``tools``; it is offered to the model from this point in the\nconversation onward.", "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "tool": { "oneOf": [ { "$ref": "#/$defs/BetaToolChangeToolReference" }, { "$ref": "#/$defs/BetaToolChangeMCPToolReference", "x-anthropic-beta-required": [ "mcp-client-2025-04-04", "mcp-client-2025-11-20" ] }, { "$ref": "#/$defs/BetaToolChangeMCPToolsetReference", "x-anthropic-beta-required": [ "mcp-client-2025-04-04", "mcp-client-2025-11-20" ] } ], "title": "Tool" }, "type": { "const": "tool_addition", "title": "Type", "type": "string" } }, "required": [ "tool", "type" ], "title": "RequestToolAdditionBlock", "type": "object" }, "BetaRequestToolReferenceBlock": { "additionalProperties": false, "description": "Tool reference block that can be included in tool_result content.", "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "tool_name": { "maxLength": 256, "minLength": 1, "pattern": "^[a-zA-Z0-9_-]{1,256}$", "title": "Tool Name", "type": "string" }, "type": { "const": "tool_reference", "title": "Type", "type": "string" } }, "required": [ "tool_name", "type" ], "title": "RequestToolReferenceBlock", "type": "object" }, "BetaRequestToolRemovalBlock": { "additionalProperties": false, "description": "Mid-conversation directive to withdraw a tool.\n\n``tool`` references a tool (or MCP toolset) by name from the request's\n``tools``; it is no longer offered to the model from this point in the\nconversation onward.", "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "tool": { "oneOf": [ { "$ref": "#/$defs/BetaToolChangeToolReference" }, { "$ref": "#/$defs/BetaToolChangeMCPToolReference", "x-anthropic-beta-required": [ "mcp-client-2025-04-04", "mcp-client-2025-11-20" ] }, { "$ref": "#/$defs/BetaToolChangeMCPToolsetReference", "x-anthropic-beta-required": [ "mcp-client-2025-04-04", "mcp-client-2025-11-20" ] } ], "title": "Tool" }, "type": { "const": "tool_removal", "title": "Type", "type": "string" } }, "required": [ "tool", "type" ], "title": "RequestToolRemovalBlock", "type": "object" }, "BetaRequestToolResultBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "content": { "anyOf": [ { "type": "string", "x-stainless-skip": [ "go", "cli" ] }, { "items": { "oneOf": [ { "$ref": "#/$defs/BetaRequestTextBlock" }, { "$ref": "#/$defs/BetaRequestImageBlock" }, { "$ref": "#/$defs/BetaRequestSearchResultBlock" }, { "$ref": "#/$defs/BetaRequestDocumentBlock" }, { "$ref": "#/$defs/BetaRequestToolReferenceBlock" }, { "$ref": "#/$defs/BetaRequestBrowserStateBlock" } ], "title": "Block" }, "type": "array", "x-stainless-naming": { "python": { "type_name": "Content" }, "ruby": { "type_name": "Content" }, "php": { "type_name": "Content" } } } ], "title": "Content" }, "is_error": { "title": "Is Error", "type": "boolean" }, "tool_use_id": { "pattern": "^[a-zA-Z0-9_-]+$", "title": "Tool Use Id", "type": "string" }, "toolset_name": { "anyOf": [ { "maxLength": 64, "minLength": 1, "pattern": "^[a-zA-Z0-9_-]+$", "type": "string" }, { "type": "null" } ], "description": "For a toolset member tool_result, the toolset family of the paired tool_use.", "title": "Toolset Name" }, "type": { "const": "tool_result", "title": "Type", "type": "string" } }, "required": [ "tool_use_id", "type" ], "title": "RequestToolResultBlock", "type": "object" }, "BetaRequestToolSearchToolResultBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "content": { "anyOf": [ { "$ref": "#/$defs/BetaRequestToolSearchToolResultError" }, { "$ref": "#/$defs/BetaRequestToolSearchToolSearchResultBlock" } ], "title": "Content" }, "tool_use_id": { "pattern": "^srvtoolu_[a-zA-Z0-9_]+$", "title": "Tool Use Id", "type": "string" }, "type": { "const": "tool_search_tool_result", "title": "Type", "type": "string" } }, "required": [ "content", "tool_use_id", "type" ], "title": "RequestToolSearchToolResultBlock", "type": "object" }, "BetaRequestToolSearchToolResultError": { "additionalProperties": false, "properties": { "error_code": { "$ref": "#/$defs/BetaToolSearchToolResultErrorCode" }, "error_message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error Message" }, "type": { "const": "tool_search_tool_result_error", "title": "Type", "type": "string" } }, "required": [ "error_code", "type" ], "title": "RequestToolSearchToolResultError", "type": "object" }, "BetaRequestToolSearchToolSearchResultBlock": { "additionalProperties": false, "properties": { "tool_references": { "items": { "$ref": "#/$defs/BetaRequestToolReferenceBlock" }, "title": "Tool References", "type": "array" }, "type": { "const": "tool_search_tool_search_result", "title": "Type", "type": "string" } }, "required": [ "tool_references", "type" ], "title": "RequestToolSearchToolSearchResultBlock", "type": "object" }, "BetaRequestToolUseBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "caller": { "oneOf": [ { "$ref": "#/$defs/BetaDirectCaller" }, { "$ref": "#/$defs/BetaServerToolCaller" }, { "$ref": "#/$defs/BetaServerToolCaller_20260120" } ], "title": "Caller" }, "id": { "pattern": "^[a-zA-Z0-9_-]+$", "title": "Id", "type": "string" }, "input": { "additionalProperties": true, "title": "Input", "type": "object" }, "name": { "maxLength": 200, "minLength": 1, "title": "Name", "type": "string" }, "toolset_name": { "anyOf": [ { "maxLength": 64, "minLength": 1, "pattern": "^[a-zA-Z0-9_-]+$", "type": "string" }, { "type": "null" } ], "description": "For a toolset member tool_use, the toolset family this member belongs to.", "title": "Toolset Name" }, "type": { "const": "tool_use", "title": "Type", "type": "string" } }, "required": [ "id", "input", "name", "type" ], "title": "RequestToolUseBlock", "type": "object" }, "BetaRequestWebFetchResultBlock": { "additionalProperties": false, "properties": { "content": { "$ref": "#/$defs/BetaRequestDocumentBlock" }, "retrieved_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO 8601 timestamp when the content was retrieved", "title": "Retrieved At" }, "type": { "const": "web_fetch_result", "title": "Type", "type": "string" }, "url": { "description": "Fetched content URL", "title": "Url", "type": "string" } }, "required": [ "content", "type", "url" ], "title": "RequestWebFetchResultBlock", "type": "object" }, "BetaRequestWebFetchToolResultBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "caller": { "oneOf": [ { "$ref": "#/$defs/BetaDirectCaller" }, { "$ref": "#/$defs/BetaServerToolCaller" }, { "$ref": "#/$defs/BetaServerToolCaller_20260120" } ], "title": "Caller" }, "content": { "anyOf": [ { "$ref": "#/$defs/BetaRequestWebFetchToolResultError" }, { "$ref": "#/$defs/BetaRequestWebFetchResultBlock" } ], "title": "Content" }, "tool_use_id": { "pattern": "^srvtoolu_[a-zA-Z0-9_]+$", "title": "Tool Use Id", "type": "string" }, "type": { "const": "web_fetch_tool_result", "title": "Type", "type": "string" } }, "required": [ "content", "tool_use_id", "type" ], "title": "RequestWebFetchToolResultBlock", "type": "object" }, "BetaRequestWebFetchToolResultError": { "additionalProperties": false, "properties": { "error_code": { "$ref": "#/$defs/BetaWebFetchToolResultErrorCode" }, "type": { "const": "web_fetch_tool_result_error", "title": "Type", "type": "string" } }, "required": [ "error_code", "type" ], "title": "RequestWebFetchToolResultError", "type": "object" }, "BetaRequestWebSearchResultBlock": { "additionalProperties": false, "properties": { "encrypted_content": { "title": "Encrypted Content", "type": "string" }, "page_age": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Page Age" }, "title": { "title": "Title", "type": "string" }, "type": { "const": "web_search_result", "title": "Type", "type": "string" }, "url": { "title": "Url", "type": "string" } }, "required": [ "encrypted_content", "title", "type", "url" ], "title": "RequestWebSearchResultBlock", "type": "object" }, "BetaRequestWebSearchResultLocationCitation": { "additionalProperties": false, "properties": { "cited_text": { "title": "Cited Text", "type": "string" }, "encrypted_index": { "title": "Encrypted Index", "type": "string" }, "title": { "anyOf": [ { "maxLength": 512, "minLength": 1, "type": "string" }, { "type": "null" } ], "title": "Title" }, "type": { "const": "web_search_result_location", "title": "Type", "type": "string" }, "url": { "minLength": 1, "title": "Url", "type": "string" } }, "required": [ "cited_text", "encrypted_index", "title", "type", "url" ], "title": "RequestWebSearchResultLocationCitation", "type": "object" }, "BetaRequestWebSearchToolResultBlock": { "additionalProperties": false, "properties": { "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "caller": { "oneOf": [ { "$ref": "#/$defs/BetaDirectCaller" }, { "$ref": "#/$defs/BetaServerToolCaller" }, { "$ref": "#/$defs/BetaServerToolCaller_20260120" } ], "title": "Caller" }, "content": { "anyOf": [ { "items": { "$ref": "#/$defs/BetaRequestWebSearchResultBlock" }, "type": "array", "title": "Result Block" }, { "$ref": "#/$defs/BetaRequestWebSearchToolResultError", "x-stainless-naming": { "go": { "variant_constructor": "BetaNewWebSearchToolRequestError" } } } ], "title": "Content" }, "tool_use_id": { "pattern": "^srvtoolu_[a-zA-Z0-9_]+$", "title": "Tool Use Id", "type": "string" }, "type": { "const": "web_search_tool_result", "title": "Type", "type": "string" } }, "required": [ "content", "tool_use_id", "type" ], "title": "RequestWebSearchToolResultBlock", "type": "object" }, "BetaRequestWebSearchToolResultError": { "additionalProperties": false, "properties": { "error_code": { "$ref": "#/$defs/BetaWebSearchToolResultErrorCode" }, "type": { "const": "web_search_tool_result_error", "title": "Type", "type": "string" } }, "required": [ "error_code", "type" ], "title": "Error", "type": "object" }, "BetaServerToolCaller": { "additionalProperties": false, "description": "Tool invocation generated by a server-side tool.", "properties": { "tool_id": { "pattern": "^srvtoolu_[a-zA-Z0-9_]+$", "title": "Tool Id", "type": "string" }, "type": { "const": "code_execution_20250825", "title": "Type", "type": "string" } }, "required": [ "tool_id", "type" ], "title": "ServerToolCaller", "type": "object" }, "BetaServerToolCaller_20260120": { "additionalProperties": false, "properties": { "tool_id": { "pattern": "^srvtoolu_[a-zA-Z0-9_]+$", "title": "Tool Id", "type": "string" }, "type": { "const": "code_execution_20260120", "title": "Type", "type": "string" } }, "required": [ "tool_id", "type" ], "title": "ServerToolCaller_20260120", "type": "object" }, "BetaSkillParams": { "additionalProperties": false, "description": "Specification for a skill to be loaded in a container (request model).", "properties": { "skill_id": { "description": "Skill ID", "maxLength": 64, "minLength": 1, "title": "Skill Id", "type": "string" }, "type": { "description": "Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)", "enum": [ "anthropic", "custom" ], "title": "Type", "type": "string" }, "version": { "description": "Skill version or 'latest' for most recent version", "maxLength": 64, "minLength": 1, "title": "Version", "type": "string" } }, "required": [ "skill_id", "type" ], "title": "SkillParams", "type": "object" }, "BetaSpeed": { "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" ] }, "BetaTextEditorCodeExecutionToolResultErrorCode": { "enum": [ "invalid_tool_input", "unavailable", "too_many_requests", "execution_time_exceeded", "file_not_found" ], "title": "TextEditorCodeExecutionToolResultErrorCode", "type": "string" }, "BetaTextEditor_20241022": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "input_examples": { "items": { "additionalProperties": { "$ref": "#/$defs/BetaJsonValue" }, "type": "object" }, "title": "Input Examples", "type": "array" }, "name": { "const": "str_replace_editor", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "text_editor_20241022", "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "TextEditor_20241022", "type": "object" }, "BetaTextEditor_20250124": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "input_examples": { "items": { "additionalProperties": { "$ref": "#/$defs/BetaJsonValue" }, "type": "object" }, "title": "Input Examples", "type": "array" }, "name": { "const": "str_replace_editor", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "text_editor_20250124", "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "TextEditor_20250124", "type": "object" }, "BetaTextEditor_20250429": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "input_examples": { "items": { "additionalProperties": { "$ref": "#/$defs/BetaJsonValue" }, "type": "object" }, "title": "Input Examples", "type": "array" }, "name": { "const": "str_replace_based_edit_tool", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "text_editor_20250429", "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "TextEditor_20250429", "type": "object" }, "BetaTextEditor_20250728": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "input_examples": { "items": { "additionalProperties": { "$ref": "#/$defs/BetaJsonValue" }, "type": "object" }, "title": "Input Examples", "type": "array" }, "max_characters": { "anyOf": [ { "minimum": 1, "type": "integer" }, { "type": "null" } ], "description": "Maximum number of characters to display when viewing a file. If not specified, defaults to displaying the full file.", "title": "Max Characters" }, "name": { "const": "str_replace_based_edit_tool", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "text_editor_20250728", "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "TextEditor_20250728", "type": "object" }, "BetaThinkingConfigAdaptive": { "additionalProperties": false, "properties": { "display": { "anyOf": [ { "$ref": "#/$defs/BetaThinkingDisplayMode" }, { "type": "null" } ], "description": "Controls how thinking content appears in the response. When set to `summarized`, thinking is returned normally. When set to `omitted`, thinking content is redacted but a signature is returned for multi-turn continuity. Defaults to `summarized`." }, "type": { "const": "adaptive", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "ThinkingConfigAdaptive", "type": "object" }, "BetaThinkingConfigDisabled": { "additionalProperties": false, "properties": { "type": { "const": "disabled", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "ThinkingConfigDisabled", "type": "object", "x-stainless-go-constant-constructor": true }, "BetaThinkingConfigEnabled": { "additionalProperties": false, "properties": { "budget_tokens": { "description": "Determines how many tokens Claude can use for its internal reasoning process. Larger budgets can enable more thorough analysis for complex problems, improving response quality.\n\nMust be ≥1024 and less than `max_tokens`.\n\nSee [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) for details.", "minimum": 1024, "title": "Budget Tokens", "type": "integer" }, "display": { "anyOf": [ { "$ref": "#/$defs/BetaThinkingDisplayMode" }, { "type": "null" } ], "description": "Controls how thinking content appears in the response. When set to `summarized`, thinking is returned normally. When set to `omitted`, thinking content is redacted but a signature is returned for multi-turn continuity. Defaults to `summarized`." }, "type": { "const": "enabled", "title": "Type", "type": "string" } }, "required": [ "budget_tokens", "type" ], "title": "ThinkingConfigEnabled", "type": "object" }, "BetaThinkingConfigParam": { "description": "Configuration for enabling Claude's extended thinking.\n\nWhen enabled, responses include `thinking` content blocks showing Claude's thinking process before the final answer. Requires a minimum budget of 1,024 tokens and counts towards your `max_tokens` limit.\n\nSee [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) for details.", "oneOf": [ { "$ref": "#/$defs/BetaThinkingConfigEnabled" }, { "$ref": "#/$defs/BetaThinkingConfigDisabled" }, { "$ref": "#/$defs/BetaThinkingConfigAdaptive" } ], "title": "Thinking" }, "BetaThinkingDisplayMode": { "enum": [ "summarized", "omitted", "updates" ], "title": "ThinkingDisplayMode", "type": "string", "x-anthropic-beta-required-values": { "updates": [ "thinking-display-updates-2026-08-18" ] } }, "BetaThinkingTurns": { "additionalProperties": false, "properties": { "type": { "const": "thinking_turns", "title": "Type", "type": "string" }, "value": { "minimum": 1, "title": "Value", "type": "integer" } }, "required": [ "type", "value" ], "title": "ThinkingTurns", "type": "object" }, "BetaTokenTaskBudget": { "additionalProperties": false, "description": "User-configurable total token budget across contexts.", "properties": { "remaining": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ], "description": "Remaining tokens in the budget. Use this to track usage across contexts when implementing compaction client-side. Defaults to total if not provided.", "minimum": 0, "title": "Remaining" }, "total": { "description": "Total token budget across all contexts in the session.", "minimum": 1024, "title": "Total", "type": "integer" }, "type": { "const": "tokens", "description": "The budget type. Currently only 'tokens' is supported.", "title": "Type", "type": "string" } }, "required": [ "total", "type" ], "title": "TokenTaskBudget", "type": "object" }, "BetaTool": { "additionalProperties": false, "properties": { "type": { "anyOf": [ { "type": "null" }, { "const": "custom", "type": "string" } ], "title": "Type" }, "description": { "description": "Description of what this tool does.\n\nTool descriptions should be as detailed as possible. The more information that the model has about what the tool is and how to use it, the better it will perform. You can use natural language descriptions to reinforce important aspects of the tool input JSON schema.", "title": "Description", "type": "string" }, "name": { "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "maxLength": 128, "minLength": 1, "pattern": "^[a-zA-Z0-9_-]{1,128}$", "title": "Name", "type": "string" }, "input_schema": { "$ref": "#/$defs/BetaInputSchema", "description": "[JSON schema](https://json-schema.org/draft/2020-12) for this tool's input.\n\nThis defines the shape of the `input` that your tool accepts and that the model will produce." }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "eager_input_streaming": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Enable eager input streaming for this tool. When true, tool input parameters will be streamed incrementally as they are generated, and types will be inferred on-the-fly rather than buffering the full JSON output. When false, streaming is disabled for this tool even if the fine-grained-tool-streaming beta is active. When null (default), uses the default behavior based on beta headers.", "title": "Eager Input Streaming" }, "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "input_examples": { "items": { "additionalProperties": { "$ref": "#/$defs/BetaJsonValue" }, "type": "object" }, "title": "Input Examples", "type": "array" } }, "required": [ "name", "input_schema" ], "title": "Tool", "type": "object" }, "BetaToolChangeMCPToolReference": { "additionalProperties": false, "description": "Reference to a single MCP tool by its server and remote name — the\nsame ``server_name``/``name`` pair ``mcp_tool_use`` carries.", "properties": { "name": { "title": "Name", "type": "string" }, "server_name": { "title": "Server Name", "type": "string" }, "type": { "const": "mcp_tool_reference", "title": "Type", "type": "string" } }, "required": [ "name", "server_name", "type" ], "title": "ToolChangeMCPToolReference", "type": "object" }, "BetaToolChangeMCPToolsetReference": { "additionalProperties": false, "description": "Reference to every tool in the named MCP server's toolset.", "properties": { "server_name": { "title": "Server Name", "type": "string" }, "type": { "const": "mcp_toolset_reference", "title": "Type", "type": "string" } }, "required": [ "server_name", "type" ], "title": "ToolChangeMCPToolsetReference", "type": "object" }, "BetaToolChangeToolReference": { "additionalProperties": false, "description": "Reference to a single tool the caller declared directly in\n``tools[]``. Does not accept the composed ``{server}_{name}`` form the\nserver assigns to MCP-resolved tools — use ``mcp_tool_reference`` or\n``mcp_toolset_reference`` for those.", "properties": { "name": { "pattern": "^[a-zA-Z0-9_-]{1,128}$", "title": "Name", "type": "string" }, "type": { "const": "tool_reference", "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "ToolChangeToolReference", "type": "object" }, "BetaToolChoice": { "description": "How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all.", "oneOf": [ { "$ref": "#/$defs/BetaToolChoiceAuto" }, { "$ref": "#/$defs/BetaToolChoiceAny" }, { "$ref": "#/$defs/BetaToolChoiceTool" }, { "$ref": "#/$defs/BetaToolChoiceNone" } ], "title": "Tool Choice" }, "BetaToolChoiceAny": { "additionalProperties": false, "description": "The model will use any available tools.", "properties": { "disable_parallel_tool_use": { "description": "Whether to disable parallel tool use.\n\nDefaults to `false`. If set to `true`, the model will output exactly one tool use.", "title": "Disable Parallel Tool Use", "type": "boolean" }, "type": { "const": "any", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "ToolChoiceAny", "type": "object" }, "BetaToolChoiceAuto": { "additionalProperties": false, "description": "The model will automatically decide whether to use tools.", "properties": { "disable_parallel_tool_use": { "description": "Whether to disable parallel tool use.\n\nDefaults to `false`. If set to `true`, the model will output at most one tool use.", "title": "Disable Parallel Tool Use", "type": "boolean" }, "type": { "const": "auto", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "ToolChoiceAuto", "type": "object" }, "BetaToolChoiceNone": { "additionalProperties": false, "description": "The model will not be allowed to use tools.", "properties": { "type": { "const": "none", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "ToolChoiceNone", "type": "object", "x-stainless-go-constant-constructor": true }, "BetaToolChoiceTool": { "additionalProperties": false, "description": "The model will use the specified tool with `tool_choice.name`.", "properties": { "disable_parallel_tool_use": { "description": "Whether to disable parallel tool use.\n\nDefaults to `false`. If set to `true`, the model will output exactly one tool use.", "title": "Disable Parallel Tool Use", "type": "boolean" }, "name": { "description": "The name of the tool to use.", "title": "Name", "type": "string" }, "type": { "const": "tool", "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "ToolChoiceTool", "type": "object" }, "BetaToolSearchToolBM25_20251119": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "name": { "const": "tool_search_tool_bm25", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "enum": [ "tool_search_tool_bm25_20251119", "tool_search_tool_bm25" ], "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "ToolSearchToolBM25_20251119", "type": "object" }, "BetaToolSearchToolRegex_20251119": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "name": { "const": "tool_search_tool_regex", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "enum": [ "tool_search_tool_regex_20251119", "tool_search_tool_regex" ], "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "ToolSearchToolRegex_20251119", "type": "object" }, "BetaToolSearchToolResultErrorCode": { "enum": [ "invalid_tool_input", "unavailable", "too_many_requests", "execution_time_exceeded" ], "title": "ToolSearchToolResultErrorCode", "type": "string" }, "BetaToolUsesKeep": { "additionalProperties": false, "properties": { "type": { "const": "tool_uses", "title": "Type", "type": "string" }, "value": { "minimum": 0, "title": "Value", "type": "integer" } }, "required": [ "type", "value" ], "title": "ToolUsesKeep", "type": "object" }, "BetaToolUsesTrigger": { "additionalProperties": false, "properties": { "type": { "const": "tool_uses", "title": "Type", "type": "string" }, "value": { "minimum": 1, "title": "Value", "type": "integer" } }, "required": [ "type", "value" ], "title": "ToolUsesTrigger", "type": "object" }, "BetaURLImageSource": { "additionalProperties": false, "properties": { "type": { "const": "url", "title": "Type", "type": "string" }, "url": { "title": "Url", "type": "string" } }, "required": [ "type", "url" ], "title": "URLImageSource", "type": "object" }, "BetaURLPDFSource": { "additionalProperties": false, "properties": { "type": { "const": "url", "title": "Type", "type": "string" }, "url": { "title": "Url", "type": "string" } }, "required": [ "type", "url" ], "title": "URLPDFSource", "type": "object" }, "BetaUserLocation": { "additionalProperties": false, "properties": { "city": { "anyOf": [ { "maxLength": 255, "minLength": 1, "type": "string" }, { "type": "null" } ], "description": "The city of the user.", "title": "City" }, "country": { "anyOf": [ { "maxLength": 2, "minLength": 2, "type": "string" }, { "type": "null" } ], "description": "The two letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the user.", "title": "Country" }, "region": { "anyOf": [ { "maxLength": 255, "minLength": 1, "type": "string" }, { "type": "null" } ], "description": "The region of the user.", "title": "Region" }, "timezone": { "anyOf": [ { "maxLength": 255, "minLength": 1, "type": "string" }, { "type": "null" } ], "description": "The [IANA timezone](https://nodatime.org/TimeZones) of the user.", "title": "Timezone" }, "type": { "const": "approximate", "title": "Type", "type": "string" } }, "required": [ "type" ], "title": "UserLocation", "type": "object" }, "BetaWebFetchToolResultErrorCode": { "enum": [ "invalid_tool_input", "url_too_long", "url_not_allowed", "url_not_in_prior_context", "url_not_accessible", "unsupported_content_type", "too_many_requests", "max_uses_exceeded", "unavailable" ], "title": "WebFetchToolResultErrorCode", "type": "string" }, "BetaWebFetchTool_20250910": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "allowed_domains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "List of domains to allow fetching from", "title": "Allowed Domains" }, "blocked_domains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "List of domains to block fetching from", "title": "Blocked Domains" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "citations": { "anyOf": [ { "$ref": "#/$defs/BetaRequestCitationsConfig" }, { "type": "null" } ], "description": "Citations configuration for fetched documents. Citations are disabled by default." }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "max_content_tokens": { "anyOf": [ { "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" } ], "description": "Maximum number of tokens used by including web page text content in the context. The limit is approximate and does not apply to binary content such as PDFs.", "title": "Max Content Tokens" }, "max_uses": { "anyOf": [ { "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" } ], "description": "Maximum number of times the tool can be used in the API request.", "title": "Max Uses" }, "name": { "const": "web_fetch", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "web_fetch_20250910", "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "WebFetchTool_20250910", "type": "object" }, "BetaWebFetchTool_20260209": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "allowed_domains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "List of domains to allow fetching from", "title": "Allowed Domains" }, "blocked_domains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "List of domains to block fetching from", "title": "Blocked Domains" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "citations": { "anyOf": [ { "$ref": "#/$defs/BetaRequestCitationsConfig" }, { "type": "null" } ], "description": "Citations configuration for fetched documents. Citations are disabled by default." }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "max_content_tokens": { "anyOf": [ { "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" } ], "description": "Maximum number of tokens used by including web page text content in the context. The limit is approximate and does not apply to binary content such as PDFs.", "title": "Max Content Tokens" }, "max_uses": { "anyOf": [ { "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" } ], "description": "Maximum number of times the tool can be used in the API request.", "title": "Max Uses" }, "name": { "const": "web_fetch", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "web_fetch_20260209", "title": "Type", "type": "string" } }, "required": [ "name", "type" ], "title": "WebFetchTool_20260209", "type": "object" }, "BetaWebFetchTool_20260309": { "additionalProperties": false, "description": "Web fetch tool with use_cache parameter for bypassing cached content.", "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "allowed_domains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "List of domains to allow fetching from", "title": "Allowed Domains" }, "blocked_domains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "List of domains to block fetching from", "title": "Blocked Domains" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "citations": { "anyOf": [ { "$ref": "#/$defs/BetaRequestCitationsConfig" }, { "type": "null" } ], "description": "Citations configuration for fetched documents. Citations are disabled by default." }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "max_content_tokens": { "anyOf": [ { "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" } ], "description": "Maximum number of tokens used by including web page text content in the context. The limit is approximate and does not apply to binary content such as PDFs.", "title": "Max Content Tokens" }, "max_uses": { "anyOf": [ { "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" } ], "description": "Maximum number of times the tool can be used in the API request.", "title": "Max Uses" }, "name": { "const": "web_fetch", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "web_fetch_20260309", "title": "Type", "type": "string" }, "use_cache": { "description": "Whether to use cached content. Set to false to bypass the cache and fetch fresh content. Only set to false when the user explicitly requests fresh content or when fetching rapidly-changing sources.", "title": "Use Cache", "type": "boolean" } }, "required": [ "name", "type" ], "title": "WebFetchTool_20260309", "type": "object" }, "BetaWebFetchTool_20260318": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "allowed_domains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "List of domains to allow fetching from", "title": "Allowed Domains" }, "blocked_domains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "List of domains to block fetching from", "title": "Blocked Domains" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "citations": { "anyOf": [ { "$ref": "#/$defs/BetaRequestCitationsConfig" }, { "type": "null" } ], "description": "Citations configuration for fetched documents. Citations are disabled by default." }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "max_content_tokens": { "anyOf": [ { "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" } ], "description": "Maximum number of tokens used by including web page text content in the context. The limit is approximate and does not apply to binary content such as PDFs.", "title": "Max Content Tokens" }, "max_uses": { "anyOf": [ { "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" } ], "description": "Maximum number of times the tool can be used in the API request.", "title": "Max Uses" }, "name": { "const": "web_fetch", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "response_inclusion": { "description": "How this tool's result blocks appear in the API response when the result was consumed by a completed code_execution call in the same turn. 'full' returns the complete content (default). 'excluded' drops the nested server_tool_use and result block pair entirely. Results from direct calls, or from code_execution calls that paused before completing, are always returned in full so they can be sent back on the next turn.", "enum": [ "full", "excluded" ], "title": "Response Inclusion", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "web_fetch_20260318", "title": "Type", "type": "string" }, "use_cache": { "description": "Whether to use cached content. Set to false to bypass the cache and fetch fresh content. Only set to false when the user explicitly requests fresh content or when fetching rapidly-changing sources.", "title": "Use Cache", "type": "boolean" } }, "required": [ "name", "type" ], "title": "WebFetchTool_20260318", "type": "object" }, "BetaWebSearchToolResultErrorCode": { "enum": [ "invalid_tool_input", "unavailable", "max_uses_exceeded", "too_many_requests", "query_too_long", "request_too_large" ], "title": "WebSearchToolResultErrorCode", "type": "string" }, "BetaWebSearchTool_20250305": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "allowed_domains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "If provided, only these domains will be included in results. Cannot be used alongside `blocked_domains`.", "title": "Allowed Domains" }, "blocked_domains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "If provided, these domains will never appear in results. Cannot be used alongside `allowed_domains`.", "title": "Blocked Domains" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "max_uses": { "anyOf": [ { "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" } ], "description": "Maximum number of times the tool can be used in the API request.", "title": "Max Uses" }, "name": { "const": "web_search", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "web_search_20250305", "title": "Type", "type": "string" }, "user_location": { "anyOf": [ { "$ref": "#/$defs/BetaUserLocation" }, { "type": "null" } ], "description": "Parameters for the user's location. Used to provide more relevant search results." } }, "required": [ "name", "type" ], "title": "WebSearchTool_20250305", "type": "object" }, "BetaWebSearchTool_20260209": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "allowed_domains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "If provided, only these domains will be included in results. Cannot be used alongside `blocked_domains`.", "title": "Allowed Domains" }, "blocked_domains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "If provided, these domains will never appear in results. Cannot be used alongside `allowed_domains`.", "title": "Blocked Domains" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "max_uses": { "anyOf": [ { "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" } ], "description": "Maximum number of times the tool can be used in the API request.", "title": "Max Uses" }, "name": { "const": "web_search", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "web_search_20260209", "title": "Type", "type": "string" }, "user_location": { "anyOf": [ { "$ref": "#/$defs/BetaUserLocation" }, { "type": "null" } ], "description": "Parameters for the user's location. Used to provide more relevant search results." } }, "required": [ "name", "type" ], "title": "WebSearchTool_20260209", "type": "object" }, "BetaWebSearchTool_20260318": { "additionalProperties": false, "properties": { "allowed_callers": { "items": { "$ref": "#/$defs/BetaAllowedCaller" }, "title": "Allowed Callers", "type": "array" }, "allowed_domains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "If provided, only these domains will be included in results. Cannot be used alongside `blocked_domains`.", "title": "Allowed Domains" }, "blocked_domains": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "If provided, these domains will never appear in results. Cannot be used alongside `allowed_domains`.", "title": "Blocked Domains" }, "cache_control": { "anyOf": [ { "oneOf": [ { "$ref": "#/$defs/BetaCacheControlEphemeral" } ] }, { "type": "null" } ], "description": "Create a cache control breakpoint at this content block.", "title": "Cache Control" }, "defer_loading": { "description": "If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.", "title": "Defer Loading", "type": "boolean" }, "max_uses": { "anyOf": [ { "exclusiveMinimum": 0, "type": "integer" }, { "type": "null" } ], "description": "Maximum number of times the tool can be used in the API request.", "title": "Max Uses" }, "name": { "const": "web_search", "description": "Name of the tool.\n\nThis is how the tool will be called by the model and in `tool_use` blocks.", "title": "Name", "type": "string" }, "response_inclusion": { "description": "How this tool's result blocks appear in the API response when the result was consumed by a completed code_execution call in the same turn. 'full' returns the complete content (default). 'excluded' drops the nested server_tool_use and result block pair entirely. Results from direct calls, or from code_execution calls that paused before completing, are always returned in full so they can be sent back on the next turn.", "enum": [ "full", "excluded" ], "title": "Response Inclusion", "type": "string" }, "strict": { "description": "When true, guarantees schema validation on tool names and inputs", "title": "Strict", "type": "boolean" }, "type": { "const": "web_search_20260318", "title": "Type", "type": "string" }, "user_location": { "anyOf": [ { "$ref": "#/$defs/BetaUserLocation" }, { "type": "null" } ], "description": "Parameters for the user's location. Used to provide more relevant search results." } }, "required": [ "name", "type" ], "title": "WebSearchTool_20260318", "type": "object" }, "Model": { "title": "Model", "description": "The model that will complete your prompt.\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-mythos-5", "description": "Most capable model for cybersecurity and biology research", "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-mythos-preview", "description": "New class of intelligence, strongest in coding and cybersecurity", "x-stainless-nominal": false, "deprecated": true, "x-stainless-deprecation-message": "Will reach end-of-life on June 30, 2026. Please migrate to claude-mythos-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information." }, { "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 } ] } } }