Claude Platform Docs

メッセージ

メッセージを作成
Message messages().create(params, requestOptions = RequestOptions.none())
POST/v1/messages

テキストや画像コンテンツを含む入力メッセージの構造化されたリストを送信すると、モデルが会話内の次のメッセージを生成します。

メッセージ内のトークンをカウント
MessageTokensCount messages().countTokens(params, requestOptions = RequestOptions.none())
POST/v1/messages/count_tokens

メッセージ内のトークン数をカウントします。

Models
class Base64ImageSource { type = "base64"; data; mediaType; }
JsonValue type = "base64"
String data
formatbyte
MediaType mediaType
One of the following:
IMAGE_JPEG("image/jpeg")
IMAGE_PNG("image/png")
IMAGE_GIF("image/gif")
IMAGE_WEBP("image/webp")
class Base64PdfSource { type = "base64"; data; mediaType; }
JsonValue type = "base64"
String data
formatbyte
JsonValue mediaType = "application/pdf"
class BashCodeExecutionOutputBlock { type = "bash_code_execution_output"; fileId; }
JsonValue type = "bash_code_execution_output"
String fileId
class BashCodeExecutionOutputBlockParam { type = "bash_code_execution_output"; fileId; }
JsonValue type = "bash_code_execution_output"
String fileId
class BashCodeExecutionResultBlock { type = "bash_code_execution_result"; content; returnCode; /* 2 more */ }
JsonValue type = "bash_code_execution_result"
JsonValue type = "bash_code_execution_output"
String fileId
long returnCode
String stderr
String stdout
class BashCodeExecutionResultBlockParam { type = "bash_code_execution_result"; content; returnCode; /* 2 more */ }
JsonValue type = "bash_code_execution_result"
JsonValue type = "bash_code_execution_output"
String fileId
long returnCode
String stderr
String stdout
class BashCodeExecutionToolResultBlock { type = "bash_code_execution_tool_result"; content; toolUseId; }
class BashCodeExecutionToolResultBlockParam { type = "bash_code_execution_tool_result"; content; toolUseId; cacheControl; }
class BashCodeExecutionToolResultError { type = "bash_code_execution_tool_result_error"; errorCode; }
JsonValue type = "bash_code_execution_tool_result_error"
One of the following:
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
TOO_MANY_REQUESTS("too_many_requests")
EXECUTION_TIME_EXCEEDED("execution_time_exceeded")
OUTPUT_FILE_TOO_LARGE("output_file_too_large")
enum BashCodeExecutionToolResultErrorCode
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
TOO_MANY_REQUESTS("too_many_requests")
EXECUTION_TIME_EXCEEDED("execution_time_exceeded")
OUTPUT_FILE_TOO_LARGE("output_file_too_large")
class BashCodeExecutionToolResultErrorParam { type = "bash_code_execution_tool_result_error"; errorCode; }
JsonValue type = "bash_code_execution_tool_result_error"
One of the following:
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
TOO_MANY_REQUESTS("too_many_requests")
EXECUTION_TIME_EXCEEDED("execution_time_exceeded")
OUTPUT_FILE_TOO_LARGE("output_file_too_large")
class BrowserClickTarget: union

Where to act: either a viewport coordinate or an element reference.

class BrowserCoordinateTarget { type = "coordinate"; x; y; }

A point in the browser viewport, in viewport pixels (the same frame as a full-viewport screenshot).

JsonValue type = "coordinate"
long x

Pixels from the left edge of the viewport.

minimum0
long y

Pixels from the top edge of the viewport.

minimum0
class BrowserRefTarget { type = "ref"; ref; }

An element on the page, identified by a reference from a prior read_page or find result. References are scoped to the tab that produced them and become stale after navigation or a major re-render.

JsonValue type = "ref"
String ref

An element reference (e.g. "ref_7") returned by a prior read_page or find result.

class BrowserCloseTabConfig { deferLoading; enabled; }

close_tab's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserCloseTabInput { tabId; }

Close the tab with the given tab_id.

String tabId

The tab to close.

class BrowserCloseTabToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserCoordinateTarget { type = "coordinate"; x; y; }

A point in the browser viewport, in viewport pixels (the same frame as a full-viewport screenshot).

JsonValue type = "coordinate"
long x

Pixels from the left edge of the viewport.

minimum0
long y

Pixels from the top edge of the viewport.

minimum0
class BrowserDoubleClickConfig { deferLoading; enabled; }

double_click's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserDoubleClickInput { target; modifiers; tabId; }

Double left-click at a viewport coordinate or on an element by reference.

class BrowserDoubleClickToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserFileUploadConfig { deferLoading; enabled; }

file_upload's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserFileUploadInput { target; documentIds; paths; tabId; }

Set the value of a file-input element to one or more files. The target must be an element reference; at least one of paths or document_ids is required.

An element on the page, identified by a reference from a prior read_page or find result. References are scoped to the tab that produced them and become stale after navigation or a major re-render.

JsonValue type = "ref"
String ref

An element reference (e.g. "ref_7") returned by a prior read_page or find result.

Optional<List<String>> documentIds

References to files the harness has staged, for deployments where the browser executor cannot read the caller's filesystem.

minItems1
Optional<List<String>> paths

File paths on the browser executor's filesystem.

minItems1
Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserFileUploadToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserFindConfig { deferLoading; enabled; }

find's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserFindInput { query; tabId; }

Find elements matching a natural-language description (e.g. "search bar", "add to cart button") and return up to 20 matches with element references.

String query

Natural-language description of the element(s) to find.

Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserFindToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserFormInputConfig { deferLoading; enabled; }

form_input's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserFormInputInput { target; value; tabId; }

Set the value of a form element (input, textarea, select, checkbox). Use a boolean for checkboxes, an option value or text for selects.

An element on the page, identified by a reference from a prior read_page or find result. References are scoped to the tab that produced them and become stale after navigation or a major re-render.

JsonValue type = "ref"
String ref

An element reference (e.g. "ref_7") returned by a prior read_page or find result.

The value to set.

One of the following:
String
double
boolean
Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserFormInputToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserFormInputValue: union
String
double
boolean
class BrowserGetPageTextConfig { deferLoading; enabled; }

get_page_text's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserGetPageTextInput { tabId; }

Return the page's visible text content as plain text, prioritizing article content. Suited to articles, documentation, and other text-heavy pages.

Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserGetPageTextToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserHoldKeyConfig { deferLoading; enabled; }

hold_key's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserHoldKeyInput { duration; text; tabId; }

Hold a key or key chord down for a duration, then release it. Uses the same key names and "+" chord syntax as the key action.

double duration

Seconds to hold the key down (maximum 30).

minimum0
maximum30
String text

The key or chord to hold.

Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserHoldKeyToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserHoverConfig { deferLoading; enabled; }

hover's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserHoverInput { target; tabId; }

Move the cursor to a coordinate or element without clicking.

Where to act: either a viewport coordinate or an element reference.

One of the following:
class BrowserCoordinateTarget { type = "coordinate"; x; y; }

A point in the browser viewport, in viewport pixels (the same frame as a full-viewport screenshot).

JsonValue type = "coordinate"
long x

Pixels from the left edge of the viewport.

minimum0
long y

Pixels from the top edge of the viewport.

minimum0
class BrowserRefTarget { type = "ref"; ref; }

An element on the page, identified by a reference from a prior read_page or find result. References are scoped to the tab that produced them and become stale after navigation or a major re-render.

JsonValue type = "ref"
String ref

An element reference (e.g. "ref_7") returned by a prior read_page or find result.

Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserHoverToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserJavascriptExecConfig { deferLoading; enabled; }

javascript_exec's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserJavascriptExecInput { text; tabId; }

Execute JavaScript in the page context and return the value of the last expression. The code runs with access to the DOM, window, and page variables. Write the expression you want evaluated — do NOT use return.

String text

JavaScript to execute in the page context.

Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserJavascriptExecToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserKeyConfig { deferLoading; enabled; }

key's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserKeyInput { text; repeat; tabId; }

Press a key or key chord. Use "+" to combine modifiers with a key (e.g. "ctrl+a", "cmd+shift+p") and space to sequence presses (e.g. "Backspace Backspace Delete"). Common names like "Return", "Tab", "Escape", "BackSpace" are supported.

String text

The key, chord, or space-separated sequence to press.

Optional<Long> repeat

Number of times to repeat. Default 1.

minimum1
maximum100
Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserKeyToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserLeftClickConfig { deferLoading; enabled; }

left_click's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserLeftClickDragConfig { deferLoading; enabled; }

left_click_drag's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserLeftClickDragInput { from; target; tabId; }

Press at from, drag to target, release. Both must be coordinate targets.

A point in the browser viewport, in viewport pixels (the same frame as a full-viewport screenshot).

JsonValue type = "coordinate"
long x

Pixels from the left edge of the viewport.

minimum0
long y

Pixels from the top edge of the viewport.

minimum0

A point in the browser viewport, in viewport pixels (the same frame as a full-viewport screenshot).

JsonValue type = "coordinate"
long x

Pixels from the left edge of the viewport.

minimum0
long y

Pixels from the top edge of the viewport.

minimum0
Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserLeftClickDragToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserLeftClickInput { target; modifiers; tabId; }

Left-click at a viewport coordinate or on an element by reference.

class BrowserLeftClickToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserLeftMouseDownConfig { deferLoading; enabled; }

left_mouse_down's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserLeftMouseDownInput { target; tabId; }

Press and hold the left mouse button at a viewport coordinate. Pair with left_mouse_up to perform a custom drag.

A point in the browser viewport, in viewport pixels (the same frame as a full-viewport screenshot).

JsonValue type = "coordinate"
long x

Pixels from the left edge of the viewport.

minimum0
long y

Pixels from the top edge of the viewport.

minimum0
Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserLeftMouseDownToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserLeftMouseUpConfig { deferLoading; enabled; }

left_mouse_up's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserLeftMouseUpInput { target; tabId; }

Release the left mouse button at a viewport coordinate.

A point in the browser viewport, in viewport pixels (the same frame as a full-viewport screenshot).

JsonValue type = "coordinate"
long x

Pixels from the left edge of the viewport.

minimum0
long y

Pixels from the top edge of the viewport.

minimum0
Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserLeftMouseUpToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserListTabsConfig { deferLoading; enabled; }

list_tabs's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserListTabsInput:

List all open tabs with each tab's tab_id, title, and URL.

class BrowserListTabsToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserMiddleClickConfig { deferLoading; enabled; }

middle_click's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserMiddleClickInput { target; modifiers; tabId; }

Middle-click at a viewport coordinate or on an element by reference.

class BrowserMiddleClickToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserMouseMoveConfig { deferLoading; enabled; }

mouse_move's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserMouseMoveInput { target; tabId; }

Move the pointer to a viewport coordinate without clicking.

A point in the browser viewport, in viewport pixels (the same frame as a full-viewport screenshot).

JsonValue type = "coordinate"
long x

Pixels from the left edge of the viewport.

minimum0
long y

Pixels from the top edge of the viewport.

minimum0
Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserMouseMoveToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserNavigateConfig { deferLoading; enabled; }

navigate's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserNavigateInput { url; tabId; }

Navigate to a URL, or go back/forward/reload in history. The protocol may be omitted (defaults to https://).

String url

The URL to navigate to, or "back" / "forward" / "reload" for history navigation.

Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserNavigateToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserNewTabConfig { deferLoading; enabled; }

new_tab's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserNewTabInput:

Open a new empty tab and return its tab_id.

class BrowserNewTabToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserReadConsoleConfig { deferLoading; enabled; }

read_console's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserReadConsoleInput { tabId; }

Return console output (log entries, errors, warnings) accumulated since the driver attached to the tab and since the last read, one line per entry. An empty result does not mean no traffic for a tab that predates attach.

Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserReadConsoleToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserReadNetworkConfig { deferLoading; enabled; }

read_network's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserReadNetworkInput { tabId; }

Return the network requests (method, URL, status, MIME type, timing) recorded since the driver attached to the tab and since the last read, one line per entry. An empty result does not mean no traffic for a tab that predates attach.

Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserReadNetworkToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserReadPageConfig { deferLoading; enabled; }

read_page's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

enum BrowserReadPageFilter
ALL("all")
INTERACTIVE("interactive")
class BrowserReadPageInput { depth; filter; ref; tabId; }

Return a structured accessibility tree of the page (or the subtree rooted at ref), with element references like [ref_7] that can be used as targets on later actions. Output is capped at 50,000 characters — narrow with ref or a smaller depth when exceeded.

Optional<Long> depth

Maximum tree depth. Default 15.

minimum1
Optional<BrowserReadPageFilter> filter

Which elements to include. Omitted: every visible element. "interactive": interactive elements only. "all": additionally includes off-viewport elements.

One of the following:
ALL("all")
INTERACTIVE("interactive")
Optional<String> ref

Element reference to read a subtree from. Omit to read from the page root.

Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserReadPageToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserRefTarget { type = "ref"; ref; }

An element on the page, identified by a reference from a prior read_page or find result. References are scoped to the tab that produced them and become stale after navigation or a major re-render.

JsonValue type = "ref"
String ref

An element reference (e.g. "ref_7") returned by a prior read_page or find result.

class BrowserRightClickConfig { deferLoading; enabled; }

right_click's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserRightClickInput { target; modifiers; tabId; }

Right-click at a viewport coordinate or on an element by reference.

class BrowserRightClickToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserScreenshotConfig { deferLoading; enabled; }

screenshot's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserScreenshotInput { tabId; }

Capture the current browser viewport.

Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserScreenshotToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserScrollConfig { deferLoading; enabled; }

scroll's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

enum BrowserScrollDirection
UP("up")
DOWN("down")
LEFT("left")
RIGHT("right")
class BrowserScrollInput { scrollDirection; target; scrollAmount; tabId; }

Scroll at a viewport position. target must be a coordinate target.

BrowserScrollDirection scrollDirection
One of the following:
UP("up")
DOWN("down")
LEFT("left")
RIGHT("right")

A point in the browser viewport, in viewport pixels (the same frame as a full-viewport screenshot).

JsonValue type = "coordinate"
long x

Pixels from the left edge of the viewport.

minimum0
long y

Pixels from the top edge of the viewport.

minimum0
Optional<Long> scrollAmount

Scroll-wheel notches (1–10). Default 3.

minimum1
maximum10
Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserScrollToConfig { deferLoading; enabled; }

scroll_to's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserScrollToInput { target; tabId; }

Scroll an element into view.

An element on the page, identified by a reference from a prior read_page or find result. References are scoped to the tab that produced them and become stale after navigation or a major re-render.

JsonValue type = "ref"
String ref

An element reference (e.g. "ref_7") returned by a prior read_page or find result.

Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserScrollToToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserScrollToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserStateBlockParam { type = "browser_state"; tabs; cacheControl; stateChanges; }

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.

class BrowserStateChange: union
class BrowserStateChangeDownloadCompleted { type = "download_completed"; downloadId; 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).

JsonValue type = "download_completed"
String downloadId

The caller-assigned identifier for this download, stable across the state changes reporting it.

minLength1
maxLength4096
pattern^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
String url

The final post-redirect URL the download was served from.

maxLength4096
pattern^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
Optional<String> 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.

maxLength4096
pattern^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
Optional<Long> sizeBytes

The completed download's size.

minimum0
class BrowserStateChangeDownloadFailed { type = "download_failed"; downloadId; url; error; }

A file download that failed — or was cancelled — during this call.

JsonValue type = "download_failed"
String downloadId

The caller-assigned identifier for this download, stable across the state changes reporting it.

minLength1
maxLength4096
pattern^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
String url

The final post-redirect URL the download was served from.

maxLength4096
pattern^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
Optional<String> error

The failure or cancellation detail, when known.

maxLength4096
pattern^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
class BrowserStateChangeDownloadStarted { type = "download_started"; downloadId; url; }

A file download that started during this call.

JsonValue type = "download_started"
String downloadId

The caller-assigned identifier for this download, stable across the state changes reporting it.

minLength1
maxLength4096
pattern^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
String url

The final post-redirect URL the download was served from.

maxLength4096
pattern^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
class BrowserStateChangeTabOpened { type = "tab_opened"; tabId; }

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.

JsonValue type = "tab_opened"
String tabId

The tab_id of the opened tab, present in tabs.

minLength1
maxLength4096
pattern^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
class BrowserStateTabEntry { tabId; title; url; active; }

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.

String tabId

The caller-assigned identifier for this tab, unique within the inventory.

minLength1
maxLength4096
pattern^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
String title

The title of the page the tab is showing. May be empty.

maxLength4096
pattern^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
String url

The URL of the page the tab is showing. May be empty.

maxLength4096
pattern^[^\x00-\x1f\x7f-\x9f\u2028\u2029]*$
Optional<Boolean> active

Whether this tab is the active tab after this call. Whenever tabs is non-empty, exactly one entry is marked active: true.

class BrowserSwitchTabConfig { deferLoading; enabled; }

switch_tab's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserSwitchTabInput { tabId; }

Make the tab with the given tab_id the active tab — the tab that actions without a tab_id apply to.

String tabId

The tab to switch to.

class BrowserSwitchTabToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserToolUseBlock: union
class BrowserToolset20260801 { type = "browser_toolset_20260801"; cacheControl; 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.

JsonValue type = "browser_toolset_20260801"
Optional<CacheControlEphemeral> cacheControl

Create a cache control breakpoint at this content block.

JsonValue type = "ephemeral"
Optional<Ttl> ttl

The time-to-live for the cache control breakpoint.

This may be one the following values:

  • 5m: 5 minutes
  • 1h: 1 hour

Defaults to 5m. See prompt caching pricing for details.

One of the following:
TTL_5M("5m")
TTL_1H("1h")
Optional<BrowserToolsetConfigs> configs

Sparse per-member overrides, keyed by member name. Absent, null, and {} are equivalent; a member's defaults apply wherever its key is absent.

class BrowserToolsetConfigs { type; closeTab; doubleClick; /* 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.

class BrowserTripleClickConfig { deferLoading; enabled; }

triple_click's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserTripleClickInput { target; modifiers; tabId; }

Triple left-click at a viewport coordinate or on an element by reference (typically selects a line or paragraph).

class BrowserTripleClickToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserTypeConfig { deferLoading; enabled; }

type's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserTypeInput { text; tabId; }

Type a literal string at the current focus.

String text

The text to type.

Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserTypeToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserWaitConfig { deferLoading; enabled; }

wait's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserWaitInput { duration; tabId; }

Pause for the given duration.

double duration

Seconds to wait (maximum 30).

minimum0
maximum30
Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserWaitToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class BrowserZoomConfig { deferLoading; enabled; }

zoom's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class BrowserZoomInput { region; tabId; }

Return a cropped screenshot of the given viewport region, scaled up for closer inspection — useful for small icons, buttons, or text. Coordinates are in the same viewport-pixel space as a full screenshot.

List<long> region

[x0, y0, x1, y1] in viewport pixels.

minItems4
maxItems4
Optional<String> tabId

Tab to act on. Defaults to the active tab when omitted.

class BrowserZoomToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class CacheControlEphemeral { type = "ephemeral"; ttl; }
JsonValue type = "ephemeral"
Optional<Ttl> ttl

The time-to-live for the cache control breakpoint.

This may be one the following values:

  • 5m: 5 minutes
  • 1h: 1 hour

Defaults to 5m. See prompt caching pricing for details.

One of the following:
TTL_5M("5m")
TTL_1H("1h")
class CacheCreation { ephemeral1hInputTokens; ephemeral5mInputTokens; }
long ephemeral1hInputTokens

The number of input tokens used to create the 1 hour cache entry.

minimum0
long ephemeral5mInputTokens

The number of input tokens used to create the 5 minute cache entry.

minimum0
class CacheMissMessagesChanged { type = "messages_changed"; cacheMissedInputTokens; }
JsonValue type = "messages_changed"
long cacheMissedInputTokens

Approximate number of input tokens that would have been read from cache had the prefix matched the previous request.

class CacheMissModelChanged { type = "model_changed"; cacheMissedInputTokens; }
JsonValue type = "model_changed"
long cacheMissedInputTokens

Approximate number of input tokens that would have been read from cache had the prefix matched the previous request.

class CacheMissPreviousMessageNotFound { type = "previous_message_not_found"; }
JsonValue type = "previous_message_not_found"
class CacheMissReason: union
class CacheMissSystemChanged { type = "system_changed"; cacheMissedInputTokens; }
JsonValue type = "system_changed"
long cacheMissedInputTokens

Approximate number of input tokens that would have been read from cache had the prefix matched the previous request.

class CacheMissToolsChanged { type = "tools_changed"; cacheMissedInputTokens; }
JsonValue type = "tools_changed"
long cacheMissedInputTokens

Approximate number of input tokens that would have been read from cache had the prefix matched the previous request.

class CacheMissUnavailable { type = "unavailable"; }
JsonValue type = "unavailable"
class CitationCharLocation { type = "char_location"; citedText; documentIndex; /* 4 more */ }
JsonValue type = "char_location"
String citedText
long documentIndex
minimum0
Optional<String> documentTitle
long endCharIndex
Optional<String> fileId
long startCharIndex
minimum0
class CitationCharLocationParam { type = "char_location"; citedText; documentIndex; /* 3 more */ }
JsonValue type = "char_location"
String citedText
long documentIndex
minimum0
Optional<String> documentTitle
minLength1
maxLength500
long endCharIndex
long startCharIndex
minimum0
class CitationContentBlockLocation { type = "content_block_location"; citedText; documentIndex; /* 4 more */ }
JsonValue type = "content_block_location"
String citedText

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.

long documentIndex
minimum0
Optional<String> documentTitle
long endBlockIndex

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.

Optional<String> fileId
long startBlockIndex

0-based index of the first cited block in the source's content array.

minimum0
class CitationContentBlockLocationParam { type = "content_block_location"; citedText; documentIndex; /* 3 more */ }
JsonValue type = "content_block_location"
String citedText

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.

long documentIndex
minimum0
Optional<String> documentTitle
minLength1
maxLength500
long endBlockIndex

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.

long startBlockIndex

0-based index of the first cited block in the source's content array.

minimum0
class CitationPageLocation { type = "page_location"; citedText; documentIndex; /* 4 more */ }
JsonValue type = "page_location"
String citedText
long documentIndex
minimum0
Optional<String> documentTitle
long endPageNumber
Optional<String> fileId
long startPageNumber
minimum1
class CitationPageLocationParam { type = "page_location"; citedText; documentIndex; /* 3 more */ }
JsonValue type = "page_location"
String citedText
long documentIndex
minimum0
Optional<String> documentTitle
minLength1
maxLength500
long endPageNumber
long startPageNumber
minimum1
class CitationSearchResultLocationParam { type = "search_result_location"; citedText; endBlockIndex; /* 4 more */ }
JsonValue type = "search_result_location"
String citedText

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.

long endBlockIndex

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.

long searchResultIndex

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.

minimum0
String source
long startBlockIndex

0-based index of the first cited block in the source's content array.

minimum0
Optional<String> title
class CitationWebSearchResultLocationParam { type = "web_search_result_location"; citedText; encryptedIndex; /* 2 more */ }
JsonValue type = "web_search_result_location"
String citedText
String encryptedIndex
Optional<String> title
minLength1
maxLength512
String url
minLength1
class CitationsConfig { enabled; }
boolean enabled
class CitationsConfigParam { enabled; }
Optional<Boolean> enabled
class CitationsDelta { type = "citations_delta"; citation; }
class CitationsSearchResultLocation { type = "search_result_location"; citedText; endBlockIndex; /* 4 more */ }
JsonValue type = "search_result_location"
String citedText

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.

long endBlockIndex

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.

long searchResultIndex

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.

minimum0
String source
long startBlockIndex

0-based index of the first cited block in the source's content array.

minimum0
Optional<String> title
class CitationsWebSearchResultLocation { type = "web_search_result_location"; citedText; encryptedIndex; /* 2 more */ }
JsonValue type = "web_search_result_location"
String citedText
String encryptedIndex
Optional<String> title
maxLength512
String url
class CodeExecutionOutputBlock { type = "code_execution_output"; fileId; }
JsonValue type = "code_execution_output"
String fileId
class CodeExecutionOutputBlockParam { type = "code_execution_output"; fileId; }
JsonValue type = "code_execution_output"
String fileId
class CodeExecutionResultBlock { type = "code_execution_result"; content; returnCode; /* 2 more */ }
JsonValue type = "code_execution_result"
List<CodeExecutionOutputBlock> content
JsonValue type = "code_execution_output"
String fileId
long returnCode
String stderr
String stdout
class CodeExecutionResultBlockParam { type = "code_execution_result"; content; returnCode; /* 2 more */ }
JsonValue type = "code_execution_result"
JsonValue type = "code_execution_output"
String fileId
long returnCode
String stderr
String stdout
class CodeExecutionTool20250522 { type = "code_execution_20250522"; name; allowedCallers; /* 3 more */ }
class CodeExecutionTool20250825 { type = "code_execution_20250825"; name; allowedCallers; /* 3 more */ }
class CodeExecutionTool20260120 { type = "code_execution_20260120"; name; allowedCallers; /* 3 more */ }

Code execution tool with REPL state persistence (daemon mode + gVisor checkpoint).

class CodeExecutionTool20260521 { type = "code_execution_20260521"; name; allowedCallers; /* 3 more */ }

Code execution tool with REPL state persistence.

class CodeExecutionToolResultBlock { type = "code_execution_tool_result"; content; toolUseId; }
JsonValue type = "code_execution_tool_result"
One of the following:
String toolUseId
pattern^srvtoolu_[a-zA-Z0-9_]+$
class CodeExecutionToolResultBlockContent: union
class CodeExecutionToolResultBlockParam { type = "code_execution_tool_result"; content; toolUseId; cacheControl; }
JsonValue type = "code_execution_tool_result"
One of the following:
String toolUseId
pattern^srvtoolu_[a-zA-Z0-9_]+$
Optional<CacheControlEphemeral> cacheControl

Create a cache control breakpoint at this content block.

JsonValue type = "ephemeral"
Optional<Ttl> ttl

The time-to-live for the cache control breakpoint.

This may be one the following values:

  • 5m: 5 minutes
  • 1h: 1 hour

Defaults to 5m. See prompt caching pricing for details.

One of the following:
TTL_5M("5m")
TTL_1H("1h")
class CodeExecutionToolResultBlockParamContent: union
class CodeExecutionToolResultError { type = "code_execution_tool_result_error"; errorCode; }
JsonValue type = "code_execution_tool_result_error"
One of the following:
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
TOO_MANY_REQUESTS("too_many_requests")
EXECUTION_TIME_EXCEEDED("execution_time_exceeded")
enum CodeExecutionToolResultErrorCode
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
TOO_MANY_REQUESTS("too_many_requests")
EXECUTION_TIME_EXCEEDED("execution_time_exceeded")
class CodeExecutionToolResultErrorParam { type = "code_execution_tool_result_error"; errorCode; }
JsonValue type = "code_execution_tool_result_error"
One of the following:
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
TOO_MANY_REQUESTS("too_many_requests")
EXECUTION_TIME_EXCEEDED("execution_time_exceeded")
class ComputerCursorPositionConfig { deferLoading; enabled; }

cursor_position's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerCursorPositionInput:

Get the current (x, y) pixel coordinate of the cursor.

class ComputerCursorPositionToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerDoubleClickConfig { deferLoading; enabled; }

double_click's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerDoubleClickInput { coordinate; text; }

Double-click the left mouse button at the specified (x, y) pixel coordinate, or the current cursor position if coordinate is omitted.

Optional<List<Long>> coordinate

(x, y): x pixels from the left edge, y pixels from the top edge.

minItems2
maxItems2
Optional<String> text

Optional key combination to hold down during this action (e.g. "ctrl", "shift", "ctrl+shift").

class ComputerDoubleClickToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerHoldKeyConfig { deferLoading; enabled; }

hold_key's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerHoldKeyInput { duration; text; }

Hold down a key or key-combination for a specified duration. Uses the same key syntax as key.

long duration

Duration to hold the key, in seconds.

maximum300
String text

The key or key-combination to hold.

class ComputerHoldKeyToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerKeyConfig { deferLoading; enabled; }

key's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerKeyInput { text; repeat; }

Press a key or key-combination on the keyboard. Use "+" to combine modifiers with a key (e.g. "ctrl+s", "alt+Tab", "ctrl+shift+Escape"). Key names are case-insensitive; common names like "Return", "Tab", "Escape", "Up", "Down", "Left", "Right", "Home", "End", "Page_Up", "Page_Down", "Delete", "BackSpace" are supported.

String text

The key or key-combination to press.

Optional<Long> repeat

Number of times to repeat the key press. Default is 1.

minimum1
maximum100
class ComputerKeyToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerLeftClickConfig { deferLoading; enabled; }

left_click's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerLeftClickDragConfig { deferLoading; enabled; }

left_click_drag's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerLeftClickDragInput { coordinate; startCoordinate; text; }

Click and drag the cursor from start_coordinate to coordinate.

List<long> coordinate

(x, y): x pixels from the left edge, y pixels from the top edge.

minItems2
maxItems2
List<long> startCoordinate

(x, y): x pixels from the left edge, y pixels from the top edge.

minItems2
maxItems2
Optional<String> text

Optional key combination to hold down during this action (e.g. "ctrl", "shift", "ctrl+shift").

class ComputerLeftClickDragToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerLeftClickInput { coordinate; text; }

Click the left mouse button at the specified (x, y) pixel coordinate, or the current cursor position if coordinate is omitted.

Optional<List<Long>> coordinate

(x, y): x pixels from the left edge, y pixels from the top edge.

minItems2
maxItems2
Optional<String> text

Optional key combination to hold down during this action (e.g. "ctrl", "shift", "ctrl+shift").

class ComputerLeftClickToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerLeftMouseDownConfig { deferLoading; enabled; }

left_mouse_down's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerLeftMouseDownInput:

Press and hold the left mouse button at the current cursor position.

class ComputerLeftMouseDownToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerLeftMouseUpConfig { deferLoading; enabled; }

left_mouse_up's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerLeftMouseUpInput:

Release the left mouse button.

class ComputerLeftMouseUpToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerMiddleClickConfig { deferLoading; enabled; }

middle_click's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerMiddleClickInput { coordinate; text; }

Click the middle mouse button at the specified (x, y) pixel coordinate, or the current cursor position if coordinate is omitted.

Optional<List<Long>> coordinate

(x, y): x pixels from the left edge, y pixels from the top edge.

minItems2
maxItems2
Optional<String> text

Optional key combination to hold down during this action (e.g. "ctrl", "shift", "ctrl+shift").

class ComputerMiddleClickToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerMouseMoveConfig { deferLoading; enabled; }

mouse_move's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerMouseMoveInput { coordinate; }

Move the cursor to a specified (x, y) pixel coordinate. Use this ONLY to hover without clicking; otherwise use a click action directly.

List<long> coordinate

(x, y): x pixels from the left edge, y pixels from the top edge.

minItems2
maxItems2
class ComputerMouseMoveToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerRightClickConfig { deferLoading; enabled; }

right_click's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerRightClickInput { coordinate; text; }

Click the right mouse button at the specified (x, y) pixel coordinate, or the current cursor position if coordinate is omitted.

Optional<List<Long>> coordinate

(x, y): x pixels from the left edge, y pixels from the top edge.

minItems2
maxItems2
Optional<String> text

Optional key combination to hold down during this action (e.g. "ctrl", "shift", "ctrl+shift").

class ComputerRightClickToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerScreenshotConfig { deferLoading; enabled; }

screenshot's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerScreenshotInput:

Take a screenshot of the screen.

class ComputerScreenshotToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerScrollConfig { deferLoading; enabled; }

scroll's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

enum ComputerScrollDirection
UP("up")
DOWN("down")
LEFT("left")
RIGHT("right")
class ComputerScrollInput { scrollAmount; scrollDirection; coordinate; text; }

Scroll the screen at the specified (x, y) pixel coordinate, or the current cursor position if coordinate is omitted. Do NOT use PageUp/PageDown to scroll.

long scrollAmount

Number of 'clicks' of the scroll wheel.

ComputerScrollDirection scrollDirection
One of the following:
UP("up")
DOWN("down")
LEFT("left")
RIGHT("right")
Optional<List<Long>> coordinate

(x, y): x pixels from the left edge, y pixels from the top edge.

minItems2
maxItems2
Optional<String> text

Optional key combination to hold down during this action (e.g. "ctrl", "shift", "ctrl+shift").

class ComputerScrollToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerToolUseBlock: union
class ComputerToolset20260801 { type = "computer_toolset_20260801"; cacheControl; 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.

JsonValue type = "computer_toolset_20260801"
Optional<CacheControlEphemeral> cacheControl

Create a cache control breakpoint at this content block.

JsonValue type = "ephemeral"
Optional<Ttl> ttl

The time-to-live for the cache control breakpoint.

This may be one the following values:

  • 5m: 5 minutes
  • 1h: 1 hour

Defaults to 5m. See prompt caching pricing for details.

One of the following:
TTL_5M("5m")
TTL_1H("1h")
Optional<ComputerToolsetConfigs> configs

Sparse per-member overrides, keyed by member name. Absent, null, and {} are equivalent; a member's defaults apply wherever its key is absent.

class ComputerToolsetConfigs { type; cursorPosition; doubleClick; /* 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.

class ComputerTripleClickConfig { deferLoading; enabled; }

triple_click's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerTripleClickInput { coordinate; text; }

Triple-click the left mouse button at the specified (x, y) pixel coordinate, or the current cursor position if coordinate is omitted.

Optional<List<Long>> coordinate

(x, y): x pixels from the left edge, y pixels from the top edge.

minItems2
maxItems2
Optional<String> text

Optional key combination to hold down during this action (e.g. "ctrl", "shift", "ctrl+shift").

class ComputerTripleClickToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerTypeConfig { deferLoading; enabled; }

type's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerTypeInput { text; }

Type a string of text on the keyboard.

String text

The text to type.

class ComputerTypeToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerWaitConfig { deferLoading; enabled; }

wait's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerWaitInput { duration; }

Wait for a specified duration.

long duration

Duration to wait, in seconds.

maximum300
class ComputerWaitToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ComputerZoomConfig { deferLoading; enabled; }

zoom's config overrides.

Optional<Boolean> deferLoading

Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.

Optional<Boolean> enabled

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.

class ComputerZoomInput { region; }

Take a screenshot of a rectangular region. Region coordinates are in the full-screenshot space (not physical display pixels). The crop is scaled up to fill the image budget so fine details become legible.

List<long> region

(x0, y0, x1, y1): The region to capture.

minItems4
maxItems4
class ComputerZoomToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class Container { id; expiresAt; skills; }

Information about the container used in the request (for the code execution tool)

String id

Identifier for the container used in this request

LocalDateTime expiresAt

The time at which the container will expire.

formatdate-time
Optional<List<ContainerSkill>> skills

Skills loaded in the container

Type type

Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)

One of the following:
ANTHROPIC("anthropic")
CUSTOM("custom")
String skillId

Skill ID

minLength1
maxLength64
String version

The resolved version: a skill version ID for custom skills.

minLength1
maxLength64
class ContainerParams { id; skills; }

Container parameters with skills to be loaded.

Optional<String> id

Container id

Optional<List<SkillParams>> skills

List of skills to load in the container

maxItems20
Type type

Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)

One of the following:
ANTHROPIC("anthropic")
CUSTOM("custom")
String skillId

Skill ID

minLength1
maxLength64
Optional<String> version

Skill version or 'latest' for most recent version

minLength1
maxLength64
class ContainerSkill { type; skillId; version; }

A skill that was loaded in a container (response model).

Type type

Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)

One of the following:
ANTHROPIC("anthropic")
CUSTOM("custom")
String skillId

Skill ID

minLength1
maxLength64
String version

The resolved version: a skill version ID for custom skills.

minLength1
maxLength64
class ContainerUploadBlock { type = "container_upload"; fileId; }

Response model for a file uploaded to the container.

JsonValue type = "container_upload"
String fileId
class ContainerUploadBlockParam { type = "container_upload"; fileId; cacheControl; }

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.

JsonValue type = "container_upload"
String fileId
Optional<CacheControlEphemeral> cacheControl

Create a cache control breakpoint at this content block.

JsonValue type = "ephemeral"
Optional<Ttl> ttl

The time-to-live for the cache control breakpoint.

This may be one the following values:

  • 5m: 5 minutes
  • 1h: 1 hour

Defaults to 5m. See prompt caching pricing for details.

One of the following:
TTL_5M("5m")
TTL_1H("1h")
class ContentBlock: union
class ContentBlockParam: union
class ContentBlockSource { type = "content"; content; }
JsonValue type = "content"
Content content
One of the following:
String
One of the following:
class TextBlockParam { type = "text"; text; cacheControl; citations; }
class ImageBlockParam { type = "image"; source; cacheControl; transformations; }
class ContentBlockSourceContent: union
class TextBlockParam { type = "text"; text; cacheControl; citations; }
class ImageBlockParam { type = "image"; source; cacheControl; transformations; }
class Diagnostics { cacheMissReason; }

Request-level diagnostics: why the prompt cache could not fully reuse the prefix of the request named by diagnostics.previous_message_id.

Optional<CacheMissReason> cacheMissReason

Explains why the prompt cache could not fully reuse the prefix from the request identified by diagnostics.previous_message_id. null means diagnosis is still pending — the response was serialized before the background comparison completed.

One of the following:
class DiagnosticsParam { previousMessageId; }

Request-level diagnostics. Currently carries the previous response id for prompt-cache divergence reporting.

Optional<String> previousMessageId

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.

maxLength256
class DirectCaller { type = "direct"; }

Tool invocation directly from the model.

JsonValue type = "direct"
class DocumentBlock { type = "document"; citations; source; title; }
class DocumentBlockParam { type = "document"; source; cacheControl; /* 3 more */ }
class EncryptedCodeExecutionResultBlock { type = "encrypted_code_execution_result"; content; encryptedStdout; /* 2 more */ }

Code execution result with encrypted stdout for PFC + web_search results.

JsonValue type = "encrypted_code_execution_result"
List<CodeExecutionOutputBlock> content
JsonValue type = "code_execution_output"
String fileId
String encryptedStdout
long returnCode
String stderr
class EncryptedCodeExecutionResultBlockParam { type = "encrypted_code_execution_result"; content; encryptedStdout; /* 2 more */ }

Code execution result with encrypted stdout for PFC + web_search results.

JsonValue type = "encrypted_code_execution_result"
JsonValue type = "code_execution_output"
String fileId
String encryptedStdout
long returnCode
String stderr
class FileDocumentSource { type = "file"; fileId; }
JsonValue type = "file"
String fileId
class FileImageSource { type = "file"; fileId; }
JsonValue type = "file"
String fileId
class ImageBlockParam { type = "image"; source; cacheControl; transformations; }
class ImageTransformationsParam { oversizedImage; }

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.

Optional<OversizedImage> oversizedImage

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.

One of the following:
DOWNSIZE("downsize")
ERROR("error")
class InputJsonDelta { type = "input_json_delta"; partialJson; }
JsonValue type = "input_json_delta"
String partialJson
class JsonOutputFormat { type = "json_schema"; schema; }
JsonValue type = "json_schema"
Schema schema

The JSON schema of the format

class MemoryTool20250818 { type = "memory_20250818"; name; allowedCallers; /* 4 more */ }
class Message { type = "message"; id; container; /* 8 more */ }
class MessageCountTokensTool: union
class MessageCreateParamsContainer: union

Container identifier for reuse across requests.

class ContainerParams { id; skills; }

Container parameters with skills to be loaded.

Optional<String> id

Container id

Optional<List<SkillParams>> skills

List of skills to load in the container

maxItems20
Type type

Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)

One of the following:
ANTHROPIC("anthropic")
CUSTOM("custom")
String skillId

Skill ID

minLength1
maxLength64
Optional<String> version

Skill version or 'latest' for most recent version

minLength1
maxLength64
String
class MessageDeltaUsage { cacheCreationInputTokens; cacheReadInputTokens; inputTokens; /* 3 more */ }
Optional<Long> cacheCreationInputTokens

The cumulative number of input tokens used to create the cache entry.

minimum0
Optional<Long> cacheReadInputTokens

The cumulative number of input tokens read from the cache.

minimum0
Optional<Long> inputTokens

The cumulative number of input tokens which were used.

minimum0
long outputTokens

The cumulative number of output tokens which were used.

Optional<OutputTokensDetails> outputTokensDetails

Breakdown of output tokens by category.

output_tokens remains the inclusive, authoritative total used for billing. This object provides a read-only decomposition for observability — for example, how many of the billed output tokens were spent on internal reasoning that may have been summarized before being returned to you.

long thinkingTokens

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.

minimum0
Optional<ServerToolUsage> serverToolUse

The number of server tool requests.

long webFetchRequests

The number of web fetch tool requests.

minimum0
long webSearchRequests

The number of web search tool requests.

minimum0
class MessageParam { content; role; }
class MessageTokensCount { inputTokens; }
long inputTokens

The total number of tokens across the provided list of messages, system prompt, and tools.

class Metadata { userId; }
Optional<String> userId

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.

maxLength512
enum Model

The model that will complete your prompt.

See models for additional details and options.

class OutputConfig { effort; format; }
Optional<Effort> effort

How much effort the model should put into its response. Higher effort levels may result in more thorough analysis but take longer.

Valid values are low, medium, high, xhigh, or max.

One of the following:
LOW("low")
MEDIUM("medium")
HIGH("high")
XHIGH("xhigh")
MAX("max")
Optional<JsonOutputFormat> format

A schema to specify Claude's output format in responses. See structured outputs

JsonValue type = "json_schema"
Schema schema

The JSON schema of the format

class OutputTokensDetails { thinkingTokens; }
long thinkingTokens

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.

minimum0
class PlainTextSource { type = "text"; data; mediaType; }
JsonValue type = "text"
String data
JsonValue mediaType = "text/plain"
class RawContentBlockDelta: union
class RawContentBlockDeltaEvent { type = "content_block_delta"; delta; index; }
JsonValue type = "content_block_delta"
One of the following:
long index
class RawContentBlockStartEvent { type = "content_block_start"; contentBlock; index; }
class RawContentBlockStopEvent { type = "content_block_stop"; index; }
JsonValue type = "content_block_stop"
long index
class RawMessageDeltaEvent { type = "message_delta"; delta; usage; }
class RawMessageStartEvent { type = "message_start"; message; }
JsonValue type = "message_start"
Message message
class RawMessageStopEvent { type = "message_stop"; }
JsonValue type = "message_stop"
class RawMessageStreamEvent: union
class RedactedThinkingBlock { type = "redacted_thinking"; data; }
JsonValue type = "redacted_thinking"
String data

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.

class RedactedThinkingBlockParam { type = "redacted_thinking"; data; }
JsonValue type = "redacted_thinking"
String data

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.

class RefusalStopDetails { type = "refusal"; category; explanation; }

Structured information about a refusal.

JsonValue type = "refusal"
Optional<Category> category

The policy category that triggered the refusal.

null when the refusal doesn't map to a named category.

One of the following:
CYBER("cyber")

The request could enable cyber harm, such as malware or exploit development. Benign cybersecurity work can also trigger this category.

BIO("bio")

The request could enable biological harm, such as dangerous lab methods. Beneficial life sciences work can also trigger this category.

FRONTIER_LLM("frontier_llm")

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.

REASONING_EXTRACTION("reasoning_extraction")

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.

GENERAL_HARMS("general_harms")

The request could be related to an area that was determined as harmful. Benign work might sometimes trigger this category.

Optional<String> explanation

Human-readable explanation of the refusal.

This text is not guaranteed to be stable. null when no explanation is available for the category.

class SearchResultBlockParam { type = "search_result"; content; source; /* 3 more */ }
class ServerToolCaller { type = "code_execution_20250825"; toolId; }

Tool invocation generated by a server-side tool.

JsonValue type = "code_execution_20250825"
String toolId
pattern^srvtoolu_[a-zA-Z0-9_]+$
class ServerToolCaller20260120 { type = "code_execution_20260120"; toolId; }
JsonValue type = "code_execution_20260120"
String toolId
pattern^srvtoolu_[a-zA-Z0-9_]+$
class ServerToolUsage { webFetchRequests; webSearchRequests; }
long webFetchRequests

The number of web fetch tool requests.

minimum0
long webSearchRequests

The number of web search tool requests.

minimum0
class ServerToolUseBlock { type = "server_tool_use"; id; caller; /* 2 more */ }
class ServerToolUseBlockParam { type = "server_tool_use"; id; input; /* 3 more */ }
class SignatureDelta { type = "signature_delta"; signature; }
JsonValue type = "signature_delta"
String signature

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.

class SkillParams { type; skillId; version; }

Specification for a skill to be loaded in a container (request model).

Type type

Type of skill - either 'anthropic' (built-in) or 'custom' (user-defined)

One of the following:
ANTHROPIC("anthropic")
CUSTOM("custom")
String skillId

Skill ID

minLength1
maxLength64
Optional<String> version

Skill version or 'latest' for most recent version

minLength1
maxLength64
enum StopReason
END_TURN("end_turn")
MAX_TOKENS("max_tokens")
STOP_SEQUENCE("stop_sequence")
TOOL_USE("tool_use")
PAUSE_TURN("pause_turn")
REFUSAL("refusal")
MODEL_CONTEXT_WINDOW_EXCEEDED("model_context_window_exceeded")
class TextBlock { type = "text"; citations; text; }
class TextBlockParam { type = "text"; text; cacheControl; citations; }
class TextCitation: union
class TextCitationParam: union
class TextDelta { type = "text_delta"; text; }
JsonValue type = "text_delta"
String text
class TextEditorCodeExecutionCreateResultBlock { type = "text_editor_code_execution_create_result"; isFileUpdate; }
JsonValue type = "text_editor_code_execution_create_result"
boolean isFileUpdate
class TextEditorCodeExecutionCreateResultBlockParam { type = "text_editor_code_execution_create_result"; isFileUpdate; }
JsonValue type = "text_editor_code_execution_create_result"
boolean isFileUpdate
class TextEditorCodeExecutionStrReplaceResultBlock { type = "text_editor_code_execution_str_replace_result"; lines; newLines; /* 3 more */ }
JsonValue type = "text_editor_code_execution_str_replace_result"
Optional<List<String>> lines
Optional<Long> newLines
Optional<Long> newStart
Optional<Long> oldLines
Optional<Long> oldStart
class TextEditorCodeExecutionStrReplaceResultBlockParam { type = "text_editor_code_execution_str_replace_result"; lines; newLines; /* 3 more */ }
JsonValue type = "text_editor_code_execution_str_replace_result"
Optional<List<String>> lines
Optional<Long> newLines
Optional<Long> newStart
Optional<Long> oldLines
Optional<Long> oldStart
class TextEditorCodeExecutionToolResultBlock { type = "text_editor_code_execution_tool_result"; content; toolUseId; }
class TextEditorCodeExecutionToolResultBlockParam { type = "text_editor_code_execution_tool_result"; content; toolUseId; cacheControl; }
class TextEditorCodeExecutionToolResultError { type = "text_editor_code_execution_tool_result_error"; errorCode; errorMessage; }
JsonValue type = "text_editor_code_execution_tool_result_error"
One of the following:
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
TOO_MANY_REQUESTS("too_many_requests")
EXECUTION_TIME_EXCEEDED("execution_time_exceeded")
FILE_NOT_FOUND("file_not_found")
Optional<String> errorMessage
enum TextEditorCodeExecutionToolResultErrorCode
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
TOO_MANY_REQUESTS("too_many_requests")
EXECUTION_TIME_EXCEEDED("execution_time_exceeded")
FILE_NOT_FOUND("file_not_found")
class TextEditorCodeExecutionToolResultErrorParam { type = "text_editor_code_execution_tool_result_error"; errorCode; errorMessage; }
JsonValue type = "text_editor_code_execution_tool_result_error"
One of the following:
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
TOO_MANY_REQUESTS("too_many_requests")
EXECUTION_TIME_EXCEEDED("execution_time_exceeded")
FILE_NOT_FOUND("file_not_found")
Optional<String> errorMessage
class TextEditorCodeExecutionViewResultBlock { type = "text_editor_code_execution_view_result"; content; fileType; /* 3 more */ }
JsonValue type = "text_editor_code_execution_view_result"
String content
FileType fileType
One of the following:
TEXT("text")
IMAGE("image")
PDF("pdf")
Optional<Long> numLines
Optional<Long> startLine
Optional<Long> totalLines
class TextEditorCodeExecutionViewResultBlockParam { type = "text_editor_code_execution_view_result"; content; fileType; /* 3 more */ }
JsonValue type = "text_editor_code_execution_view_result"
String content
FileType fileType
One of the following:
TEXT("text")
IMAGE("image")
PDF("pdf")
Optional<Long> numLines
Optional<Long> startLine
Optional<Long> totalLines
class ThinkingBlock { type = "thinking"; signature; thinking; }
JsonValue type = "thinking"
String signature

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.

String thinking

The text of Claude's thinking process for this block.

class ThinkingBlockParam { type = "thinking"; signature; thinking; }
JsonValue type = "thinking"
String signature

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.

String thinking

The thinking text of this block as returned by the API.

class ThinkingConfigAdaptive { type = "adaptive"; display; }
JsonValue type = "adaptive"
Optional<Display> display

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. The default depends on the model; see Controlling thinking display.

One of the following:
SUMMARIZED("summarized")
OMITTED("omitted")
class ThinkingConfigBetweenTools { type = "between_tools"; }
JsonValue type = "between_tools"
class ThinkingConfigDisabled { type = "disabled"; }
JsonValue type = "disabled"
class ThinkingConfigEnabled { type = "enabled"; budgetTokens; display; }
JsonValue type = "enabled"
long budgetTokens

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.

minimum1024
Optional<Display> display

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. The default depends on the model; see Controlling thinking display.

One of the following:
SUMMARIZED("summarized")
OMITTED("omitted")
class ThinkingConfigParam: union

Configuration for Claude's thinking.

With {"type": "adaptive"}, Claude decides when and how much to think. With {"type": "enabled"} (manual extended thinking), you set a budget_tokens of at least 1,024. Thinking tokens count toward your max_tokens limit.

Which type values are accepted, and what happens when you omit thinking, depend on the model. See thinking for each model's behavior.

class ThinkingDelta { type = "thinking_delta"; thinking; }
JsonValue type = "thinking_delta"
String thinking

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.

class Tool { type; inputSchema; name; /* 7 more */ }
class ToolBash20250124 { type = "bash_20250124"; name; allowedCallers; /* 4 more */ }
class ToolChoice: union

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.

class ToolChoiceAny { type = "any"; disableParallelToolUse; }

The model will use any available tools.

JsonValue type = "any"
Optional<Boolean> disableParallelToolUse

Whether to disable parallel tool use.

Defaults to false. If set to true, the model will output exactly one tool use.

class ToolChoiceAuto { type = "auto"; disableParallelToolUse; }

The model will automatically decide whether to use tools.

JsonValue type = "auto"
Optional<Boolean> disableParallelToolUse

Whether to disable parallel tool use.

Defaults to false. If set to true, the model will output at most one tool use.

class ToolChoiceNone { type = "none"; }

The model will not be allowed to use tools.

JsonValue type = "none"
class ToolChoiceTool { type = "tool"; name; disableParallelToolUse; }

The model will use the specified tool with tool_choice.name.

JsonValue type = "tool"
String name

The name of the tool to use.

Optional<Boolean> disableParallelToolUse

Whether to disable parallel tool use.

Defaults to false. If set to true, the model will output exactly one tool use.

class ToolReferenceBlock { type = "tool_reference"; toolName; }
JsonValue type = "tool_reference"
String toolName
minLength1
maxLength256
pattern^[a-zA-Z0-9_-]{1,256}$
class ToolReferenceBlockParam { type = "tool_reference"; toolName; cacheControl; }

Tool reference block that can be included in tool_result content.

JsonValue type = "tool_reference"
String toolName
minLength1
maxLength256
pattern^[a-zA-Z0-9_-]{1,256}$
Optional<CacheControlEphemeral> cacheControl

Create a cache control breakpoint at this content block.

JsonValue type = "ephemeral"
Optional<Ttl> ttl

The time-to-live for the cache control breakpoint.

This may be one the following values:

  • 5m: 5 minutes
  • 1h: 1 hour

Defaults to 5m. See prompt caching pricing for details.

One of the following:
TTL_5M("5m")
TTL_1H("1h")
class ToolResultBlockParam { type = "tool_result"; toolUseId; cacheControl; /* 3 more */ }
class ToolSearchToolBm25_20251119 { type; name; allowedCallers; /* 3 more */ }
class ToolSearchToolRegex20251119 { type; name; allowedCallers; /* 3 more */ }
class ToolSearchToolResultBlock { type = "tool_search_tool_result"; content; toolUseId; }
class ToolSearchToolResultBlockParam { type = "tool_search_tool_result"; content; toolUseId; cacheControl; }
class ToolSearchToolResultError { type = "tool_search_tool_result_error"; errorCode; errorMessage; }
JsonValue type = "tool_search_tool_result_error"
One of the following:
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
TOO_MANY_REQUESTS("too_many_requests")
EXECUTION_TIME_EXCEEDED("execution_time_exceeded")
Optional<String> errorMessage
enum ToolSearchToolResultErrorCode
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
TOO_MANY_REQUESTS("too_many_requests")
EXECUTION_TIME_EXCEEDED("execution_time_exceeded")
class ToolSearchToolResultErrorParam { type = "tool_search_tool_result_error"; errorCode; errorMessage; }
JsonValue type = "tool_search_tool_result_error"
One of the following:
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
TOO_MANY_REQUESTS("too_many_requests")
EXECUTION_TIME_EXCEEDED("execution_time_exceeded")
Optional<String> errorMessage
class ToolSearchToolSearchResultBlock { type = "tool_search_tool_search_result"; toolReferences; }
JsonValue type = "tool_search_tool_search_result"
List<ToolReferenceBlock> toolReferences
JsonValue type = "tool_reference"
String toolName
minLength1
maxLength256
pattern^[a-zA-Z0-9_-]{1,256}$
class ToolSearchToolSearchResultBlockParam { type = "tool_search_tool_search_result"; toolReferences; }
JsonValue type = "tool_search_tool_search_result"
List<ToolReferenceBlockParam> toolReferences
JsonValue type = "tool_reference"
String toolName
minLength1
maxLength256
pattern^[a-zA-Z0-9_-]{1,256}$
Optional<CacheControlEphemeral> cacheControl

Create a cache control breakpoint at this content block.

JsonValue type = "ephemeral"
Optional<Ttl> ttl

The time-to-live for the cache control breakpoint.

This may be one the following values:

  • 5m: 5 minutes
  • 1h: 1 hour

Defaults to 5m. See prompt caching pricing for details.

One of the following:
TTL_5M("5m")
TTL_1H("1h")
class ToolTextEditor20250124 { type = "text_editor_20250124"; name; allowedCallers; /* 4 more */ }
class ToolTextEditor20250429 { type = "text_editor_20250429"; name; allowedCallers; /* 4 more */ }
class ToolTextEditor20250728 { type = "text_editor_20250728"; name; allowedCallers; /* 5 more */ }
class ToolUnion: union
class ToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class ToolUseBlockParam { type = "tool_use"; id; input; /* 4 more */ }
class ToolUseCaller: union

Which party invoked the tool call: the model directly, or a server tool on its behalf.

class DirectCaller { type = "direct"; }

Tool invocation directly from the model.

JsonValue type = "direct"
class ServerToolCaller { type = "code_execution_20250825"; toolId; }

Tool invocation generated by a server-side tool.

JsonValue type = "code_execution_20250825"
String toolId
pattern^srvtoolu_[a-zA-Z0-9_]+$
class ServerToolCaller20260120 { type = "code_execution_20260120"; toolId; }
JsonValue type = "code_execution_20260120"
String toolId
pattern^srvtoolu_[a-zA-Z0-9_]+$
class ToolsetToolUseBlock: union
class BrowserToolUseBlock: union
class ComputerToolUseBlock: union
class ToolUseBlock { type = "tool_use"; id; caller; /* 3 more */ }
class UrlImageSource { type = "url"; url; }
JsonValue type = "url"
String url
class UrlPdfSource { type = "url"; url; }
JsonValue type = "url"
String url
class Usage { cacheCreation; cacheCreationInputTokens; cacheReadInputTokens; /* 7 more */ }
class UserLocation { type = "approximate"; city; country; /* 2 more */ }
JsonValue type = "approximate"
Optional<String> city

The city of the user.

minLength1
maxLength255
Optional<String> country

The two letter ISO country code of the user.

minLength2
maxLength2
Optional<String> region

The region of the user.

minLength1
maxLength255
Optional<String> timezone

The IANA timezone of the user.

minLength1
maxLength255
class WebFetchBlock { type = "web_fetch_result"; content; retrievedAt; url; }
JsonValue type = "web_fetch_result"
DocumentBlock content
Optional<String> retrievedAt

ISO 8601 timestamp when the content was retrieved

String url

Fetched content URL

class WebFetchBlockParam { type = "web_fetch_result"; content; url; retrievedAt; }
JsonValue type = "web_fetch_result"
String url

Fetched content URL

Optional<String> retrievedAt

ISO 8601 timestamp when the content was retrieved

class WebFetchTool20250910 { type = "web_fetch_20250910"; name; allowedCallers; /* 9 more */ }
class WebFetchTool20260209 { type = "web_fetch_20260209"; name; allowedCallers; /* 9 more */ }
class WebFetchTool20260309 { type = "web_fetch_20260309"; name; allowedCallers; /* 10 more */ }

Web fetch tool with use_cache parameter for bypassing cached content.

class WebFetchTool20260318 { type = "web_fetch_20260318"; name; allowedCallers; /* 11 more */ }
class WebFetchToolResultBlock { type = "web_fetch_tool_result"; caller; content; toolUseId; }
class WebFetchToolResultBlockParam { type = "web_fetch_tool_result"; content; toolUseId; /* 2 more */ }
class WebFetchToolResultErrorBlock { type = "web_fetch_tool_result_error"; errorCode; }
JsonValue type = "web_fetch_tool_result_error"
One of the following:
INVALID_TOOL_INPUT("invalid_tool_input")
URL_TOO_LONG("url_too_long")
URL_NOT_ALLOWED("url_not_allowed")
URL_NOT_IN_PRIOR_CONTEXT("url_not_in_prior_context")
URL_NOT_ACCESSIBLE("url_not_accessible")
UNSUPPORTED_CONTENT_TYPE("unsupported_content_type")
TOO_MANY_REQUESTS("too_many_requests")
MAX_USES_EXCEEDED("max_uses_exceeded")
UNAVAILABLE("unavailable")
CONTENT_TOO_LARGE("content_too_large")
class WebFetchToolResultErrorBlockParam { type = "web_fetch_tool_result_error"; errorCode; }
JsonValue type = "web_fetch_tool_result_error"
One of the following:
INVALID_TOOL_INPUT("invalid_tool_input")
URL_TOO_LONG("url_too_long")
URL_NOT_ALLOWED("url_not_allowed")
URL_NOT_IN_PRIOR_CONTEXT("url_not_in_prior_context")
URL_NOT_ACCESSIBLE("url_not_accessible")
UNSUPPORTED_CONTENT_TYPE("unsupported_content_type")
TOO_MANY_REQUESTS("too_many_requests")
MAX_USES_EXCEEDED("max_uses_exceeded")
UNAVAILABLE("unavailable")
CONTENT_TOO_LARGE("content_too_large")
enum WebFetchToolResultErrorCode
INVALID_TOOL_INPUT("invalid_tool_input")
URL_TOO_LONG("url_too_long")
URL_NOT_ALLOWED("url_not_allowed")
URL_NOT_IN_PRIOR_CONTEXT("url_not_in_prior_context")
URL_NOT_ACCESSIBLE("url_not_accessible")
UNSUPPORTED_CONTENT_TYPE("unsupported_content_type")
TOO_MANY_REQUESTS("too_many_requests")
MAX_USES_EXCEEDED("max_uses_exceeded")
UNAVAILABLE("unavailable")
CONTENT_TOO_LARGE("content_too_large")
class WebFetchUrlSourceAll { type = "all"; }

The url_sources variant under which a source contributes in full: every result of the tool filter's source, or all user input.

JsonValue type = "all"
class WebFetchUrlSourceExcept { type = "except"; tools; }

The tool filter variant under which every result but the named tools' contributes.

JsonValue type = "except"
JsonValue type = "tool_reference"
String name
class WebFetchUrlSourceNone { type = "none"; }

The url_sources variant under which a source contributes nothing: no result of the tool filter's source, or no user input.

JsonValue type = "none"
class WebFetchUrlSourceOnly { type = "only"; tools; }

The tool filter variant under which only the named tools' results contribute.

JsonValue type = "only"
JsonValue type = "tool_reference"
String name
class WebFetchUrlSourceToolReference { type = "tool_reference"; name; }

One entry of a tool filter's tools: it must name a tool declared in this request's tools[].

JsonValue type = "tool_reference"
String name
class WebFetchUrlSources { clientToolResults; serverToolResults; userInput; }

Which sources contribute to the set of URLs web fetch may fetch.

Each key is a tagged variant: user_input is all or none; the two tool filters are all, none, only (only the named tools' results) or except (every result but the named tools'). A named tool must be declared in this request's tools[].

class WebSearchResultBlock { type = "web_search_result"; encryptedContent; pageAge; /* 2 more */ }
JsonValue type = "web_search_result"
String encryptedContent
Optional<String> pageAge
String title
String url
class WebSearchResultBlockParam { type = "web_search_result"; encryptedContent; title; /* 2 more */ }
JsonValue type = "web_search_result"
String encryptedContent
String title
String url
Optional<String> pageAge
class WebSearchTool20250305 { type = "web_search_20250305"; name; allowedCallers; /* 7 more */ }
class WebSearchTool20260209 { type = "web_search_20260209"; name; allowedCallers; /* 7 more */ }
class WebSearchTool20260318 { type = "web_search_20260318"; name; allowedCallers; /* 8 more */ }
class WebSearchToolRequestError { type = "web_search_tool_result_error"; errorCode; }
JsonValue type = "web_search_tool_result_error"
One of the following:
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
MAX_USES_EXCEEDED("max_uses_exceeded")
TOO_MANY_REQUESTS("too_many_requests")
QUERY_TOO_LONG("query_too_long")
REQUEST_TOO_LARGE("request_too_large")
class WebSearchToolResultBlock { type = "web_search_tool_result"; caller; content; toolUseId; }
class WebSearchToolResultBlockContent: union
class WebSearchToolResultError { type = "web_search_tool_result_error"; errorCode; }
JsonValue type = "web_search_tool_result_error"
One of the following:
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
MAX_USES_EXCEEDED("max_uses_exceeded")
TOO_MANY_REQUESTS("too_many_requests")
QUERY_TOO_LONG("query_too_long")
REQUEST_TOO_LARGE("request_too_large")
JsonValue type = "web_search_result"
String encryptedContent
Optional<String> pageAge
String title
String url
class WebSearchToolResultBlockParam { type = "web_search_tool_result"; content; toolUseId; /* 2 more */ }
class WebSearchToolResultBlockParamContent: union
class WebSearchToolResultError { type = "web_search_tool_result_error"; errorCode; }
JsonValue type = "web_search_tool_result_error"
One of the following:
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
MAX_USES_EXCEEDED("max_uses_exceeded")
TOO_MANY_REQUESTS("too_many_requests")
QUERY_TOO_LONG("query_too_long")
REQUEST_TOO_LARGE("request_too_large")
enum WebSearchToolResultErrorCode
INVALID_TOOL_INPUT("invalid_tool_input")
UNAVAILABLE("unavailable")
MAX_USES_EXCEEDED("max_uses_exceeded")
TOO_MANY_REQUESTS("too_many_requests")
QUERY_TOO_LONG("query_too_long")
REQUEST_TOO_LARGE("request_too_large")

メッセージバッチ

メッセージバッチを作成
MessageBatch messages().batches().create(params, requestOptions = RequestOptions.none())
POST/v1/messages/batches

メッセージ作成リクエストのバッチを送信します。

メッセージバッチを取得
MessageBatch messages().batches().retrieve(params = BatchRetrieveParams.none(), requestOptions = RequestOptions.none())
GET/v1/messages/batches/{message_batch_id}

このエンドポイントはべき等であり、メッセージバッチの完了をポーリングするために使用できます。メッセージバッチの結果にアクセスするには、レスポンス内のresults_urlフィールドに対してリクエストを行ってください。

メッセージバッチの一覧
BatchListPage messages().batches().list(params = BatchListParams.none(), requestOptions = RequestOptions.none())
GET/v1/messages/batches

ワークスペース内のすべてのメッセージバッチを一覧表示します。最も新しく作成されたバッチが最初に返されます。

メッセージバッチをキャンセル
MessageBatch messages().batches().cancel(params = BatchCancelParams.none(), requestOptions = RequestOptions.none())
POST/v1/messages/batches/{message_batch_id}/cancel

バッチは処理が終了する前であればいつでもキャンセルできます。キャンセルが開始されると、バッチはcanceling状態になり、この間にシステムはキャンセルを確定する前に、進行中の中断不可能なリクエストを完了させる場合があります。

メッセージバッチを削除
DeletedMessageBatch messages().batches().delete(params = BatchDeleteParams.none(), requestOptions = RequestOptions.none())
DELETE/v1/messages/batches/{message_batch_id}

メッセージバッチを削除します。

メッセージバッチの結果を取得
StreamResponse<MessageBatchIndividualResponse> messages().batches().resultsStreaming(params = BatchResultsParams.none(), requestOptions = RequestOptions.none())
GET/v1/messages/batches/{message_batch_id}/results

メッセージバッチの結果を.jsonlファイルとしてストリーミングします。