claude-code icon indicating copy to clipboard operation
claude-code copied to clipboard

Feature Request: Add support for Agent Client Protocol (ACP)

Open coygeek opened this issue 4 months ago • 30 comments

Title: Feature Request: Add support for Agent Client Protocol (ACP)

Is your feature request related to a problem? Please describe.

Claude Code is a powerful agentic coding assistant, but its usage is currently focused on its dedicated terminal REPL and specific IDE integrations. This requires bespoke integration work to expand its reach to other development environments.

With the recent launch of the Agent Client Protocol (ACP) by Zed Industries, a new open standard for communication between code editors and AI agents is emerging. Without supporting this standard, Claude Code may miss the opportunity to be easily integrated into a growing ecosystem of ACP-compatible editors, limiting its potential user base.

Describe the solution you'd like

I propose that Claude Code implements the server-side of the Agent Client Protocol, allowing it to function as an ACP Agent.

This would enable any ACP-compatible client (like the Zed editor or Neovim via the CodeCompanion plugin) to use Claude Code as its backend agent. This would drastically increase Claude Code's accessibility and interoperability with other developer tools.

A potential implementation could be a new CLI command, similar to the existing claude mcp serve:

claude acp serve

This command would start Claude Code in a mode that listens for and responds to ACP requests over stdio, as defined by the protocol specification.

Describe alternatives you've considered

The alternative is to continue building and maintaining custom integrations for each new editor or IDE. While this allows for tightly integrated features, it's less scalable and doesn't leverage the network effects of an open standard. The community would also have a much harder time integrating Claude Code into their preferred tools.

Additional context

The Agent Client Protocol (ACP) is an open standard designed to be the "Language Server Protocol (LSP) for AI agents." It standardizes communication for common agentic tasks.

Key features of the protocol that align well with Claude Code's capabilities include:

  • JSON-RPC over stdio: A familiar and robust communication method.
  • Session Management: Handles creating, loading, and managing distinct conversations.
  • Tool Calls & Permissions: A structured way for the agent to report tool usage and request user permission, which maps well to Claude Code's existing security model.
  • File System Access: Defined methods for the agent to read/write files via the client.
  • Agent Planning: A mechanism for the agent to communicate its step-by-step plan to the client UI.

Early adopters like Google's Gemini CLI have already implemented ACP support. By joining them, Anthropic can position Claude Code as a leader in the open, interoperable AI agent ecosystem. This feature would be a massive win for developers who want to use Claude Code's power within their editor of choice.

Thank you for considering this important feature request

coygeek avatar Aug 27 '25 21:08 coygeek

Here's a 4 minute video demo of Google Gemini CLI (already supported by this protocol) working inside Zed: https://x.com/donvito/status/1960776307052306537

Zed's blog announcement: https://zed.dev/blog/bring-your-own-agent-to-zed

Google's blog announcement: https://developers.googleblog.com/en/gemini-cli-is-now-integrated-into-zed/

More agents coming soon!

coygeek avatar Aug 28 '25 03:08 coygeek

Here's a 4 minute video demo of Google Gemini CLI (already supported by this protocol) working inside Zed: https://x.com/donvito/status/1960776307052306537

Zed's blog announcement: https://zed.dev/blog/bring-your-own-agent-to-zed

Google's blog announcement: https://developers.googleblog.com/en/gemini-cli-is-now-integrated-into-zed/

More agents coming soon!

https://github.com/Xuanwo/acp-claude-code

Difocd avatar Aug 28 '25 06:08 Difocd

I made one too, just for fun, https://github.com/szhongren/claude-code-acp, I'm working on reverse engineering the permissions thing, that's the last big piece

szhongren avatar Aug 29 '25 05:08 szhongren

See https://www.npmjs.com/package/@zed-industries/claude-code-acp

ozanmakes avatar Aug 29 '25 07:08 ozanmakes

See https://www.npmjs.com/package/@zed-industries/claude-code-acp

Just FYI seeing as the readme sucks, I got this working by:

  1. Make a new empty node project + npm init
  2. Install it npm i @zed-industries/claude-code-acp
  3. do a config like
  "agent_servers": {
    "claude-code-acp": {
      "command": "node",
      "args": [
        "~/workspace/zed-industries/zed-acp/node_modules/@zed-industries/claude-code-acp/dist/index.js"
      ],
      "env": {}
    }
  },

Though hopefully it'll get official ACP support soon.

radiosilence avatar Aug 29 '25 09:08 radiosilence

Is that an official NPM from the Zed team? I wonder what they feel about using @zed-industries if it's not..

maxekman avatar Aug 29 '25 10:08 maxekman

Image

See https://www.npmjs.com/package/@zed-industries/claude-code-acp

Just FYI seeing as the readme sucks, I got this working by:

  1. Make a new empty node project + npm init
  2. Install it npm i @zed-industries/claude-code-acp
  3. do a config like

"agent_servers": { "claude-code-acp": { "command": "node", "args": [ "~/workspace/zed-industries/zed-acp/node_modules/@zed-industries/claude-code-acp/dist/index.js" ], "env": {} } }, Though hopefully it'll get official ACP support soon.

This works fine until I send a message. I can see in the logs that it does start the ACP agent and initializes a session but prompt command results in the process crashing. @radiosilence do you know if they've changed something recently? Is there an Zed official Github thread where this is being talked about?

RaeesBhatti avatar Aug 29 '25 11:08 RaeesBhatti

Some activity in the main Zed repo of what looks like official, native support: https://github.com/zed-industries/zed/blob/main/crates/agent_servers/src/claude.rs

maxekman avatar Aug 29 '25 11:08 maxekman

I got this working using https://www.npmjs.com/package/@zed-industries/claude-code-acp

npm i -g @zed-industries/claude-code-acp

Then in your zed config add:

"agent_servers": {
    "claude-code-acp": {
      "command": "claude-code-acp"
    }
  }

You should see it in the list now:

Image

Edit: There are still some bugs when adding files as context such as "Prompt is too long", but it seems somewhat stable.

scotteveritt avatar Aug 29 '25 16:08 scotteveritt

Image

Is it still stable?

imadaitelarabi avatar Aug 29 '25 22:08 imadaitelarabi

It's pretty broken, until they update, you can:

  1. Run which node, this will give you something like /path/to/node/installation/bin/node
  2. Go to /path/to/node/installation/lib/node_modules/@zed-industries/claude-code-acp/node_modules/@anthropic-ai/claude-code/sdk.mjs:6515
  3. This line will look like return join(dirname, "entrypoints", "cli.js");, change to return join(dirname, "claude-code", "cli.js");
  4. Works until you reinstall with npm i -g @zed-industries/claude-code-acp

This is only changing the code in the claude-code-acp installation, so won't affect your own Claude Code

or use mine in the meantime, it's hacky and dumb but should work

szhongren avatar Aug 30 '25 02:08 szhongren

It's pretty broken, until they update, you can:

1. Run `which node`, this will give you something like `/path/to/node/installation/bin/node`

2. Go to `/path/to/node/installation/lib/node_modules/@zed-industries/claude-code-acp/node_modules/@anthropic-ai/claude-code/sdk.mjs:6515`

3. This line will look like `return join(dirname, "entrypoints", "cli.js");`, change to `return join(dirname, "claude-code", "cli.js");`

4. Works until you reinstall with `npm i -g @zed-industries/claude-code-acp`

This is only changing the code in the claude-code-acp installation, so won't affect your own Claude Code

or use mine in the meantime, it's hacky and dumb but should work

Nice work, but this seem like an issue with @anthropic-ai/claude-code rather than @zed-industries/claude-code-acp as the folder has changed from entrypoints to claude-code .

I have opened a bug report on that - https://github.com/anthropics/claude-code/issues/6867

abishekmuthian avatar Aug 30 '25 09:08 abishekmuthian

Works with this temporary fix, Thanks

imadaitelarabi avatar Aug 30 '25 10:08 imadaitelarabi

No need for temporary fix anymore.

Confirmed working in Claude Code version 1.0.100. You should be able to follow This Comment now.

scotteveritt avatar Sep 02 '25 14:09 scotteveritt

This seems pretty half-baked to me. the output in the agent panel isn't consistent at all. stuff is truncated sometimes but not others. i don't see full history. not access to slash commands. this is not useable at all imo.

cs2018ncsa avatar Sep 02 '25 19:09 cs2018ncsa

would love official support for this! Seems like a slam dunk in terms of getting more adoption.

medoror-mo avatar Sep 02 '25 22:09 medoror-mo

Still need some tweaking, currently terminal runs are executed by the agent without asking for permission

imadaitelarabi avatar Sep 02 '25 22:09 imadaitelarabi

For me, it gets stuck with "Loading..." title and I can't send a message.

Image

RaeesBhatti avatar Sep 03 '25 00:09 RaeesBhatti

I think you're not configure it right

On Wed, Sep 3, 2025 at 1:50 AM Raees Iqbal @.***> wrote:

RaeesBhatti left a comment (anthropics/claude-code#6686) https://github.com/anthropics/claude-code/issues/6686#issuecomment-3247265927

For me, it gets stuck with "Loading..." title and I can't send a message. Screenshot.2025-09-02.at.8.48.38.PM.png (view on web) https://github.com/user-attachments/assets/7ac40588-be8e-48c4-bafe-6af537269ab9

— Reply to this email directly, view it on GitHub https://github.com/anthropics/claude-code/issues/6686#issuecomment-3247265927, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWXXB7MC62QEZG2RS2TVUD33QY3MNAVCNFSM6AAAAACE7PAGZCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTENBXGI3DKOJSG4 . You are receiving this because you commented.Message ID: @.***>

imadaitelarabi avatar Sep 03 '25 08:09 imadaitelarabi

Hey, Agus from Zed here!

We've just published a new version of Zed, featuring a built-in Claude Code integration, now in public beta! This integration is powered by our ACP adapter (that some of you already found), which is now open source, allowing you to use it with other ACP clients, such as CodeCompanion for Neovim.

You can read more about it in the announcement post! We’d love your feedback on both the adapter and the Zed experience.

We’re excited to continue evolving the Agent Client Protocol and add more capabilities as the Claude Code SDK grows. Let the Anthropic team know if you'd like native support with no adapters! :wink:

agu-z avatar Sep 03 '25 16:09 agu-z

We’re excited to continue evolving the Agent Client Protocol and add more capabilities as the Claude Code SDK grows. Let the Anthropic team know if you'd like native support with no adapters! 😉

So far so good! Ty!

jnascimentoo avatar Sep 03 '25 16:09 jnascimentoo

i love this so much. i drifted away from Zed in favor of Claude Code over last few months. i still used Zed to review code and make pretty small changes but use was minimal. This integration feels so perfect. Thank you!

cs2018ncsa avatar Sep 03 '25 16:09 cs2018ncsa

Hello everyone,

I'm happy to report that my original feature request for Agent Client Protocol (ACP) support has now been effectively solved, thanks to a new official release from the Zed Industries team!

For anyone following this issue, Zed has just announced an official ACP adapter for Claude Code:

https://github.com/zed-industries/claude-code-acp

When I initially opened this issue, I was imagining one of two ways this integration could be implemented. It's useful to explain both, because the approach Zed took is a fantastic example of how a powerful SDK can empower the community.

Approach 1: Native Integration (What I originally requested)

  • How it would work: The Anthropic team would need to modify the core claude code product to natively "speak" the ACP language.
  • The challenge: This would place the maintenance burden directly on the Anthropic team to track and implement a third-party protocol.

Approach 2: SDK + Adapter (The solution Zed implemented)

  • How it works: Anthropic provides a powerful and stable SDK that acts as a clean API for controlling claude code. The Zed team used this official SDK to build their own lightweight adapter.
  • The result: This adapter is a perfect "bridge" or translator. It receives instructions from the Zed editor in the ACP language and translates them into commands that the Claude Code SDK understands.

This is the ideal outcome. Anthropic can focus on making the core claude code agent as powerful as possible, while editor teams like Zed can build their own integrations without waiting for native support.

Crucially, because this adapter is just a wrapper around the official tool, it inherits all of its core features, including the flexible authentication methods (Claude.ai subscription, API key, Bedrock/Vertex AI).

Hopefully this explanation is helpful for anyone else who was wondering about ACP integration

coygeek avatar Sep 03 '25 16:09 coygeek

Native ACP support in Claude Code would still be a good thing, since it would eliminate the 'lost in translation' errors.

dwt avatar Sep 04 '25 10:09 dwt

I still think the original native support in Claude Code would be better.

radiosilence avatar Sep 04 '25 10:09 radiosilence

The problem runs deeper. The Claude Code SDKs on offer do not even have feature parity with the Claude Code interactive CLI. Many in built /commands are not available in any of the SDKs. In order to support ACP the SDKs need to be feature complete.

Here's hoping Anthropic has a big, bold release waiting in their back pocket because first-to-market can only take you so far. Open source tooling (Opencode, Crush, CodeCompanion.nvim, etc.) and competing frameworks (Codex, Augment Code, etc.) already offer better UI/UX. Once they reach feature parity with Claude Code the migration will be swift and relentless.

kylesnowschwartz avatar Sep 05 '25 02:09 kylesnowschwartz

Zed is fast as fuk, Intellij is my home. they both work on ACP. do it Anthropic, or I'll need to cancel that $200/month payment.

tudorluca avatar Oct 06 '25 17:10 tudorluca

do it Anthropic, or I'll need to cancel that $200/month payment.

Quelaan1 avatar Oct 07 '25 16:10 Quelaan1

This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.

github-actions[bot] avatar Dec 08 '25 10:12 github-actions[bot]

Ya’ll should publish your own acp adaptor and not rely on Zed

kylesnowschwartz avatar Dec 08 '25 10:12 kylesnowschwartz