The Agent Client Protocol (ACP) lets an editor such as Zed or a JetBrains IDE run a coding agent in its own panel. How to connect each harness, what carries over from its terminal app, and how much of the work the editor sees and controls.
Getting connected
| Question | Codex CLIchecked at codex-acp 2.2.2, Codex 0.162.1 | Claude Codechecked at claude-agent-acp 0.90.0 | Cursor Agentchecked at 2026.10.12 | OpenCodechecked at 2.0.29 | pichecked at pi-acp 0.0.34 |
|---|---|---|---|---|---|
| Run it as an ACP agent | Codex has no ACP mode of its own; run the adapter The older Rust A | Claude Code has no ACP mode of its own; run the adapter The package was formerly
Set | Run | Run Add 1.x ( | pi has no ACP mode of its own; run the community adapter pi-acp 0.0.34 documents pi v0.81.0+ and was released before pi 1.0; 1.x compatibility is tracked in the adapter's issue #159.
Other community adapters exist ( |
| Add it to Zed, JetBrains or another editor | The ACP registry lists it as | The ACP registry lists it as The registry also carries a | Cursor is in the ACP registry as | OpenCode is in the ACP registry (id The registry entry downloads the 1.x release binary (currently v1.19.0), not the 2.x If a GUI editor cannot find |
Development targets Zed; other ACP clients may work with varying compatibility. Source |
| Signing in |
| Sign-in reuses Claude Code's own credentials ( Launch with | The only advertised auth method is | OpenCode advertises one auth method,
Clients that set | Partly The adapter advertises one If no models are available, |
Sessions and settings
| Question | Codex CLIchecked at codex-acp 2.2.2, Codex 0.162.1 | Claude Codechecked at claude-agent-acp 0.90.0 | Cursor Agentchecked at 2026.10.12 | OpenCodechecked at 2.0.29 | pichecked at pi-acp 0.0.34 |
|---|---|---|---|---|---|
| Resume, list or fork past sessions |
| It implements
Subagent child sessions are replayed from their own transcripts when the client declares | Partly
|
Load, resume and fork must pass the session's original directory as 1.x supports list, load, resume, fork and close but not |
Without a |
| Switch mode or model from the editor |
|
The mode is also exposed as a config option, so clients that only use config options can switch it too. Source |
| Each session exposes config options 2.x has no OpenCode sends | Sessions expose two config options: Some clients that expect a |
| Slash commands and skills | The adapter sends Codex custom prompts are not listed; skills are. Source | After session setup the agent sends | After | After a session is created or loaded OpenCode sends Built-in TUI commands such as | Partly After
|
Working with the editor
| Question | Codex CLIchecked at codex-acp 2.2.2, Codex 0.162.1 | Claude Codechecked at claude-agent-acp 0.90.0 | Cursor Agentchecked at 2026.10.12 | OpenCodechecked at 2.0.29 | pichecked at pi-acp 0.0.34 |
|---|---|---|---|---|---|
| Approving tool calls | Codex approval requests become | Whenever Claude Code would prompt, the adapter sends Exiting plan mode is offered as a permission request whose options pick the next mode (auto, accept edits, bypass, or manual). Source | Shell, write, delete, read, MCP and web tool calls go through Cursor also asks multiple-choice questions and plan approvals through its own | When OpenCode's permission rules say Cancelling a prompt rejects any pending permission requests. Requests from subagent (child) sessions carry | Partly pi does not ask for approval before tool calls, so tool runs never trigger In RPC mode pi cannot show its project-trust prompt; project resources load only if |
| Edits through the editor's buffers | Not supported Codex reads and writes files itself on disk; the adapter never calls | Not supported Claude Code's built-in Read, Edit and Write tools work directly on disk, and the adapter never calls | Not supported Files are read and written directly on disk, even when the client advertises | Not supported 2.x reads and writes files straight to disk with its own tools and never calls 1.x ( | Not supported pi reads and writes files directly on disk; the adapter does not call |
| Commands in the editor's terminal | Not supported Commands run in Codex's own sandboxed shell; the adapter never calls | Not supported Commands run in Claude Code's own Bash tool, and the adapter never calls | Not supported Commands run in Cursor's own shell, even when the client advertises | Not supported Shell commands run in OpenCode's own shell; the ACP layer never calls | Not supported Commands run in pi's own shell via its |
| MCP servers from the editor | Partly Servers passed in | MCP servers passed in
| Servers passed in | Partly Editors can pass stdio and HTTP MCP servers in HTTP headers are passed through; OAuth is not used for editor-supplied servers. Editor-supplied servers are visible to other sessions in the same directory within that process. 1.x advertises and accepts SSE MCP servers as well. Source | Partly MCP servers passed in Project-level |
| What prompts carry and what streams back | Partly Prompts accept text, images, embedded resources (inlined as | Partly Prompts can carry text, images (base64 or http URL), embedded text resources (added as | Partly Prompts accept text, images and resource links. Audio is not supported, and Todo lists, subagent status and generated images also arrive through Cursor's | Prompts can carry text, images, embedded resources and resource links ( OpenCode does not send Subagent activity is forwarded on the parent session with tool call ids prefixed | Partly Prompts can carry text, images and resource links (passed to pi as a |
The other direction
| Question | Codex CLIchecked at codex-acp 2.2.2, Codex 0.162.1 | Claude Codechecked at claude-agent-acp 0.90.0 | Cursor Agentchecked at 2026.10.12 | OpenCodechecked at 2.0.29 | pichecked at pi-acp 0.0.34 |
|---|---|---|---|---|---|
| Drive other ACP agents | Not supported Neither Codex 0.162.1 nor the adapter can drive other ACP agents: the Codex CLI has no ACP command or ACP dependency, and the adapter only implements the agent side. Codex subagents are its own threads, which the adapter can surface to the editor as ACP subagent sessions. Source | Not supported Neither Claude Code nor the adapter can drive other ACP agents. Claude Code's subagents are its own Agent tool, not ACP agents. Source | Not supported The Cursor CLI only acts as an ACP agent. It cannot launch or drive other ACP agents, and its subagents are Cursor's own. Source | Not supported OpenCode is only an ACP agent; neither 2.x nor 1.x contains ACP client code to launch or drive other ACP agents. Its subagents are OpenCode's own child sessions. Source | Not supported Neither pi nor The third-party pi extension |