Human-in-the-Loop Task Manager for AI Agents
Back to 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.
  • → 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

The ACP Support Table

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

The registry lists 41 agents in all, and the ACP agents directory 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 (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 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. Every task you assign on the 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
{
  "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
npx @agentrq/acp-gateway@latest --login --agent gemini

Then start the bridge and leave it running:

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. The gateway can also list every agent and model your machine can run.

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.

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.

Start Free