メッセージ
メッセージを作成
メッセージ内のトークンをカウント
Models
Base64ImageSource object{ data, media_type, type }
data: string
media_type: "image/jpeg" or "image/png" or "image/gif" or "image/webp"
Base64PDFSource object{ data, media_type, type }
data: string
BashCodeExecutionOutputBlock object{ file_id, type }
type: "bash_code_execution_output"
BashCodeExecutionOutputBlockParam object{ file_id, type }
BashCodeExecutionResultBlock object{ content, return_code, stderr, 2 more }
content: array of BashCodeExecutionOutputBlock { file_id, type }
type: "bash_code_execution_output"
type: "bash_code_execution_result"
BashCodeExecutionResultBlockParam object{ content, return_code, stderr, 2 more }
content: array of BashCodeExecutionOutputBlockParam { file_id, type }
BashCodeExecutionToolResultBlock object{ content, tool_use_id, type }
BashCodeExecutionToolResultBlockParam object{ content, tool_use_id, type, cache_control }
BashCodeExecutionToolResultError object{ error_code, type }
error_code: BashCodeExecutionToolResultErrorCode
type: "bash_code_execution_tool_result_error"
BashCodeExecutionToolResultErrorCode = "invalid_tool_input" or "unavailable" or "too_many_requests" or 2 more
BashCodeExecutionToolResultErrorParam object{ error_code, type }
error_code: BashCodeExecutionToolResultErrorCode
BrowserCloseTabConfig object{ defer_loading, enabled }close_tab's config overrides.
close_tab's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserDoubleClickConfig object{ defer_loading, enabled }double_click's config overrides.
double_click's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserFileUploadConfig object{ defer_loading, enabled }file_upload's config overrides.
file_upload's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserFindConfig object{ defer_loading, enabled }find's config overrides.
find's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserFormInputConfig object{ defer_loading, enabled }form_input's config overrides.
form_input's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserGetPageTextConfig object{ defer_loading, enabled }get_page_text's config overrides.
get_page_text's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserHoldKeyConfig object{ defer_loading, enabled }hold_key's config overrides.
hold_key's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserHoverConfig object{ defer_loading, enabled }hover's config overrides.
hover's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserJavascriptExecConfig object{ defer_loading, enabled }javascript_exec's config overrides.
javascript_exec's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserKeyConfig object{ defer_loading, enabled }key's config overrides.
key's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserLeftClickConfig object{ defer_loading, enabled }left_click's config overrides.
left_click's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserLeftClickDragConfig object{ defer_loading, enabled }left_click_drag's config overrides.
left_click_drag's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserLeftMouseDownConfig object{ defer_loading, enabled }left_mouse_down's config overrides.
left_mouse_down's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserLeftMouseUpConfig object{ defer_loading, enabled }left_mouse_up's config overrides.
left_mouse_up's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserListTabsConfig object{ defer_loading, enabled }list_tabs's config overrides.
list_tabs's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserMiddleClickConfig object{ defer_loading, enabled }middle_click's config overrides.
middle_click's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserMouseMoveConfig object{ defer_loading, enabled }mouse_move's config overrides.
mouse_move's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserNavigateConfig object{ defer_loading, enabled }navigate's config overrides.
navigate's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserNewTabConfig object{ defer_loading, enabled }new_tab's config overrides.
new_tab's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserReadConsoleConfig object{ defer_loading, enabled }read_console's config overrides.
read_console's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserReadNetworkConfig object{ defer_loading, enabled }read_network's config overrides.
read_network's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserReadPageConfig object{ defer_loading, enabled }read_page's config overrides.
read_page's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserRightClickConfig object{ defer_loading, enabled }right_click's config overrides.
right_click's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserScreenshotConfig object{ defer_loading, enabled }screenshot's config overrides.
screenshot's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserScrollConfig object{ defer_loading, enabled }scroll's config overrides.
scroll's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserScrollToConfig object{ defer_loading, enabled }scroll_to's config overrides.
scroll_to's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserStateBlockParam object{ tabs, type, cache_control, state_changes }The caller's browser state after a browser toolset member call —
the full inventory of open tabs, which tab is active, and any side
effects (tabs opened, download state changes) the call produced.
The caller's browser state after a browser toolset member call — the full inventory of open tabs, which tab is active, and any side effects (tabs opened, download state changes) the call produced.
At most one per tool_result, only on a non-error result answering a
browser toolset member tool_use. The server renders the
model-visible text from it; the model never sees the raw fields.
BrowserStateChange = BrowserStateChangeTabOpened { tab_id, type } or BrowserStateChangeDownloadStarted { download_id, type, url } or BrowserStateChangeDownloadCompleted { download_id, type, url, 2 more } or BrowserStateChangeDownloadFailed { download_id, type, url, error }A tab this call's execution opened that remains open at its end —
the creation delta of the tabs inventory, not an event log.
A tab this call's execution opened that remains open at its end —
the creation delta of the tabs inventory, not an event log.
Carries only the tab_id; the tab's title and url live on its
tabs entry, which must include the same tab_id. A tab opened
during a failed call gets no deferred tab_opened; it simply appears
in the next result's tabs inventory.
BrowserStateChangeDownloadCompleted object{ download_id, type, url, 2 more }A file download that finished during this call, reported with the
same download_id as its download_started — or without a prior
download_started, when the download finished during the call that
started it (at most one state change per download_id per result).
A file download that finished during this call, reported with the
same download_id as its download_started — or without a prior
download_started, when the download finished during the call that
started it (at most one state change per download_id per result).
download_id: stringThe caller-assigned identifier for this download, stable across the state changes reporting it.
The caller-assigned identifier for this download, stable across the state changes reporting it.
url: stringThe final post-redirect URL the download was served from.
The final post-redirect URL the download was served from.
path: optional string or nullWhere 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.
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.
size_bytes: optional number or nullThe completed download's size.
The completed download's size.
BrowserStateChangeDownloadFailed object{ download_id, type, url, error }A file download that failed — or was cancelled — during this call.
A file download that failed — or was cancelled — during this call.
download_id: stringThe caller-assigned identifier for this download, stable across the state changes reporting it.
The caller-assigned identifier for this download, stable across the state changes reporting it.
url: stringThe final post-redirect URL the download was served from.
The final post-redirect URL the download was served from.
error: optional string or nullThe failure or cancellation detail, when known.
The failure or cancellation detail, when known.
BrowserStateChangeDownloadStarted object{ download_id, type, url }A file download that started during this call.
A file download that started during this call.
download_id: stringThe caller-assigned identifier for this download, stable across the state changes reporting it.
The caller-assigned identifier for this download, stable across the state changes reporting it.
url: stringThe final post-redirect URL the download was served from.
The final post-redirect URL the download was served from.
BrowserStateChangeTabOpened object{ tab_id, type }A tab this call's execution opened that remains open at its end —
the creation delta of the tabs inventory, not an event log.
A tab this call's execution opened that remains open at its end —
the creation delta of the tabs inventory, not an event log.
Carries only the tab_id; the tab's title and url live on its
tabs entry, which must include the same tab_id. A tab opened
during a failed call gets no deferred tab_opened; it simply appears
in the next result's tabs inventory.
tab_id: stringThe tab_id of the opened tab, present in tabs.
The tab_id of the opened tab, present in tabs.
BrowserStateTabEntry object{ tab_id, title, url, active }One open browser tab reported in a browser_state block's tabs
inventory.
One open browser tab reported in a browser_state block's tabs
inventory.
tab_id is the caller-assigned identifier for the tab; title and
url describe the page the tab is currently showing and may be empty
strings (a blank tab legitimately has both empty). active marks the
tab that is active after this call; whenever tabs is non-empty,
exactly one entry is marked.
tab_id: stringThe caller-assigned identifier for this tab, unique within the inventory.
The caller-assigned identifier for this tab, unique within the inventory.
title: stringThe title of the page the tab is showing. May be empty.
The title of the page the tab is showing. May be empty.
url: stringThe URL of the page the tab is showing. May be empty.
The URL of the page the tab is showing. May be empty.
Whether this tab is the active tab after this call. Whenever tabs is non-empty, exactly one entry is marked active: true.
BrowserSwitchTabConfig object{ defer_loading, enabled }switch_tab's config overrides.
switch_tab's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserToolset20260801 object{ type, cache_control, configs }The browser toolset: a single tools[] entry (carrying no
name) that declares the browser tool family. The model is served
the family's tool with any members disabled via configs removed
from its schema.
The browser toolset: a single tools[] entry (carrying no
name) that declares the browser tool family. The model is served
the family's tool with any members disabled via configs removed
from its schema.
BrowserToolsetConfigs object{ close_tab, double_click, file_upload, 28 more }Per-member configuration for browser_toolset_20260801: one
optional field per member tool, keyed by the member name — the same
name the member's tool_use blocks carry. Every member is an
accepted key, and a member's defaults apply wherever its key is
absent. Unknown keys are rejected: the field set is this toolset
version's complete member set.
Per-member configuration for browser_toolset_20260801: one
optional field per member tool, keyed by the member name — the same
name the member's tool_use blocks carry. Every member is an
accepted key, and a member's defaults apply wherever its key is
absent. Unknown keys are rejected: the field set is this toolset
version's complete member set.
BrowserTripleClickConfig object{ defer_loading, enabled }triple_click's config overrides.
triple_click's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserTypeConfig object{ defer_loading, enabled }type's config overrides.
type's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserWaitConfig object{ defer_loading, enabled }wait's config overrides.
wait's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
BrowserZoomConfig object{ defer_loading, enabled }zoom's config overrides.
zoom's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
CacheControlEphemeral object{ type, ttl }
ttl: optional "5m" or "1h"The time-to-live for the cache control breakpoint.
The time-to-live for the cache control breakpoint.
This may be one the following values:
5m: 5 minutes1h: 1 hour
Defaults to 5m. See prompt caching pricing for details.
CacheCreation object{ ephemeral_1h_input_tokens, ephemeral_5m_input_tokens }
ephemeral_1h_input_tokens: numberThe number of input tokens used to create the 1 hour cache entry.
The number of input tokens used to create the 1 hour cache entry.
ephemeral_5m_input_tokens: numberThe number of input tokens used to create the 5 minute cache entry.
The number of input tokens used to create the 5 minute cache entry.
CitationCharLocation object{ cited_text, document_index, document_title, 4 more }
document_index: number
start_char_index: number
type: "char_location"
CitationCharLocationParam object{ cited_text, document_index, document_title, 3 more }
document_index: number
document_title: string or null
start_char_index: number
CitationContentBlockLocation object{ cited_text, document_index, document_title, 4 more }
cited_text: stringThe full text of the cited block range, concatenated.
The full text of the cited block range, concatenated.
Always 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.
document_index: number
end_block_index: numberExclusive 0-based end index of the cited block range in the source's content array.
Exclusive 0-based end index of the cited block range in the source's content array.
Always greater than start_block_index; a single-block citation has end_block_index = start_block_index + 1.
start_block_index: number0-based index of the first cited block in the source's content array.
0-based index of the first cited block in the source's content array.
type: "content_block_location"
CitationContentBlockLocationParam object{ cited_text, document_index, document_title, 3 more }
cited_text: stringThe full text of the cited block range, concatenated.
The full text of the cited block range, concatenated.
Always 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.
document_index: number
document_title: string or null
end_block_index: numberExclusive 0-based end index of the cited block range in the source's content array.
Exclusive 0-based end index of the cited block range in the source's content array.
Always greater than start_block_index; a single-block citation has end_block_index = start_block_index + 1.
start_block_index: number0-based index of the first cited block in the source's content array.
0-based index of the first cited block in the source's content array.
CitationPageLocation object{ cited_text, document_index, document_title, 4 more }
document_index: number
start_page_number: number
type: "page_location"
CitationPageLocationParam object{ cited_text, document_index, document_title, 3 more }
document_index: number
document_title: string or null
start_page_number: number
CitationSearchResultLocationParam object{ cited_text, end_block_index, search_result_index, 4 more }
cited_text: stringThe full text of the cited block range, concatenated.
The full text of the cited block range, concatenated.
Always 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.
end_block_index: numberExclusive 0-based end index of the cited block range in the source's content array.
Exclusive 0-based end index of the cited block range in the source's content array.
Always greater than start_block_index; a single-block citation has end_block_index = start_block_index + 1.
search_result_index: number0-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.
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.
Counted separately from document_index; server-side web search results are not included in this count.
start_block_index: number0-based index of the first cited block in the source's content array.
0-based index of the first cited block in the source's content array.
CitationWebSearchResultLocationParam object{ cited_text, encrypted_index, title, 2 more }
title: string or null
url: string
CitationsConfig object{ enabled }
enabled: boolean
CitationsConfigParam object{ enabled }
CitationsDelta object{ citation, type }
CitationsSearchResultLocation object{ cited_text, end_block_index, search_result_index, 4 more }
cited_text: stringThe full text of the cited block range, concatenated.
The full text of the cited block range, concatenated.
Always 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.
end_block_index: numberExclusive 0-based end index of the cited block range in the source's content array.
Exclusive 0-based end index of the cited block range in the source's content array.
Always greater than start_block_index; a single-block citation has end_block_index = start_block_index + 1.
search_result_index: number0-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.
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.
Counted separately from document_index; server-side web search results are not included in this count.
start_block_index: number0-based index of the first cited block in the source's content array.
0-based index of the first cited block in the source's content array.
type: "search_result_location"
CitationsWebSearchResultLocation object{ cited_text, encrypted_index, title, 2 more }
title: string or null
type: "web_search_result_location"
CodeExecutionOutputBlock object{ file_id, type }
type: "code_execution_output"
CodeExecutionOutputBlockParam object{ file_id, type }
CodeExecutionResultBlock object{ content, return_code, stderr, 2 more }
content: array of CodeExecutionOutputBlock { file_id, type }
type: "code_execution_output"
type: "code_execution_result"
CodeExecutionResultBlockParam object{ content, return_code, stderr, 2 more }
content: array of CodeExecutionOutputBlockParam { file_id, type }
CodeExecutionTool20250522 object{ name, type, allowed_callers, 3 more }
CodeExecutionTool20250825 object{ name, type, allowed_callers, 3 more }
CodeExecutionTool20260120 object{ name, type, allowed_callers, 3 more }Code execution tool with REPL state persistence (daemon mode + gVisor checkpoint).
Code execution tool with REPL state persistence (daemon mode + gVisor checkpoint).
CodeExecutionTool20260521 object{ name, type, allowed_callers, 3 more }Code execution tool with REPL state persistence.
Code execution tool with REPL state persistence.
CodeExecutionToolResultBlock object{ content, tool_use_id, type }
content: CodeExecutionToolResultBlockContentCode execution result with encrypted stdout for PFC + web_search results.
Code execution result with encrypted stdout for PFC + web_search results.
tool_use_id: string
type: "code_execution_tool_result"
CodeExecutionToolResultBlockContent = CodeExecutionToolResultError { error_code, type } or CodeExecutionResultBlock { content, return_code, stderr, 2 more } or EncryptedCodeExecutionResultBlock { content, encrypted_stdout, return_code, 2 more }Code execution result with encrypted stdout for PFC + web_search results.
Code execution result with encrypted stdout for PFC + web_search results.
CodeExecutionToolResultBlockParam object{ content, tool_use_id, type, cache_control }
Code execution result with encrypted stdout for PFC + web_search results.
Code execution result with encrypted stdout for PFC + web_search results.
tool_use_id: string
cache_control: optional CacheControlEphemeral { type, ttl } or nullCreate a cache control breakpoint at this content block.
Create a cache control breakpoint at this content block.
ttl: optional "5m" or "1h"The time-to-live for the cache control breakpoint.
The time-to-live for the cache control breakpoint.
This may be one the following values:
5m: 5 minutes1h: 1 hour
Defaults to 5m. See prompt caching pricing for details.
CodeExecutionToolResultBlockParamContent = CodeExecutionToolResultErrorParam { error_code, type } or CodeExecutionResultBlockParam { content, return_code, stderr, 2 more } or EncryptedCodeExecutionResultBlockParam { content, encrypted_stdout, return_code, 2 more }Code execution result with encrypted stdout for PFC + web_search results.
Code execution result with encrypted stdout for PFC + web_search results.
CodeExecutionToolResultError object{ error_code, type }
error_code: CodeExecutionToolResultErrorCode
type: "code_execution_tool_result_error"
CodeExecutionToolResultErrorCode = "invalid_tool_input" or "unavailable" or "too_many_requests" or "execution_time_exceeded"
CodeExecutionToolResultErrorParam object{ error_code, type }
error_code: CodeExecutionToolResultErrorCode
ComputerCursorPositionConfig object{ defer_loading, enabled }cursor_position's config overrides.
cursor_position's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerDoubleClickConfig object{ defer_loading, enabled }double_click's config overrides.
double_click's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerHoldKeyConfig object{ defer_loading, enabled }hold_key's config overrides.
hold_key's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerKeyConfig object{ defer_loading, enabled }key's config overrides.
key's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerLeftClickConfig object{ defer_loading, enabled }left_click's config overrides.
left_click's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerLeftClickDragConfig object{ defer_loading, enabled }left_click_drag's config overrides.
left_click_drag's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerLeftMouseDownConfig object{ defer_loading, enabled }left_mouse_down's config overrides.
left_mouse_down's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerLeftMouseUpConfig object{ defer_loading, enabled }left_mouse_up's config overrides.
left_mouse_up's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerMiddleClickConfig object{ defer_loading, enabled }middle_click's config overrides.
middle_click's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerMouseMoveConfig object{ defer_loading, enabled }mouse_move's config overrides.
mouse_move's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerRightClickConfig object{ defer_loading, enabled }right_click's config overrides.
right_click's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerScreenshotConfig object{ defer_loading, enabled }screenshot's config overrides.
screenshot's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerScrollConfig object{ defer_loading, enabled }scroll's config overrides.
scroll's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerToolset20260801 object{ type, cache_control, configs }The computer toolset: a single tools[] entry (carrying no
name) that declares the computer tool family. The model is
served the family's tool with any members disabled via configs
removed from its schema. Every member is enabled by default, zoom
included. The single-tool options display_number and
enable_zoom are not fields of a toolset entry — it carries only
type, configs, and cache_control; zoom is controlled
via configs.zoom.enabled.
The computer toolset: a single tools[] entry (carrying no
name) that declares the computer tool family. The model is
served the family's tool with any members disabled via configs
removed from its schema. Every member is enabled by default, zoom
included. The single-tool options display_number and
enable_zoom are not fields of a toolset entry — it carries only
type, configs, and cache_control; zoom is controlled
via configs.zoom.enabled.
ComputerToolsetConfigs object{ cursor_position, double_click, hold_key, 14 more }Per-member configuration for computer_toolset_20260801: one
optional field per member tool, keyed by the member name — the same
name the member's tool_use blocks carry. Every member is an
accepted key, and a member's defaults apply wherever its key is
absent. Unknown keys are rejected: the field set is this toolset
version's complete member set.
Per-member configuration for computer_toolset_20260801: one
optional field per member tool, keyed by the member name — the same
name the member's tool_use blocks carry. Every member is an
accepted key, and a member's defaults apply wherever its key is
absent. Unknown keys are rejected: the field set is this toolset
version's complete member set.
ComputerTripleClickConfig object{ defer_loading, enabled }triple_click's config overrides.
triple_click's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerTypeConfig object{ defer_loading, enabled }type's config overrides.
type's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerWaitConfig object{ defer_loading, enabled }wait's config overrides.
wait's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
ComputerZoomConfig object{ defer_loading, enabled }zoom's config overrides.
zoom's config overrides.
Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
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.
Container object{ id, expires_at, skills }Information about the container used in the request (for the code execution tool)
Information about the container used in the request (for the code execution tool)
Identifier for the container used in this request
expires_at: stringThe time at which the container will expire.
The time at which the container will expire.
skills: array of ContainerSkill { skill_id, type, version } or nullSkills loaded in the container
Skills loaded in the container
skill_id: stringSkill ID
Skill ID
type: "anthropic" or "custom"Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)
Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)
version: stringThe resolved version: a skill version ID for custom skills.
The resolved version: a skill version ID for custom skills.
ContainerParams object{ id, skills }Container parameters with skills to be loaded.
Container parameters with skills to be loaded.
Container id
skills: optional array of SkillParams { skill_id, type, version } or nullList of skills to load in the container
List of skills to load in the container
skill_id: stringSkill ID
Skill ID
type: "anthropic" or "custom"Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)
Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)
version: optional stringSkill version or 'latest' for most recent version
Skill version or 'latest' for most recent version
ContainerSkill object{ skill_id, type, version }A skill that was loaded in a container (response model).
A skill that was loaded in a container (response model).
skill_id: stringSkill ID
Skill ID
type: "anthropic" or "custom"Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)
Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)
version: stringThe resolved version: a skill version ID for custom skills.
The resolved version: a skill version ID for custom skills.
ContainerUploadBlock object{ file_id, type }Response model for a file uploaded to the container.
Response model for a file uploaded to the container.
type: "container_upload"
ContainerUploadBlockParam object{ file_id, type, cache_control }A content block that represents a file to be uploaded to the container
Files uploaded via this block will be available in the container's input directory.
A content block that represents a file to be uploaded to the container Files uploaded via this block will be available in the container's input directory.
cache_control: optional CacheControlEphemeral { type, ttl } or nullCreate a cache control breakpoint at this content block.
Create a cache control breakpoint at this content block.
ttl: optional "5m" or "1h"The time-to-live for the cache control breakpoint.
The time-to-live for the cache control breakpoint.
This may be one the following values:
5m: 5 minutes1h: 1 hour
Defaults to 5m. See prompt caching pricing for details.
ContentBlock = TextBlock { citations, text, type } or ThinkingBlock { signature, thinking, type } or RedactedThinkingBlock { data, type } or 9 moreResponse model for a file uploaded to the container.
Response model for a file uploaded to the container.
ContentBlockParam = TextBlockParam { text, type, cache_control, citations } or ImageBlockParam { source, type, cache_control, transformations } or DocumentBlockParam { source, type, cache_control, 3 more } or 13 moreRegular text content.
Regular text content.
ContentBlockSource object{ content, type }
content: string or array of ContentBlockSourceContent
ContentBlockSourceContent = array of ContentBlockSourceContent
TextBlockParam object{ text, type, cache_control, citations }
ImageBlockParam object{ source, type, cache_control, transformations }
ContentBlockSourceContent = TextBlockParam { text, type, cache_control, citations } or ImageBlockParam { source, type, cache_control, transformations }
TextBlockParam object{ text, type, cache_control, citations }
ImageBlockParam object{ source, type, cache_control, transformations }
DirectCaller object{ type }Tool invocation directly from the model.
Tool invocation directly from the model.
DocumentBlock object{ citations, source, title, type }
DocumentBlockParam object{ source, type, cache_control, 3 more }
EncryptedCodeExecutionResultBlock object{ content, encrypted_stdout, return_code, 2 more }Code execution result with encrypted stdout for PFC + web_search results.
Code execution result with encrypted stdout for PFC + web_search results.
content: array of CodeExecutionOutputBlock { file_id, type }
type: "code_execution_output"
type: "encrypted_code_execution_result"
EncryptedCodeExecutionResultBlockParam object{ content, encrypted_stdout, return_code, 2 more }Code execution result with encrypted stdout for PFC + web_search results.
Code execution result with encrypted stdout for PFC + web_search results.
content: array of CodeExecutionOutputBlockParam { file_id, type }
FileDocumentSource object{ file_id, type }
FileImageSource object{ file_id, type }
ImageBlockParam object{ source, type, cache_control, transformations }
ImageTransformationsParam object{ oversized_image }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.
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.
oversized_image: optional "downsize" or "error"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.
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.
InputJSONDelta object{ partial_json, type }
type: "input_json_delta"
JSONOutputFormat object{ schema, type }
The JSON schema of the format
MemoryTool20250818 object{ name, type, allowed_callers, 4 more }
Message object{ id, container, content, 7 more }
MessageCountTokensTool = Tool { input_schema, name, allowed_callers, 7 more } or ToolBash20250124 { name, type, allowed_callers, 4 more } or CodeExecutionTool20250522 { name, type, allowed_callers, 3 more } or 18 moreCode execution tool with REPL state persistence (daemon mode + gVisor checkpoint).
Code execution tool with REPL state persistence (daemon mode + gVisor checkpoint).
MessageCreateParamsContainer = ContainerParams { id, skills } or stringContainer identifier for reuse across requests.
Container identifier for reuse across requests.
ContainerParams object{ id, skills }Container parameters with skills to be loaded.
Container parameters with skills to be loaded.
Container id
skills: optional array of SkillParams { skill_id, type, version } or nullList of skills to load in the container
List of skills to load in the container
skill_id: stringSkill ID
Skill ID
type: "anthropic" or "custom"Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)
Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)
version: optional stringSkill version or 'latest' for most recent version
Skill version or 'latest' for most recent version
MessageDeltaUsage object{ cache_creation_input_tokens, cache_read_input_tokens, input_tokens, 3 more }
MessageParam object{ content, role }
MessageTokensCount object{ input_tokens }
The total number of tokens across the provided list of messages, system prompt, and tools.
Metadata object{ user_id }
user_id: optional string or nullAn external identifier for the user who is associated with the request.
An external identifier for the user who is associated with the request.
This 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.
Model = "claude-fable-5-1" or "claude-mythos-5-1" or "claude-sonnet-5" or 14 more or stringThe model that will complete your prompt.
The model that will complete your prompt.
See models for additional details and options.
OutputConfig object{ effort, format }
effort: optional "low" or "medium" or "high" or 2 more or nullAll possible effort levels.
All possible effort levels.
format: optional JSONOutputFormat { schema, type } or nullA schema to specify Claude's output format in responses. See structured outputs
A schema to specify Claude's output format in responses. See structured outputs
The JSON schema of the format
OutputTokensDetails object{ thinking_tokens }
thinking_tokens: numberNumber of output tokens the model generated as internal reasoning, including
the thinking-block delimiter tokens.
Number of output tokens the model generated as internal reasoning, including the thinking-block delimiter tokens.
Reflects the raw reasoning the model produced, not the (possibly shorter)
summarized thinking text returned in the response body. Computed by
re-tokenizing the raw reasoning text, so it may differ from the model's exact
generation count by a small number of tokens. Always ≤ output_tokens;
output_tokens - thinking_tokens approximates the non-reasoning output.
PlainTextSource object{ data, media_type, type }
RawContentBlockDelta = TextDelta { text, type } or InputJSONDelta { partial_json, type } or CitationsDelta { citation, type } or 2 more
RawContentBlockDeltaEvent object{ delta, index, type }
delta: RawContentBlockDelta
type: "content_block_delta"
RawContentBlockStartEvent object{ content_block, index, type }
RawContentBlockStopEvent object{ index, type }
type: "content_block_stop"
RawMessageDeltaEvent object{ delta, type, usage }
RawMessageStartEvent object{ message, type }
message: Message { id, container, content, 7 more }
type: "message_start"
RawMessageStopEvent object{ type }
type: "message_stop"
RawMessageStreamEvent = RawMessageStartEvent { message, type } or RawMessageDeltaEvent { delta, type, usage } or RawMessageStopEvent { type } or 3 more
RedactedThinkingBlock object{ data, type }
data: stringThe contents of this redacted thinking block, returned when portions of the model's thinking were safety-redacted. This field is opaque and encrypted, with no readable content.
The contents of this redacted thinking block, returned when portions of the model's thinking were safety-redacted. This field is opaque and encrypted, with no readable content.
Pass redacted_thinking blocks back to the API unchanged when continuing a multi-turn conversation.
See extended thinking for details.
type: "redacted_thinking"
RedactedThinkingBlockParam object{ data, type }
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.
RefusalStopDetails object{ category, explanation, type }Structured information about a refusal.
Structured information about a refusal.
category: "cyber" or "bio" or "frontier_llm" or 2 more or nullThe policy category that triggered a refusal.
The policy category that triggered a refusal.
The request could enable cyber harm, such as malware or exploit development. Benign cybersecurity work can also trigger this category.
The request could enable biological harm, such as dangerous lab methods. Beneficial life sciences work can also trigger this category.
The request could assist the development of competing AI models, which is restricted under Anthropic's commercial terms. Benign machine learning work can also trigger this category.
The request asks the model to reproduce its internal reasoning in the response text. To get reasoning in a structured form instead, use adaptive thinking.
The request could be related to an area that was determined as harmful. Benign work might sometimes trigger this category.
explanation: string or nullHuman-readable explanation of the refusal.
Human-readable explanation of the refusal.
This text is not guaranteed to be stable. null when no explanation is available for the category.
type: "refusal"
SearchResultBlockParam object{ content, source, title, 3 more }
ServerToolCaller object{ tool_id, type }Tool invocation generated by a server-side tool.
Tool invocation generated by a server-side tool.
tool_id: string
ServerToolCaller20260120 object{ tool_id, type }
tool_id: string
ServerToolUsage object{ web_fetch_requests, web_search_requests }
web_fetch_requests: numberThe number of web fetch tool requests.
The number of web fetch tool requests.
web_search_requests: numberThe number of web search tool requests.
The number of web search tool requests.
ServerToolUseBlock object{ id, caller, input, 2 more }
ServerToolUseBlockParam object{ id, input, name, 3 more }
SignatureDelta object{ signature, type }
The signature for this thinking block: an opaque value used to verify that the block was generated by Claude when it is passed back to the API. Delivered in a signature_delta event just before the block's content_block_stop event.
type: "signature_delta"
SkillParams object{ skill_id, type, version }Specification for a skill to be loaded in a container (request model).
Specification for a skill to be loaded in a container (request model).
skill_id: stringSkill ID
Skill ID
type: "anthropic" or "custom"Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)
Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)
version: optional stringSkill version or 'latest' for most recent version
Skill version or 'latest' for most recent version
StopReason = "end_turn" or "max_tokens" or "stop_sequence" or 4 more
TextBlock object{ citations, text, type }
TextBlockParam object{ text, type, cache_control, citations }
TextCitation = CitationCharLocation { cited_text, document_index, document_title, 4 more } or CitationPageLocation { cited_text, document_index, document_title, 4 more } or CitationContentBlockLocation { cited_text, document_index, document_title, 4 more } or 2 more
TextCitationParam = CitationCharLocationParam { cited_text, document_index, document_title, 3 more } or CitationPageLocationParam { cited_text, document_index, document_title, 3 more } or CitationContentBlockLocationParam { cited_text, document_index, document_title, 3 more } or 2 more
TextDelta object{ text, type }
type: "text_delta"
TextEditorCodeExecutionCreateResultBlock object{ is_file_update, type }
type: "text_editor_code_execution_create_result"
TextEditorCodeExecutionCreateResultBlockParam object{ is_file_update, type }
TextEditorCodeExecutionStrReplaceResultBlock object{ lines, new_lines, new_start, 3 more }
type: "text_editor_code_execution_str_replace_result"
TextEditorCodeExecutionStrReplaceResultBlockParam object{ type, lines, new_lines, 3 more }
TextEditorCodeExecutionToolResultBlock object{ content, tool_use_id, type }
TextEditorCodeExecutionToolResultBlockParam object{ content, tool_use_id, type, cache_control }
TextEditorCodeExecutionToolResultError object{ error_code, error_message, type }
error_code: TextEditorCodeExecutionToolResultErrorCode
type: "text_editor_code_execution_tool_result_error"
TextEditorCodeExecutionToolResultErrorCode = "invalid_tool_input" or "unavailable" or "too_many_requests" or 2 more
TextEditorCodeExecutionToolResultErrorParam object{ error_code, type, error_message }
error_code: TextEditorCodeExecutionToolResultErrorCode
TextEditorCodeExecutionViewResultBlock object{ content, file_type, num_lines, 3 more }
file_type: "text" or "image" or "pdf"
type: "text_editor_code_execution_view_result"
TextEditorCodeExecutionViewResultBlockParam object{ content, file_type, type, 3 more }
file_type: "text" or "image" or "pdf"
ThinkingBlock object{ signature, thinking, type }
signature: stringA value used to verify that this thinking block was generated by Claude when it is passed back to the API.
A value used to verify that this thinking block was generated by Claude when it is passed back to the API.
This is an opaque field and should not be interpreted or parsed. When passing thinking blocks back to the API (required when using tools with extended thinking), pass them back exactly as received, with this field intact.
See extended thinking for details.
The text of Claude's thinking process for this block.
type: "thinking"
ThinkingBlockParam object{ signature, thinking, type }
signature: stringThe 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.
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.
Thinking blocks must be passed back unmodified and in their original order; a modified block results in a 400 invalid_request_error.
The thinking text of this block as returned by the API.
ThinkingConfigAdaptive object{ type, display }
display: optional "summarized" or "omitted" or nullControls 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.
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.
ThinkingConfigDisabled object{ type }
ThinkingConfigEnabled object{ budget_tokens, type, display }
budget_tokens: numberDetermines how many tokens Claude can use for its internal reasoning process. Larger budgets can enable more thorough analysis for complex problems, improving response quality.
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.
Must be ≥1024 and less than max_tokens.
See extended thinking for details.
display: optional "summarized" or "omitted" or nullControls 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.
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.
ThinkingConfigParam = ThinkingConfigEnabled { budget_tokens, type, display } or ThinkingConfigDisabled { type } or ThinkingConfigAdaptive { type, display }Configuration for enabling Claude's extended thinking.
Configuration for enabling Claude's extended thinking.
When 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.
See extended thinking for details.
ThinkingDelta object{ thinking, type }
The incremental thinking text for this content block. Concatenate the thinking values of successive thinking_delta events to assemble the block's full thinking value.
type: "thinking_delta"
Tool object{ input_schema, name, allowed_callers, 7 more }
ToolBash20250124 object{ name, type, allowed_callers, 4 more }
ToolChoice = ToolChoiceAuto { type, disable_parallel_tool_use } or ToolChoiceAny { type, disable_parallel_tool_use } or ToolChoiceTool { name, type, disable_parallel_tool_use } or ToolChoiceNone { type }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.
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.
ToolChoiceAny object{ type, disable_parallel_tool_use }The model will use any available tools.
The model will use any available tools.
disable_parallel_tool_use: optional booleanWhether to disable parallel tool use.
Whether to disable parallel tool use.
Defaults to false. If set to true, the model will output exactly one tool use.
ToolChoiceAuto object{ type, disable_parallel_tool_use }The model will automatically decide whether to use tools.
The model will automatically decide whether to use tools.
disable_parallel_tool_use: optional booleanWhether to disable parallel tool use.
Whether to disable parallel tool use.
Defaults to false. If set to true, the model will output at most one tool use.
ToolChoiceNone object{ type }The model will not be allowed to use tools.
The model will not be allowed to use tools.
ToolChoiceTool object{ name, type, disable_parallel_tool_use }The model will use the specified tool with tool_choice.name.
The model will use the specified tool with tool_choice.name.
The name of the tool to use.
disable_parallel_tool_use: optional booleanWhether to disable parallel tool use.
Whether to disable parallel tool use.
Defaults to false. If set to true, the model will output exactly one tool use.
ToolReferenceBlock object{ tool_name, type }
tool_name: string
type: "tool_reference"
ToolReferenceBlockParam object{ tool_name, type, cache_control }Tool reference block that can be included in tool_result content.
Tool reference block that can be included in tool_result content.
tool_name: string
cache_control: optional CacheControlEphemeral { type, ttl } or nullCreate a cache control breakpoint at this content block.
Create a cache control breakpoint at this content block.
ttl: optional "5m" or "1h"The time-to-live for the cache control breakpoint.
The time-to-live for the cache control breakpoint.
This may be one the following values:
5m: 5 minutes1h: 1 hour
Defaults to 5m. See prompt caching pricing for details.
ToolResultBlockParam object{ tool_use_id, type, cache_control, 3 more }
ToolSearchToolBm25_20251119 object{ name, type, allowed_callers, 3 more }
ToolSearchToolRegex20251119 object{ name, type, allowed_callers, 3 more }
ToolSearchToolResultBlock object{ content, tool_use_id, type }
ToolSearchToolResultBlockParam object{ content, tool_use_id, type, cache_control }
ToolSearchToolResultError object{ error_code, error_message, type }
error_code: ToolSearchToolResultErrorCode
type: "tool_search_tool_result_error"
ToolSearchToolResultErrorCode = "invalid_tool_input" or "unavailable" or "too_many_requests" or "execution_time_exceeded"
ToolSearchToolResultErrorParam object{ error_code, type, error_message }
error_code: ToolSearchToolResultErrorCode
ToolSearchToolSearchResultBlock object{ tool_references, type }
tool_references: array of ToolReferenceBlock { tool_name, type }
tool_name: string
type: "tool_reference"
type: "tool_search_tool_search_result"
ToolSearchToolSearchResultBlockParam object{ tool_references, type }
ToolTextEditor20250124 object{ name, type, allowed_callers, 4 more }
ToolTextEditor20250429 object{ name, type, allowed_callers, 4 more }
ToolTextEditor20250728 object{ name, type, allowed_callers, 5 more }
ToolUnion = Tool { input_schema, name, allowed_callers, 7 more } or ToolBash20250124 { name, type, allowed_callers, 4 more } or CodeExecutionTool20250522 { name, type, allowed_callers, 3 more } or 18 moreCode execution tool with REPL state persistence (daemon mode + gVisor checkpoint).
Code execution tool with REPL state persistence (daemon mode + gVisor checkpoint).
ToolUseBlock object{ id, caller, input, 3 more }
ToolUseBlockParam object{ id, input, name, 4 more }
URLImageSource object{ type, url }
URLPDFSource object{ type, url }
Usage object{ cache_creation, cache_creation_input_tokens, cache_read_input_tokens, 6 more }
UserLocation object{ type, city, country, 2 more }
city: optional string or nullThe city of the user.
The city of the user.
country: optional string or nullThe two letter ISO country code of the user.
The two letter ISO country code of the user.
region: optional string or nullThe region of the user.
The region of the user.
timezone: optional string or nullThe IANA timezone of the user.
The IANA timezone of the user.
WebFetchBlock object{ content, retrieved_at, type, url }
content: DocumentBlock { citations, source, title, type }
ISO 8601 timestamp when the content was retrieved
type: "web_fetch_result"
Fetched content URL
WebFetchBlockParam object{ content, type, url, retrieved_at }
content: DocumentBlockParam { source, type, cache_control, 3 more }
Fetched content URL
ISO 8601 timestamp when the content was retrieved
WebFetchTool20250910 object{ name, type, allowed_callers, 8 more }
WebFetchTool20260209 object{ name, type, allowed_callers, 8 more }
WebFetchTool20260309 object{ name, type, allowed_callers, 9 more }Web fetch tool with use_cache parameter for bypassing cached content.
Web fetch tool with use_cache parameter for bypassing cached content.