---
title: "Which Coding Agents Support ACP? | AgentRQ Blog"
url: https://agentrq.com/blog/which-coding-agents-support-acp-agent-client-protocol
description: "Which coding agents support ACP? A support table for 33 agents, including Claude Code, Codex, Gemini CLI, Cursor and OpenCode, with each one's ACP command."
---

[Back to Blog](https://agentrq.com/blog/)

October 2, 2026 | AgentRQ Team

# Which Coding Agents Support ACP?

Most of them do now. Here are short answers to the questions people ask most:

- → **Does Claude Code support ACP?** Not by itself. It runs over ACP through the **Claude Agent** adapter, `@agentclientprotocol/claude-agent-acp`, which is listed in the ACP registry as `claude-acp`.
- → **Does Codex support ACP?** Through an adapter. `@agentclientprotocol/codex-acp` wraps Codex and serves it as a standard ACP agent (registry id `codex-acp`).
- → **Does Gemini CLI support ACP?** Yes, natively. Gemini CLI was the first ACP agent. Start it with `gemini --acp`, or [connect Gemini CLI to AgentRQ](https://agentrq.com/blog/agentrq-acp-gateway-gemini-cli).
- → **Does Cursor support ACP?** Yes, natively, through Cursor's command-line agent: `cursor-agent acp`. That's the CLI, not the Cursor editor.
- → **Does OpenCode support ACP?** Yes, natively: `opencode acp`.
- → **Does Zed support ACP?** Yes. Zed is an ACP **client**: it runs agents rather than being one. Zed created the protocol, and any agent in the table below can run inside it.

![ACP support list: Claude Code, Codex CLI and Pi use adapters; Gemini CLI, Cursor, OpenCode and Copilot CLI are native; Zed is an ACP client](https://agentrq.com/assets/blog/which-coding-agents-support-acp-og.png)

## The ACP Support Table

The table covers 33 agents. Most rows come from the [ACP registry](https://github.com/agentclientprotocol/registry), the public list of ACP agents, as of October 2026. Every row links to that agent's ACP setup page in our docs.

- → **Native** means the agent's own makers ship its ACP mode, as a flag, a subcommand, or a separate ACP build or package of their own (Antigravity, Mistral Vibe, DeepAgents, fast-agent and Autohand Code ship it that way).
- → **Adapter** means a separate bridge package wraps an agent that doesn't speak ACP itself. Claude Code and Codex use adapters maintained by the ACP project. Pi and Amp use community adapters.
- → **ACP command** is what actually starts the agent in ACP mode. You rarely type it yourself, because an ACP client runs it for you.
- → **Registry id** is the agent's name in the ACP registry. Start the agent with AgentRQ's [ACP Gateway](https://agentrq.com/docs/connect-acp-agent) by passing it as `--agent <id>`.

| Agent | ACP support | ACP command | Registry id |
| --- | --- | --- | --- |
| [Claude Code (Claude Agent)](https://agentrq.com/docs/agents/claude-agent) | Adapter | `npx @agentclientprotocol/claude-agent-acp` | `claude-acp` |
| [Codex CLI](https://agentrq.com/docs/agents/codex-cli) | Adapter | `npx @agentclientprotocol/codex-acp` | `codex-acp` |
| [Gemini CLI](https://agentrq.com/docs/agents/gemini-cli) | Native | `gemini --acp` | `gemini` |
| [Cursor](https://agentrq.com/docs/agents/cursor) | Native | `cursor-agent acp` | `cursor` |
| [OpenCode](https://agentrq.com/docs/agents/opencode) | Native | `opencode acp` | `opencode` |
| [GitHub Copilot CLI](https://agentrq.com/docs/agents/github-copilot) | Native | `npx @github/copilot --acp` | `github-copilot-cli` |
| [Google Antigravity](https://agentrq.com/docs/agents/antigravity) | Native | `agy_acp_server.par` | `antigravity-acp` |
| [Pi coding agent](https://agentrq.com/docs/agents/pi) | Adapter (community) | `npx pi-acp` | `pi-acp` |
| [Amp](https://agentrq.com/docs/agents/amp) | Adapter (community) | `amp-acp` | `amp-acp` |
| [goose](https://agentrq.com/docs/agents/goose) | Native | `goose acp` | `goose` |
| [Junie](https://agentrq.com/docs/agents/junie) | Native | `junie --acp=true` | `junie` |
| [Cline](https://agentrq.com/docs/agents/cline) | Native | `npx cline --acp` | `cline` |
| [Kilo](https://agentrq.com/docs/agents/kilo) | Native | `npx @kilocode/cli acp` | `kilo` |
| [Qwen Code](https://agentrq.com/docs/agents/qwen-code) | Native | `npx @qwen-code/qwen-code --acp` | `qwen-code` |
| [Kimi CLI](https://agentrq.com/docs/agents/kimi-cli) | Native | `kimi acp` | `kimi` |
| [Mistral Vibe](https://agentrq.com/docs/agents/mistral-vibe) | Native | `vibe-acp` | `mistral-vibe` |
| [Augment Code (Auggie)](https://agentrq.com/docs/agents/augment-code) | Native | `npx @augmentcode/auggie --acp` | `auggie` |
| [Factory Droid](https://agentrq.com/docs/agents/factory-droid) | Native | `droid exec --output-format acp-daemon` | `factory-droid` |
| [Devin](https://agentrq.com/docs/agents/devin) | Native | `devin acp` | `devin` |
| [Grok Build](https://agentrq.com/docs/agents/grok-build) | Native | `npx @xai-official/grok agent stdio` | `grok-build` |
| [Qoder CLI](https://agentrq.com/docs/agents/qoder-cli) | Native | `npx @qoder-ai/qodercli --acp` | `qoder` |
| [Codebuddy Code](https://agentrq.com/docs/agents/codebuddy-code) | Native | `npx @tencent-ai/codebuddy-code --acp` | `codebuddy-code` |
| [Poolside](https://agentrq.com/docs/agents/poolside) | Native | `pool acp` | `poolside` |
| [Cortex Code](https://agentrq.com/docs/agents/cortex-code) | Native | `cortex acp serve` | `cortex-code` |
| [DeepAgents](https://agentrq.com/docs/agents/deepagents) | Native | `npx deepagents-acp` | `deepagents` |
| [fast-agent](https://agentrq.com/docs/agents/fast-agent) | Native | `uvx fast-agent-acp` | `fast-agent` |
| [Autohand Code](https://agentrq.com/docs/agents/autohand-code) | Native | `npx @autohandai/autohand-acp` | `autohand` |
| [VT Code](https://agentrq.com/docs/agents/vt-code) | Native | `vtcode acp` | `vtcode` |
| [Stakpak](https://agentrq.com/docs/agents/stakpak) | Native | `stakpak acp` | `stakpak` |
| [Hermes Agent](https://agentrq.com/docs/agents/hermes-agent) | Native | `hermes acp` | not listed |
| [OpenHands](https://agentrq.com/docs/agents/openhands) | Native | `openhands acp` | not listed |
| [OpenClaw](https://agentrq.com/docs/agents/openclaw) | Native | `openclaw acp` | not listed |
| [Raxol](https://agentrq.com/docs/agents/raxol) | Native | `raxol acp` | not listed |

The registry lists 41 agents in all, and the [ACP agents directory](https://agentrq.com/docs/agents) has a page for more than 50. For an agent with a registry id, the gateway downloads and runs it for you. For one that isn't listed, install it yourself and pass its ACP command after `--`, for example `-- hermes acp`.

## What ACP Is

The [Agent Client Protocol](https://agentrq.com/blog/acp-agent-client-protocol) (ACP) is an open standard for how a coding agent talks to the program that runs it. The client starts the agent as a child process and they exchange JSON-RPC messages over stdin and stdout. The client sends prompts. The agent streams back its plan, the files it edits and the commands it wants to run, and it asks the client for permission before risky steps.

It does for coding agents what the Language Server Protocol did for language tooling. An agent that supports ACP once works in every ACP client, and a client that supports ACP once can run every ACP agent. No one has to build a separate plugin for each pair.

ACP and MCP do different jobs. MCP gives an agent tools and data. ACP connects the agent to the person or program directing it. Most agents use both.

## ACP Clients vs. ACP Agents

Each side of an ACP connection has its own role:

- → **ACP agents** do the coding work: Gemini CLI, Codex, Claude Agent, Cursor's CLI, OpenCode and everything else in the table above.
- → **ACP clients** start agents, show their output and approve their actions. Zed is the best-known client. JetBrains IDEs, Neovim plugins such as CodeCompanion and avante.nvim, and Emacs's agent-shell are clients too.

AgentRQ's [ACP Gateway](https://agentrq.com/docs/connect-acp-agent) is also an ACP client. Unlike an editor, it doesn't need you at a keyboard: it takes the agent's work from a task board instead.

## Connect Any of These Agents to AgentRQ

The ACP Gateway is a small open-source bridge. On one side it runs an ACP agent. On the other it connects to your AgentRQ [workspace](https://agentrq.com/features/workspace). Every task you assign on the [task board](https://agentrq.com/features/task-board) goes to the agent, and every permission request the agent makes comes back to you. You can answer from the dashboard or Slack, without opening the terminal the agent runs in.

Save your workspace's `.mcp.json` in your project root:

json

```json
{
  "mcpServers": {
    "agentrq": {
      "type": "http",
      "url": "https://WORKSPACE_ID.mcp.agentrq.com/mcp?token=TOKEN"
    }
  }
}
```

Log in once. The first run also downloads the agent:

bash

```bash
npx @agentrq/acp-gateway@latest --login --agent gemini
```

Then start the bridge and leave it running:

bash

```bash
npx @agentrq/acp-gateway@latest --agent gemini
```

To use a different agent, replace `gemini` with any registry id from the table. For an agent that isn't in the registry, put its own ACP command after `--`, for example `npx @agentrq/acp-gateway@latest -- hermes acp`. For a full walkthrough with one agent, see [connecting Google Antigravity step by step](https://agentrq.com/blog/connect-antigravity-agentrq). The gateway can also [list every agent and model your machine can run](https://agentrq.com/blog/how-acp-gateway-discovers-acp-compatible-agents-and-their-models).

What this unlocks: the agent you already prefer, whichever one it is, can work through a queue of tasks while you're away from your desk. When it reaches a decision only you can make, it waits for you instead of guessing. You can also run several agents side by side, each in its own workspace, and supervise all of them from one board.

Using Claude Code itself rather than the Claude Agent adapter? It doesn't need the gateway. It connects to AgentRQ directly over MCP. See [Connect Claude Code](https://agentrq.com/docs/connect-claude-code).

## FAQ

**Does Claude Code support ACP?**

Not natively. Claude Code runs over ACP through the Claude Agent adapter, `@agentclientprotocol/claude-agent-acp` (registry id `claude-acp`). Zed and other ACP clients, including AgentRQ's gateway, use that adapter.

**Does Codex support ACP?**

Yes, through the `@agentclientprotocol/codex-acp` adapter. It wraps Codex and serves it as a standard ACP agent.

**Is Zed an ACP agent or an ACP client?**

A client. Zed runs ACP agents, such as Gemini CLI, Claude Agent and Codex, inside the editor.

**What is the difference between a native and an adapter ACP agent?**

A native agent's own makers ship its ACP mode, for example `gemini --acp` or `opencode acp`. An adapter is a separate package that translates for an agent that doesn't speak ACP itself, for example `codex-acp` or `pi-acp`.

**How do I connect an ACP agent to AgentRQ?**

Save your workspace's `.mcp.json` in your project root, then run `npx @agentrq/acp-gateway@latest --agent <registry-id>`. Add `--login` the first time.
