Feature Request: Add support for Agent Client Protocol (ACP)
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.
- Official Website: agentclientprotocol.com
- GitHub Repository & Spec: github.com/zed-industries/agent-client-protocol
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
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!
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
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
See https://www.npmjs.com/package/@zed-industries/claude-code-acp
See https://www.npmjs.com/package/@zed-industries/claude-code-acp
Just FYI seeing as the readme sucks, I got this working by:
- Make a new empty node project + npm init
- Install it
npm i @zed-industries/claude-code-acp - 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.
Is that an official NPM from the Zed team? I wonder what they feel about using @zed-industries if it's not..
See https://www.npmjs.com/package/@zed-industries/claude-code-acp
Just FYI seeing as the readme sucks, I got this working by:
- Make a new empty node project + npm init
- Install it
npm i @zed-industries/claude-code-acp- 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?
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
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:
Edit: There are still some bugs when adding files as context such as "Prompt is too long", but it seems somewhat stable.
Is it still stable?
It's pretty broken, until they update, you can:
- Run
which node, this will give you something like/path/to/node/installation/bin/node - Go to
/path/to/node/installation/lib/node_modules/@zed-industries/claude-code-acp/node_modules/@anthropic-ai/claude-code/sdk.mjs:6515 - This line will look like
return join(dirname, "entrypoints", "cli.js");, change toreturn join(dirname, "claude-code", "cli.js"); - 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
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
Works with this temporary fix, Thanks
No need for temporary fix anymore.
Confirmed working in Claude Code version 1.0.100. You should be able to follow This Comment now.
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.
would love official support for this! Seems like a slam dunk in terms of getting more adoption.
Still need some tweaking, currently terminal runs are executed by the agent without asking for permission
For me, it gets stuck with "Loading..." title and I can't send a message.
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: @.***>
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:
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!
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!
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 codeproduct 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
Native ACP support in Claude Code would still be a good thing, since it would eliminate the 'lost in translation' errors.
I still think the original native support in Claude Code would be better.
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.
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.
do it Anthropic, or I'll need to cancel that $200/month payment.
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.
Ya’ll should publish your own acp adaptor and not rely on Zed