Standards · 4 min read

Agent Client Protocol: swapping agents like editors

ACP lets an editor talk to any agent through one interface, and a public registry launched in January 2026. What it changes for anyone tired of one-vendor lock-in.

Image goes here

/blog/agent-client-protocol-acp-hero.png

Diagram of editors on one side and agents on the other, connected by a single protocol

Show generation prompt
Editorial technical diagram, 16:9, flat vector. Three editor-window icons stacked in a column on the left, three agent terminal icons stacked in a column on the right, and a single horizontal bar (the protocol) running between them with thin lines fanning from each editor and each agent into the bar. Charcoal (#121212) background, grey (#8c8c8c) outlines, the central protocol bar in indigo (#5560d4), ordered-dither dot texture in the negative space, balanced symmetric composition. Mood: interoperable, neat. No readable text, no logos, no watermark.
N editors and M agents become N plus M integrations instead of N times M.

Before a standard protocol, putting a new agent into an editor meant writing an extension for that editor, and putting that agent into a second editor meant doing it again. The Agent Client Protocol inverts it: the agent speaks one interface, the editor speaks the same one, and everything connects.

What ACP actually standardises

It is a session protocol, not a model API. The client sends messages, the agent replies with structured updates: text, tool call requests, permission requests, diffs and checkpoints. The client owns the interface and the approval prompts. The agent owns its own loop, its tools and its reasoning.

That division is the useful part. Because permission prompts come back over the protocol, the editor can show them in its own voice with its own buttons, rather than the agent inventing a terminal prompt that may or may not be readable. Diffs can be rendered as editor review UI. Session state can be displayed the way the editor displays state for anything else.

  • Session lifecycle. New session, prompt, cancel, resume, all defined rather than inferred.
  • Permission requests. The agent asks, the editor decides and answers, so approval is always a client-side UI decision.
  • Streaming updates. Text, tool calls and diff hunks arrive as typed events the client can render properly.
  • File references and checkpoints. Image and file references use local paths, and checkpoints let the client offer undo at the protocol level.
  • MCP as a first-class transport. An agent can announce MCP support over ACP rather than every client reimplementing it.

Image goes here

/blog/agent-client-protocol-acp-session.png

Message sequence of an ACP session showing permission requests and diffs

Show generation prompt
Editorial technical sequence diagram, 16:9, flat vector. Two vertical lifelines (editor on left, agent on right) with five horizontal message arrows passing between them in descending order, each arrow a different thickness to imply message type, with a small shield glyph on one arrow (permission request) and a small split-rectangle glyph on another (diff). Charcoal (#121212) background, grey (#8c8c8c) outlines, the permission and diff arrows in indigo (#5560d4), ordered-dither dot texture in the background, generous negative space. Mood: conversational, structured. No readable text, no logos, no watermark.
A single session: prompt, tool request, permission, result, diff. The client never has to guess what the agent is doing.

What shipped in 2026

The registry went live at the end of January 2026, which was the missing piece. Previously an agent had to be exposed as an extension per client or installed manually by the user, so distribution was fragmented even where the protocol was already implemented. Now an agent that speaks ACP is submitted once and appears in every client that also speaks it.

Agents already registered include the major CLIs, so you can run one inside an editor that is not its native home. The original design ran over local process streams, and a WebSocket interface was added later so browser-based clients could join without a native bridge.

Why this matters beyond editors

The reason to care is that it makes the agent replaceable. An editor that speaks ACP is one where you can change your mind about the agent without changing everything else, which is the same argument as bring your own model one layer down the stack.

There is a second, less obvious benefit: a protocol boundary is a place to audit. Tool calls and permission requests cross a well-defined interface where a client can log them, block them, or show them to a user, instead of living inside a monolith that decides on its own.

“Implement once, work everywhere. The registry is the missing distribution mechanism for that promise.”

the announcement that made ACP a ecosystem rather than a specification

How Quaka fits into this

Quaka works in both directions. It ships a dedicated quaka-acp binary, so any ACP-capable editor can drive a Quaka session and get permission prompts, diffs and streaming updates rendered in its own interface. Quaka can also act as the client, driving Claude Code or Codex through their CLIs as providers so their sessions, tool calls and diffs appear inside Quaka's thread.

Both directions use the same underlying idea as provider-neutral threads: the conversation belongs to you, and the thing producing the next message is a choice you can change.


Quaka

Get an invite

Quaka is in private beta.

One email when your invite is ready. macOS, Windows and Linux, bring your own key.

No spam. One email when your invite is ready.

Read the source on GitHub

Common questions

What is the Agent Client Protocol?

An open protocol that defines how a code editor and a coding agent talk to each other: sessions, prompts, streaming updates, tool calls, permission requests and diffs. The editor handles the interface and approvals, the agent handles its own reasoning and tools, and both sides implement the protocol once.

Which editors and agents support ACP?

Support spread through 2026 after the public registry opened in January, with the major coding CLIs registered as agents and several editors publishing ACP support. Check each product's protocol support page, since implementations and the feature sets they cover vary.

Is ACP the same as MCP?

No. MCP connects an agent to external tools and data sources. ACP connects an editor to an agent. They are complementary, and ACP treats MCP as a first-class capability so a client does not have to reimplement MCP support separately.