Concepts / agent ↔ editor
ACP stable
Agent Client Protocol · Zed; open specification with JetBrains as co-maintainer
- Spec
- v1 · public registry
- Published
- Reviewed
What it is
ACP does for coding agents what the Language Server Protocol did for language tooling. An agent implements ACP once and runs inside any editor that speaks it, instead of shipping its own UI. Zed created it in June 2025. It was the headline feature of Zed 1.0 in April 2026, is built into JetBrains IDEs, and has community clients for Neovim, Emacs and VS Code.
How it works
The editor launches the agent as a subprocess and they exchange JSON-RPC over stdio.
- The editor is the client. It creates a session and sends prompts.
- The agent streams session updates: text, tool calls, plans, diffs.
- File reads and writes go through the editor, so unsaved buffers and the editor’s own permissions apply.
- The agent asks the editor for permission before risky actions. The editor decides how to prompt the user.
- The agent can request a terminal and the editor renders it.
A public registry, launched with JetBrains in January 2026, lets an agent register once and appear in every ACP client. More than 50 agents are listed, including Cursor, which joined as an agent rather than a host.
When to use it
You are building a coding agent. Implement ACP and you get every ACP editor as a surface. If you are building an editor or IDE plugin, implement the client side and you get every agent.
Watch out for
- The name collides with the Agentic Commerce Protocol and with IBM’s earlier Agent Communication Protocol. Say “Zed’s ACP” when it matters.
- Agents get tools from the editor via MCP, so you still need MCP.
Related
- MCP Model Context Protocol
- AG-UI Agent–User Interaction Protocol
- Human-in-the-loop Human-in-the-loop approvals
- AGENTS.md & CLAUDE.md Agent instruction files
In the guide
- 1. Set up your tools Pick one coding agent, write the instruction file for your repo, connect the MCP servers your stack already has, and put the agent in your editor.