Unique identifier for this tool call within the session.
OptionalnameProgrammatic name of the tool being invoked.
This field is optional and has patch semantics. Omission means no
change, null clears the name, and a string replaces it. For a tool
call ID the client has not seen before, omission or null means that no
tool name is available.
OptionaltitleHuman-readable title describing what the tool is doing.
OptionalkindThe category of tool being invoked. Helps clients choose appropriate icons and UI treatment.
OptionalstatusCurrent execution status of the tool call.
OptionalcontentContent produced by the tool call.
OptionallocationsFile locations affected by this tool call. Enables "follow-along" features in clients.
OptionalrawRaw input parameters sent to the tool.
OptionalrawRaw output returned by the tool.
Optional_The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Omitted leaves the stored metadata unchanged; null
clears it. An object patches the stored metadata by top-level key: keys it omits are
unchanged, a key set to null is removed, and any other value replaces that key's
stored value without merging nested objects. Beyond this patch rule, implementations
MUST NOT make assumptions about values at these keys.
See protocol docs: Metadata Patches
Represents an upsert for a tool call that the language model has requested.
Tool calls are actions that the agent executes on behalf of the language model, such as reading files, executing code, or fetching data from external sources.
Only [
ToolCallUpdate::tool_call_id] is required. Other fields have patch semantics: omitted fields leave the existing tool call value unchanged,nullclears or unsets the value, and concrete values replace the previous value. For collection fields, concrete arrays replace the previous collection, and bothnulland[]clear the collection. A concrete_metaobject instead patches the stored metadata by top-level key. When a client receives a tool call ID it has not seen before, omitted fields use client defaults.See protocol docs: Tool Calls