This v2 schema file is generated in this repository at
schema/v2/schema.json.
ACP v2 remains hidden while it is being drafted, and v2 schema GitHub releases
are not published yet.Agent
Defines the interface that all ACP-compliant agents must implement. Agents are programs that use generative AI to autonomously modify code. They handle requests from clients and execute tasks using language models and tools.authenticate
Authenticates the client using the specified authentication method. Called when the agent requires authentication before allowing session creation. The client provides the authentication method ID that was advertised during initialization. After successful authentication, the client can proceed to create sessions withnew_session without receiving an auth_required error.
See protocol docs: Initialization
AuthenticateRequest
Request parameters for the authenticate method. Specifies which authentication method to use. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
The ID of the authentication method to use.
Must be one of the methods advertised in the initialize response.
AuthenticateResponse
Response to theauthenticate method.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
initialize
Establishes the connection with a client and negotiates protocol capabilities. This method is called once at the beginning of the connection to:- Negotiate the protocol version to use
- Exchange capability information between client and agent
- Determine available authentication methods
InitializeRequest
Request parameters for the initialize method. Sent by the client to establish connection and negotiate capabilities. See protocol docs: Initialization Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Capabilities supported by the client.
- Default:
{}
Information about the Client name and version sent to the Agent.Note: in future versions of the protocol, this will be required.
The latest protocol version supported by the client.
InitializeResponse
Response to theinitialize method.
Contains the negotiated protocol version and agent capabilities.
See protocol docs: Initialization
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Information about the Agent name and version sent to the Client.Note: in future versions of the protocol, this will be required.
Authentication methods supported by the agent.
- Default:
[]
Capabilities supported by the agent.
- Default:
{"auth":{}}
The protocol version the client specified if supported by the agent,
or the latest protocol version supported by the agent.The client should disconnect, if it doesn’t support this version.
logout
Logs out of the current authenticated state. After a successful logout, all new sessions will require authentication. There is no guarantee about the behavior of already running sessions.LogoutRequest
Request parameters for the logout method. Terminates the current authenticated session. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
LogoutResponse
Response to thelogout method.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
session/cancel
Cancels ongoing operations for a session. This is a notification sent by the client to cancel an ongoing prompt turn. Upon receiving this notification, the Agent SHOULD:- Stop all language model requests as soon as possible
- Abort all tool call invocations in progress
- Send any pending
session/updatenotifications - Respond to the original
session/promptrequest withStopReason::Cancelled
CancelNotification
Notification to cancel ongoing operations for a session. See protocol docs: Cancellation Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
session/close
Closes an active session and frees up any resources associated with it. This method is only available if the agent advertises thesession.close capability.
The agent must cancel any ongoing work (as if session/cancel was called)
and then free up any resources associated with the session.
CloseSessionRequest
Request parameters for closing an active session. If supported, the agent must cancel any ongoing work related to the session (treat it as ifsession/cancel was called) and then free up any resources
associated with the session.
Only available if the Agent supports the session.close capability.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
CloseSessionResponse
Response from closing a session. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
session/delete
Deletes an existing session fromsession/list.
This method is only available if the agent advertises the session.delete capability.
DeleteSessionRequest
Request parameters for deleting an existing session fromsession/list.
Only available if the Agent supports the session.delete capability.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
DeleteSessionResponse
Response from deleting a session. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
session/list
Lists existing sessions known to the agent. This method is only available if the agent advertises thesession.list capability.
The agent should return metadata about sessions with optional filtering and pagination support.
ListSessionsRequest
Request parameters for listing existing sessions. Only available if the Agent supports thesession.list capability.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Opaque cursor token from a previous response’s nextCursor field for cursor-based pagination
Filter sessions by working directory. Must be an absolute path.
ListSessionsResponse
Response from listing sessions. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Opaque cursor token. If present, pass this in the next request’s cursor parameter
to fetch the next page. If absent, there are no more results.
Array of session information objects
session/load
Loads an existing session to resume a previous conversation. This method is only available if the agent advertises thesession.load capability.
The agent should:
- Restore the session context and conversation history
- Connect to the specified MCP servers
- Stream the entire conversation history back to the client via notifications
LoadSessionRequest
Request parameters for loading an existing session. Only available if the Agent supports thesession.load capability.
See protocol docs: Loading Sessions
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Additional workspace roots to activate for this session. Each path must be absolute.When omitted or empty, no additional roots are activated. When non-empty,
this is the complete resulting additional-root list for the loaded
session. It may differ from any previously used or reported list as long as
the request
cwd matches the session’s cwd.The working directory for this session.
List of MCP servers to connect to for this session.
LoadSessionResponse
Response from loading an existing session. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Initial session configuration options if supported by the Agent.
session/new
Creates a new conversation session with the agent. Sessions represent independent conversation contexts with their own history and state. The agent should:- Create a new session context
- Connect to any specified MCP servers
- Return a unique session ID for future requests
auth_required error if the agent requires authentication.
See protocol docs: Session Setup
NewSessionRequest
Request parameters for creating a new session. See protocol docs: Creating a Session Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Additional workspace roots for this session. Each path must be absolute.These expand the session’s workspace scope without changing
cwd, which
remains the base for relative paths. When omitted or empty, no
additional roots are activated for the new session.The working directory for this session. Must be an absolute path.
List of MCP (Model Context Protocol) servers the agent should connect to.
NewSessionResponse
Response from creating a new session. See protocol docs: Creating a Session Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Initial session configuration options if supported by the Agent.
Unique identifier for the created session.Used in all subsequent requests for this conversation.
session/prompt
Processes a user prompt within a session. This method handles the whole lifecycle of a prompt:- Receives user messages with optional context (files, images, etc.)
- Processes the prompt using language models
- Reports language model content and tool calls to the Clients
- Requests permission to run tools
- Executes any requested tool calls
- Returns when the turn is complete with a stop reason
PromptRequest
Request parameters for sending a user prompt to the agent. Contains the user’s message and any additional context. See protocol docs: User Message Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
The blocks of content that compose the user’s message.As a baseline, the Agent MUST support
ContentBlock::Text and ContentBlock::ResourceLink,
while other variants are optionally enabled via PromptCapabilities.The Client MUST adapt its interface according to PromptCapabilities.The client MAY include referenced pieces of context as either
ContentBlock::Resource or ContentBlock::ResourceLink.When available, ContentBlock::Resource is preferred
as it avoids extra round-trips and allows the message to include
pieces of context from sources the agent may not have access to.PromptResponse
Response from processing a user prompt. See protocol docs: Check for Completion Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Indicates why the agent stopped processing the turn.
session/resume
Resumes an existing session without returning previous messages. This method is only available if the agent advertises thesession.resume capability.
The agent should resume the session context, allowing the conversation to continue
without replaying the message history (unlike session/load).
ResumeSessionRequest
Request parameters for resuming an existing session. Resumes an existing session without returning previous messages (unlikesession/load).
This is useful for agents that can resume sessions but don’t implement full session loading.
Only available if the Agent supports the session.resume capability.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Additional workspace roots to activate for this session. Each path must be absolute.When omitted or empty, no additional roots are activated. When non-empty,
this is the complete resulting additional-root list for the resumed
session. It may differ from any previously used or reported list as long as
the request
cwd matches the session’s cwd.The working directory for this session.
List of MCP servers to connect to for this session.
ResumeSessionResponse
Response from resuming an existing session. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Initial session configuration options if supported by the Agent.
session/set_config_option
Sets the current value for a session configuration option.SetSessionConfigOptionRequest
Request parameters for setting a session configuration option. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
The ID of the configuration option to set.
The ID of the configuration option value to set.
SetSessionConfigOptionResponse
Response tosession/set_config_option method.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
The full set of configuration options and their current values.
Client
Defines the interface that ACP-compliant clients must implement. Clients are typically code editors (IDEs, text editors) that provide the interface between users and AI agents. They manage the environment, handle user interactions, and control access to resources.session/request_permission
Requests permission from the user for a tool call operation. Called by the agent when it needs user authorization before executing a potentially sensitive operation. The client should present the options to the user and return their decision. If the client cancels the prompt turn viasession/cancel, it MUST
respond to this request with RequestPermissionOutcome::Cancelled.
See protocol docs: Requesting Permission
RequestPermissionRequest
Request for user permission to execute a tool call. Sent when the agent needs authorization before performing a sensitive operation. See protocol docs: Requesting Permission Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Available permission options for the user to choose from.
Details about the tool call requiring permission.
RequestPermissionResponse
Response to a permission request. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
The user’s decision on the permission request.
session/update
Handles session update notifications from the agent. This is a notification endpoint (no response expected) that receives real-time updates about session progress, including message updates, message chunks, tool calls, and execution plans. Note: Clients SHOULD continue accepting tool call updates even after sending asession/cancel notification, as the agent may send final
updates before responding with the cancelled stop reason.
See protocol docs: Agent Reports Output
SessionNotification
Notification containing a session update from the agent. Used to stream real-time progress and results during prompt processing. See protocol docs: Agent Reports Output Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
The actual update content.
AgentAuthCapabilities
Authentication-related capabilities supported by the agent. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Whether the agent supports the logout method.By supplying
\{\} it means that the agent supports the logout method.AgentCapabilities
Capabilities supported by the agent. Advertised during initialization to inform the client about available features and content types. See protocol docs: Agent Capabilities Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Authentication-related capabilities supported by the agent.
- Default:
{}
Session capabilities supported by the agent.Optional. Omitted or
null both mean the agent does not support the
session/* method surface. Supplying \{\} means the agent supports the
baseline session methods: session/new, session/prompt,
session/cancel, and session/update.AgentMessage
An agent message upsert. OnlyAgentMessage::message_id is required. Other fields have patch
semantics: omitted fields leave the existing message value unchanged, null
clears or unsets the value, and concrete values replace the previous value.
For a new messageId, omitted fields use client defaults. content is
replaced as a whole array; send [] or null to clear it.
Message updates and chunks are applied in the order they are received. When
an agent_message update includes content, that array replaces any
content previously accumulated for the message, including content from
earlier chunks. Later chunks with the same messageId append to the current
content.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Complete replacement content for this message.
AgentThought
An agent thought or reasoning message upsert. OnlyAgentThought::message_id is required. Other fields have patch
semantics: omitted fields leave the existing thought value unchanged, null
clears or unsets the value, and concrete values replace the previous value.
For a new messageId, omitted fields use client defaults. content is
replaced as a whole array; send [] or null to clear it.
Message updates and chunks are applied in the order they are received. When
an agent_thought update includes content, that array replaces any
content previously accumulated for the thought, including content from
earlier chunks. Later chunks with the same messageId append to the current
content.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Complete replacement content for this thought message.
Annotations
Optional annotations for the client. The client can use annotations to inform how objects are used or displayed Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
AudioContent
Audio provided to or from an LLM. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
AuthMethod
Describes an available authentication method. Thetype field acts as the discriminator in the serialized JSON form.
Type: Union
Agent handles authentication itself.The
type discriminator value is agent.Custom or future authentication method.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.Clients that do not understand this method type should preserve the raw
payload when storing, replaying, proxying, or forwarding initialization
data, and otherwise ignore the method or display it generically.AuthMethodAgent
Agent handles authentication itself. Thetype discriminator value is agent.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Optional description providing more details about this authentication method.
Unique identifier for this authentication method.
Human-readable name of the authentication method.
AvailableCommand
Information about a command. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Human-readable description of what the command does.
Input for the command if required
Command name (e.g.,
create_plan, research_codebase).AvailableCommandInput
The input specification for a command. Type: Unionunstructured
All text that was typed after the command name is provided as input.
Custom or future command input specification.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.Clients that do not understand this input type should preserve the raw
payload when storing, replaying, proxying, or forwarding command
metadata, and otherwise ignore the input specification or display the
command without structured input.AvailableCommandsUpdate
Available commands are ready or have changed Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Commands the agent can execute
BlobResourceContents
Binary resource contents. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
ClientCapabilities
Capabilities supported by the client. Advertised during initialization to inform the agent about available features and methods. See protocol docs: Client Capabilities Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
ConfigOptionUpdate
Session configuration options have been updated. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
The full set of configuration options and their current values.
Content
Standard content block (text, images, resources). Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
The actual content block.
ContentBlock
Content blocks represent displayable information in the Agent Client Protocol. They provide a structured way to handle various types of user-facing content—whether it’s text from language models, images for analysis, or embedded resources for context. Content blocks appear in:- User prompts sent via
session/prompt - Language model output reported through
session/updatenotifications as message updates or streamed chunks - Progress updates and results from tool calls
Text content. May be plain text or formatted with Markdown.All agents MUST support text content blocks in prompts.
Clients SHOULD render this text as Markdown.
Images for visual context or analysis.Requires the
image prompt capability when included in prompts.Audio data for transcription or analysis.Requires the
audio prompt capability when included in prompts.References to resources that the agent can access.All agents MUST support resource links in prompts.
Complete resource contents embedded directly in the message.Preferred for including context as it avoids extra round-trips.Requires the
embeddedContext prompt capability when included in prompts.Custom or future content block.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.Receivers that do not understand this content block type should preserve
the raw payload when storing, replaying, proxying, or forwarding content,
and otherwise ignore it or display it generically.ContentChunk
A streamed item of content Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
A single item of content
A unique identifier for the message this chunk belongs to.All chunks belonging to the same message share the same
messageId.
A change in messageId indicates a new message has started.Cost
Cost information for a session. Type: Object Properties:Total cumulative cost for session.
ISO 4217 currency code (e.g., “USD”, “EUR”).
Diff
A diff representing file modifications. Shows changes to files in a format suitable for display in the client UI. See protocol docs: Content Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
The new content after modification.
The original content (None for new files).
The file path being modified.
EmbeddedResource
The contents of a resource, embedded into a prompt or tool call result. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
EmbeddedResourceResource
Resource content that can be embedded in a message. Type: UnionTextResourceContents
BlobResourceContents
EnvVariable
An environment variable to set when launching an MCP server. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
The name of the environment variable.
The value to set for the environment variable.
Error
JSON-RPC error object. Represents an error that occurred during method execution, following the JSON-RPC 2.0 error object specification with optional additional data. See protocol docs: JSON-RPC Error Object Type: Object Properties:A number indicating the error type that occurred. This must be an integer as
defined in the JSON-RPC specification.
Optional primitive or structured value that contains additional information
about the error. This may include debugging information or context-specific
details.
A string providing a short description of the error. The message should be
limited to a concise single sentence.
ErrorCode
Predefined error codes for common JSON-RPC and ACP-specific errors. These codes follow the JSON-RPC 2.0 specification for standard errors and use the reserved range (-32000 to -32099) for protocol-specific errors. Type: UnionParse error: Invalid JSON was received by the server. An error occurred on
the server while parsing the JSON text.
Invalid request: The JSON sent is not a valid Request object.
Method not found: The method does not exist or is not available.
Invalid params: Invalid method parameter(s).
Internal error: Internal JSON-RPC error. Reserved for
implementation-defined server errors.
Authentication required: Authentication is required before this operation
can be performed.
Resource not found: A given resource, such as a file, was not found.
Other undefined error code.
ExtNotification
Allows the Agent to send an arbitrary notification that is not part of the ACP spec. Extension notifications provide a way to send one-way messages for custom functionality while maintaining protocol compatibility. See protocol docs: ExtensibilityExtRequest
Allows for sending an arbitrary request that is not part of the ACP spec. Extension methods provide a way to add custom functionality while maintaining protocol compatibility. See protocol docs: ExtensibilityExtResponse
Allows for sending an arbitrary response to anExtRequest that is not part of the ACP spec.
Extension methods provide a way to add custom functionality while maintaining
protocol compatibility.
See protocol docs: Extensibility
HttpHeader
An HTTP header to set when making requests to the MCP server. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
The name of the HTTP header.
The value to set for the HTTP header.
ImageContent
An image provided to or from an LLM. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Implementation
Metadata about the implementation of the client or agent. Describes the name and version of an MCP implementation, with an optional title for UI representation. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Intended for programmatic or logical use, but can be used as a display
name fallback if title isn’t present.
Intended for UI and end-user contexts — optimized to be human-readable
and easily understood.If not provided, the name should be used for display.
Version of the implementation. Can be displayed to the user or used
for debugging or metrics purposes. (e.g. “1.0.0”).
LogoutCapabilities
Logout capabilities supported by the agent. By supplying\{\} it means that the agent supports the logout method.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
McpCapabilities
MCP capabilities supported by the agent for session lifecycle requests. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Agent supports
McpServer::Http.Optional. Omitted or null both mean the agent does not advertise support.
Supplying \{\} means the agent supports HTTP MCP server transports.Agent supports
McpServer::Stdio.Optional. Omitted or null both mean the agent does not advertise support.
Supplying \{\} means the agent supports stdio MCP server transports.McpHttpCapabilities
Capabilities for HTTP MCP server transports. Supplying\{\} means the agent supports HTTP MCP server transports.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
McpServer
Configuration for connecting to an MCP (Model Context Protocol) server. MCP servers provide tools and context that the agent can use when processing prompts. See protocol docs: MCP Servers Type: UnionHTTP transport configurationOnly available when the Agent capabilities include
session.mcp.http.Stdio transport configurationOnly available when the Agent capabilities include
session.mcp.stdio.Custom or future MCP server transport configuration.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.Receivers that do not understand this transport should preserve the raw
payload when storing, replaying, proxying, or forwarding session setup
data, and otherwise ignore it or reject the server configuration.McpServerHttp
HTTP transport configuration for MCP. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
HTTP headers to set when making requests to the MCP server.
Human-readable name identifying this MCP server.
URL to the MCP server.
McpServerStdio
Stdio transport configuration for MCP. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Command-line arguments to pass to the MCP server.
Path to the MCP server executable.
Environment variables to set when launching the MCP server.
Human-readable name identifying this MCP server.
McpStdioCapabilities
Capabilities for stdio MCP server transports. Supplying\{\} means the agent supports stdio MCP server transports.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
MessageId
Unique identifier for a message within a session. Type:string
PermissionOption
An option presented to the user when requesting permission. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Hint about the nature of this permission option.
Human-readable label to display to the user.
Unique identifier for this permission option.
PermissionOptionId
Unique identifier for a permission option. Type:string
PermissionOptionKind
The type of permission option being presented to the user. Helps clients choose appropriate icons and UI treatment. Type: UnionAllow this operation only this time.
Allow this operation and remember the choice.
Reject this operation only this time.
Reject this operation and remember the choice.
Custom or future permission option kind.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.PlanEntry
A single entry in the execution plan. Represents a task or goal that the assistant intends to accomplish as part of fulfilling the user’s request. See protocol docs: Plan Entries Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Human-readable description of what this task aims to accomplish.
The relative importance of this task.
Used to indicate which tasks are most critical to the overall goal.
Current execution status of this task.
PlanEntryPriority
Priority levels for plan entries. Used to indicate the relative importance or urgency of different tasks in the execution plan. See protocol docs: Plan Entries Type: UnionHigh priority task - critical to the overall goal.
Medium priority task - important but not critical.
Low priority task - nice to have but not essential.
Custom or future plan entry priority.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.PlanEntryStatus
Status of a plan entry in the execution flow. Tracks the lifecycle of each task from planning through completion. See protocol docs: Plan Entries Type: UnionThe task has not started yet.
The task is currently being worked on.
The task has been successfully completed.
Custom or future plan entry status.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.PlanId
Unique identifier for a plan within a session. Type:string
PlanItems
A plan represented as structured entries. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
The list of tasks to be accomplished.When updating an item-based plan, the agent must send a complete list of all entries
with their current status. The client replaces that plan with each update.
PlanUpdate
A content update for a plan identified by ID. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
The updated plan content.
PlanUpdateContent
Updated content for a plan. Type: UnionStructured plan entries.
Custom or future plan update content.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.Receivers that do not understand this content type should preserve the
raw payload when storing, replaying, proxying, or forwarding plans, and
otherwise ignore it or display it generically.PromptAudioCapabilities
Capabilities for audio content in prompt requests. Supplying\{\} means the agent supports audio content in prompts.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
PromptCapabilities
Prompt capabilities supported by the agent insession/prompt requests.
Baseline agent functionality requires support for ContentBlock::Text
and ContentBlock::ResourceLink in prompt requests.
Other variants must be explicitly opted in to.
Capabilities for different types of content in prompt requests.
Indicates which content types beyond the baseline (text and resource links)
the agent can process.
See protocol docs: Prompt Capabilities
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Agent supports
ContentBlock::Audio.Optional. Omitted or null both mean the agent does not advertise support.
Supplying \{\} means the agent supports audio content in prompts.Agent supports embedded context in
session/prompt requests.When enabled, the Client is allowed to include ContentBlock::Resource
in prompt requests for pieces of context that are referenced in the message.Optional. Omitted or null both mean the agent does not advertise support.
Supplying \{\} means the agent supports embedded context in prompts.Agent supports
ContentBlock::Image.Optional. Omitted or null both mean the agent does not advertise support.
Supplying \{\} means the agent supports image content in prompts.PromptEmbeddedContextCapabilities
Capabilities for embedded context in prompt requests. Supplying\{\} means the agent supports embedded context in prompts.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
PromptImageCapabilities
Capabilities for image content in prompt requests. Supplying\{\} means the agent supports image content in prompts.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
ProtocolVersion
Protocol version identifier. This version is only bumped for breaking changes. Non-breaking changes should be introduced via capabilities. Type:integer (uint16)
| Constraint | Value |
|---|---|
| Minimum | 0 |
| Maximum | 65535 |
RequestId
JSON RPC Request Id An identifier established by the Client that MUST contain a String, Number, or NULL value if included. If it is not included it is assumed to be a notification. The value SHOULD normally not be Null [1] and Numbers SHOULD NOT contain fractional parts [2] The Server MUST reply with the same value in the Response object if included. This member is used to correlate the context between the two objects. [1] The use of Null as a value for the id member in a Request object is discouraged, because this specification uses a value of Null for Responses with an unknown id. Also, because JSON-RPC 1.0 uses an id value of Null for Notifications this could cause confusion in handling. [2] Fractional parts may be problematic, since many decimal fractions cannot be represented exactly as binary fractions. Type: UnionRequestPermissionOutcome
The outcome of a permission request. Type: UnionThe prompt turn was cancelled before the user responded.When a client sends a
session/cancel notification to cancel an ongoing
prompt turn, it MUST respond to all pending session/request_permission
requests with this Cancelled outcome.See protocol docs: CancellationThe user selected one of the provided options.
ResourceLink
A resource that the server is capable of reading, included in a prompt or tool call result. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Role
The sender or recipient of messages and data in a conversation. Type: UnionValues:
"assistant", "user"Custom or future role.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.SelectedPermissionOutcome
The user selected one of the provided options. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
The ID of the option the user selected.
SessionAdditionalDirectoriesCapabilities
Capabilities for additional session directories support. By supplying\{\} it means that the agent supports the additionalDirectories
field on supported session lifecycle requests. Agents that also support
session/list may return SessionInfo.additionalDirectories to report the
complete ordered additional-root list associated with a listed session.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
SessionCapabilities
Session capabilities supported by the agent. Supplying\{\} means the agent supports the baseline session methods:
session/new, session/prompt, session/cancel, and session/update.
Agents that support sessions MAY support additional session methods,
prompt content types, and MCP transports by specifying additional
capabilities.
See protocol docs: Session Capabilities
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Whether the agent supports
additionalDirectories on supported session lifecycle requests.Agents that also support session/list may return
SessionInfo.additionalDirectories to report the complete ordered
additional-root list associated with a listed session.Whether the agent supports
session/close.Whether the agent supports
session/delete.Optional. Omitted or null both mean the agent does not advertise support.
Supplying \{\} means the agent supports deleting sessions from session/list.Whether the agent supports
session/list.Whether the agent supports
session/load.Optional. Omitted or null both mean the agent does not advertise support.
Supplying \{\} means the agent supports loading sessions.MCP capabilities supported by the agent for session lifecycle requests.Optional. Omitted or
null both mean the agent does not advertise MCP
server transport support for sessions.Prompt capabilities supported by the agent in
session/prompt requests.Optional. Omitted or null both mean the agent does not advertise any
prompt extensions beyond the baseline text and resource-link content
required by session/prompt.Whether the agent supports
session/resume.SessionCloseCapabilities
Capabilities for thesession/close method.
By supplying \{\} it means that the agent supports closing of sessions.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
SessionConfigGroupId
Unique identifier for a session configuration option value group. Type:string
SessionConfigId
Unique identifier for a session configuration option. Type:string
SessionConfigOption
A session configuration option selector and its current state. Type: Union Shared properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Optional semantic category for this option (UX only).
Optional description for the Client to display to the user.
Unique identifier for the configuration option.
Human-readable label for the option.
Single-value selector (dropdown).
Custom or future session configuration option payload.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.Clients that do not understand this option type should preserve the raw
payload when storing, replaying, proxying, or forwarding configuration
data, and otherwise ignore the option or display it generically.SessionConfigOptionCategory
Semantic category for a session configuration option. This is intended to help Clients distinguish broadly common selectors (e.g. model selector vs session mode selector vs thought/reasoning level) for UX purposes (keyboard shortcuts, icons, placement). It MUST NOT be required for correctness. Clients MUST handle missing or unknown categories gracefully. Category names beginning with_ are free for custom use, like other ACP extension methods.
Category names that do not begin with _ are reserved for the ACP spec.
Type: Union
Session mode selector.
Model selector.
Thought/reasoning level selector.
Custom or future category.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.SessionConfigSelect
A single-value selector (dropdown) session configuration option payload. Type: Object Properties:The currently selected value.
The set of selectable options.
SessionConfigSelectGroup
A group of possible values for a session configuration option. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Unique identifier for this group.
Human-readable label for this group.
The set of option values in this group.
SessionConfigSelectOption
A possible value for a session configuration option. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Optional description for this option value.
Human-readable label for this option value.
Unique identifier for this option value.
SessionConfigSelectOptions
Possible values for a session configuration option. Type: UnionA flat list of options with no grouping.
A list of options grouped under headers.
SessionConfigValueId
Unique identifier for a session configuration option value. Type:string
SessionDeleteCapabilities
Capabilities for thesession/delete method.
Supplying \{\} means the agent supports deleting sessions from session/list.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
SessionId
A unique identifier for a conversation session between a client and agent. Sessions maintain their own context, conversation history, and state, allowing multiple independent interactions with the same agent. See protocol docs: Session ID Type:string
SessionInfo
Information about a session returned by session/list Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Additional workspace roots reported for this session. Each path must be absolute.When present, this is the complete ordered additional-root list reported
by the Agent. Omitted and empty values are equivalent: the response
reports no additional roots.
The working directory for this session. Must be an absolute path.
Human-readable title for the session
ISO 8601 timestamp of last activity
SessionInfoUpdate
Update to session metadata. All fields are optional to support partial updates. Agents send this notification to update session information like title or custom metadata. This allows clients to display dynamic session names and track session state changes. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Human-readable title for the session. Set to null to clear.
ISO 8601 timestamp of last activity. Set to null to clear.
SessionListCapabilities
Capabilities for thesession/list method.
By supplying \{\} it means that the agent supports listing of sessions.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
SessionLoadCapabilities
Capabilities for thesession/load method.
Supplying \{\} means the agent supports loading sessions.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
SessionResumeCapabilities
Capabilities for thesession/resume method.
By supplying \{\} it means that the agent supports resuming of sessions.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
SessionUpdate
Different types of updates that can be sent during session processing. These updates provide real-time feedback about the agent’s progress. See protocol docs: Agent Reports Output Type: UnionA chunk of the user’s message being streamed.
A user message has been created or updated.Agents can send this when they accept or replay a user message. When a
client receives another
user_message update with the same messageId,
fields in the new update patch the previous fields for that message.A chunk of the agent’s response being streamed.
An agent message has been created or updated.Agents can send this in addition to streamed chunks. When a client
receives another
agent_message update with the same messageId,
fields in the new update patch the previous fields for that message.A chunk of the agent’s internal reasoning being streamed.
An agent thought or reasoning message has been created or updated.Agents can send this in addition to streamed chunks. When a client
receives another
agent_thought update with the same messageId,
fields in the new update patch the previous fields for that message.A chunk of tool-call content being streamed.
A tool call has been created or updated.
A content update for a plan identified by ID.
See protocol docs: Agent Plan
Available commands are ready or have changed
Session configuration options have been updated.
Session metadata has been updated (title, timestamps, custom metadata)
Context window and cost update for the session.
Custom or future session update.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.Receivers that do not understand this update type should preserve the
raw payload when storing, replaying, proxying, or forwarding session
history, and otherwise ignore it or display it generically.StopReason
Reasons why an agent stops processing a prompt turn. See protocol docs: Stop Reasons Type: UnionThe turn ended successfully.
The turn ended because the agent reached the maximum number of tokens.
The turn ended because the agent reached the maximum number of allowed agent
requests between user turns.
The turn ended because the agent refused to continue. The user prompt and
everything that comes after it won’t be included in the next prompt, so this
should be reflected in the UI.
The turn was cancelled by the client via
session/cancel.This stop reason MUST be returned when the client sends a session/cancel
notification, even if the cancellation causes exceptions in underlying operations.
Agents should catch these exceptions and return this semantically meaningful
response to confirm successful cancellation.Custom or future stop reason.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.TextContent
Text provided to or from an LLM. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
TextResourceContents
Text-based resource contents. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
ToolCallContent
Content produced by a tool call. Tool calls can produce different types of content including standard content blocks (text, images) or file diffs. See protocol docs: Content Type: UnionStandard content block (text, images, resources).
File modification shown as a diff.
Custom or future tool call content.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.Receivers that do not understand this content type should preserve the
raw payload when storing, replaying, proxying, or forwarding tool call
output, and otherwise ignore it or display it generically.ToolCallContentChunk
A streamed item of tool-call content. Tool-call content chunks append oneToolCallContent item to the current
content for the matching ToolCallId. Agents can use
ToolCallUpdate::content when they need to replace the whole content
collection instead.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys. This field is optional; omitted or
null means there is no
chunk-level metadata.See protocol docs: ExtensibilityA single item of content produced by the tool call.
The ID of the tool call this content belongs to.
ToolCallId
Unique identifier for a tool call within a session. Type:string
ToolCallLocation
A file location being accessed or modified by a tool. Enables clients to implement “follow-along” features that track which files the agent is working with in real-time. See protocol docs: Following the Agent Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Optional line number within the file.
- Minimum:
0
The file path being accessed or modified.
ToolCallStatus
Execution status of a tool call. Tool calls progress through different statuses during their lifecycle. See protocol docs: Status Type: UnionThe tool call hasn’t started running yet because the input is either streaming
or we’re awaiting approval.
The tool call is currently running.
The tool call completed successfully.
The tool call failed with an error.
Custom or future tool call status.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.ToolCallUpdate
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. OnlyToolCallUpdate::tool_call_id is required. Other fields have patch semantics:
omitted fields leave the existing tool call value unchanged, null clears or
unsets the value, and concrete values replace the previous value. For
collection fields, concrete arrays replace the previous collection, and both
null and [] 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
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Content produced by the tool call.
The category of tool being invoked.
Helps clients choose appropriate icons and UI treatment.
File locations affected by this tool call.
Enables “follow-along” features in clients.
Raw input parameters sent to the tool.
Raw output returned by the tool.
Current execution status of the tool call.
Human-readable title describing what the tool is doing.
Unique identifier for this tool call within the session.
ToolKind
Categories of tools that can be invoked. Tool kinds help clients choose appropriate icons and optimize how they display tool execution progress. See protocol docs: Creating Type: UnionReading files or data.
Modifying files or content.
Removing files or data.
Moving or renaming files.
Searching for information.
Running commands or code.
Internal reasoning or planning.
Retrieving external data.
Switching the current session mode.
Other tool types (default).
Custom or future tool kind.Values beginning with
_ are reserved for implementation-specific
extensions. Unknown values that do not begin with _ are reserved for
future ACP variants.UnstructuredCommandInput
All text that was typed after the command name is provided as input. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
A hint to display when the input hasn’t been provided yet
UsageUpdate
Context window and cost update for a session. Type: Object Properties:The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Total context window size in tokens.
- Minimum:
0
Tokens currently in context.
- Minimum:
0
UserMessage
A user message upsert. OnlyUserMessage::message_id is required. Other fields have patch
semantics: omitted fields leave the existing message value unchanged, null
clears or unsets the value, and concrete values replace the previous value.
For a new messageId, omitted fields use client defaults. content is
replaced as a whole array; send [] or null to clear it.
Message updates and chunks are applied in the order they are received. When
a user_message update includes content, that array replaces any content
previously accumulated for the message, including content from earlier
chunks. Later chunks with the same messageId append to the current
content.
Type: Object
Properties:
The _meta property is reserved by ACP to allow clients and agents to attach additional
metadata to their interactions. Implementations MUST NOT make assumptions about values at
these keys.See protocol docs: Extensibility
Complete replacement content for this message.