ACP Protocol Support
This page documents which Agent Client Protocol (ACP) features are supported by this plugin.
What is ACP?
The Agent Client Protocol (ACP) is an open standard for communication between AI agents and client applications. It defines how clients send prompts, receive responses, handle permissions, and manage sessions.
Agent Client implements ACP as a client, communicating with ACP-compatible agents like Claude Code, Codex, and Gemini CLI.
Methods
Client → Agent
Methods the plugin can call on agents.
| Method | Status | Notes |
|---|---|---|
initialize | ✅ Supported | |
authenticate | ✅ Supported | |
session/new | ✅ Supported | |
session/prompt | ✅ Supported | |
session/cancel | ✅ Supported | |
session/set_mode | ✅ Supported | |
session/load | ✅ Supported | |
session/set_model | ✅ Supported | Unstable API |
session/list | ✅ Supported | Unstable API |
session/resume | ✅ Supported | Unstable API |
session/fork | ✅ Supported | Unstable API |
TIP
Methods marked "Unstable API" may change in future ACP versions. They are prefixed with unstable_ in the SDK.
Agent → Client (Notifications)
Session updates the plugin can receive from agents via session/update.
| Update Type | Status | Notes |
|---|---|---|
agent_message_chunk | ✅ Supported | Text only |
agent_thought_chunk | ✅ Supported | Text only |
user_message_chunk | ✅ Supported | Text only; used for session history replay |
tool_call | ✅ Supported | |
tool_call_update | ✅ Supported | |
plan | ✅ Supported | |
available_commands_update | ✅ Supported | |
current_mode_update | ✅ Supported |
Agent → Client (Requests)
Requests agents can make to the plugin.
| Method | Status | Notes |
|---|---|---|
session/request_permission | ✅ Supported | |
terminal/create | ✅ Supported | |
terminal/output | ✅ Supported | |
terminal/wait_for_exit | ✅ Supported | |
terminal/kill | ✅ Supported | |
terminal/release | ✅ Supported | |
fs/read_text_file | — | Agents use their own Read tools |
fs/write_text_file | — | Agents use their own Write tools |
Content Types
Prompt Content (Client → Agent)
Content types the plugin can send in session/prompt.
| Type | Status | Notes |
|---|---|---|
text | ✅ Supported | |
image | ✅ Supported | Requires agent support |
audio | ❌ Not supported | |
resource_link | ❌ Not supported | |
resource | ✅ Supported | Embedded context; requires agent support |
Tool Call Content (Agent → Client)
Content types the plugin can display in tool calls.
| Type | Status | Notes |
|---|---|---|
diff | ✅ Supported | |
terminal | ✅ Supported | |
content | ❌ Not supported |
Client Capabilities
Capabilities advertised to agents during initialization.
| Capability | Value |
|---|---|
fs.readTextFile | false |
fs.writeTextFile | false |
terminal | true |
INFO
The plugin does not implement filesystem operations (fs/read_text_file, fs/write_text_file). Agents handle file operations through their own tools.