ExperimentalUnique identifier for this tool call within the session.
Optional ExperimentalnameUNSTABLE
This capability is not part of the spec yet, and may be removed or changed at any point.
Programmatic 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 means no metadata update; null is an
explicit clear signal. Implementations MUST NOT make assumptions about values at these keys.
See protocol docs: Extensibility
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. When a client receives a tool call ID it has not seen before, omitted fields use client defaults.See protocol docs: Tool Calls