Protocol
ACP
Type
Server
Stars
2.7k
License
Apache-2.0
Last push
Nov 8, 2026
Source
Official

Claude Agent ACP ACP server

by agentclientprotocol• 2.7k•
ACPServerTypeScript

Adapter that lets ACP clients use the Claude Agent SDK

About Claude Agent ACP

Claude Agent ACP is an open-source ACP server by agentclientprotocol, written mainly in TypeScript. Adapter that lets ACP clients use the Claude Agent SDK. It has 2,735 GitHub stars and uses the Apache-2.0 license, and its code was last pushed on Nov 8, 2026.

New to ACP? Our ACP Protocol guide explains how it works and lists other projects built on it.

At a glance

Protocol
ACP
Type
Server
Language
TypeScript
License
Apache-2.0
GitHub stars
2,735
Last push
Nov 8, 2026
Latest release
@agentclientprotocol/claude-agent-acp 0.107.0
Released
Nov 13, 2026

Listed from public GitHub data, checked 2026-11-08. Not scanned by AgenticMart.

Questions about Claude Agent ACP

What is Claude Agent ACP?

Adapter that lets ACP clients use the Claude Agent SDK It is listed as a ACP server, maintained in the agentclientprotocol/claude-agent-acp repository on GitHub.

How do I install Claude Agent ACP?

The project's README gives this command: npm install @agentclientprotocol/claude-agent-acp@preview. Read the README for setup steps and requirements before running it.

Is Claude Agent ACP an official ACP project?

Yes. It is published by the organisation that runs ACP or by its official project.

What license does Claude Agent ACP use?

It is published under the Apache-2.0 license. Check the license file in the repository before using it commercially.

Is Claude Agent ACP still maintained?

Its code was last pushed on Nov 8, 2026, and it had 2,735 GitHub stars when we checked on 2026-11-08. Look at recent issues and releases in the repository for a fuller picture.

README

ACP adapter for the Claude Agent SDK

npm

Use Claude Agent SDK from ACP-compatible clients!

This tool implements an ACP agent by using the official Claude Agent SDK, supporting:

  • Context @-mentions
  • Images
  • Tool calls (with permission requests)
  • Compact file changes through the negotiated AIR diff patch extension
  • Following
  • Edit review
  • TODO lists
  • Nested subagent transcripts
  • Interactive (and background) terminals
  • Custom Slash commands
  • Client MCP servers
  • An Ultracode session config option, which turns on Claude Code's dynamic workflows for every task. It appears when dynamic workflows are enabled and the model supports ultracode (any model with xhigh effort)
  • /mcp in the chat: the MCP server status as a list. The adapter runs /mcp reconnect, /mcp enable, and /mcp disable through the SDK control API, because Claude Code refuses them in SDK mode. A reconnect of an ACP server that needs authentication starts MCP OAuth through URL elicitation
  • Session-scoped long-running goals for AIR through the goal extension under _meta.jetbrains.air.goal
  • Structured errors, recovery, and warnings through the opt-in session failure extension
  • Concrete model and effort defaults through the opt-in recommended config value extension
  • Tool permission presentation, editable choices, and durable effects through the permission extension
  • One fact per field in every tool call report, as the ACP tool call contract defines
  • All AIR extensions, capabilities, and _meta keys: AIR extensions

Learn more about the Agent Client Protocol.

To try changes that have landed on main but are not released yet, install from the preview channel — every push to main publishes one. See docs/RELEASES.md.

npm install @agentclientprotocol/claude-agent-acp@preview

Standalone executables

Each release attaches archives for Linux (glibc and musl), macOS and Windows, on x64 and arm64, to its GitHub release. They need no Node.js install. Each holds two files: claude-agent-acp, and the Claude CLI (claude) it runs. Keep them in the same directory; a symlink to claude-agent-acp elsewhere works. To use a Claude CLI you already have instead, set CLAUDE_CODE_EXECUTABLE. On Alpine, install libgcc and libstdc++ first.

To build one for your machine (needs Bun) and check it:

npm run build:binary
npm run smoke:binary            # add `-- --full` to drive a real session; needs a Claude login

Experimental ACP v2

The adapter also serves the draft ACP v2: a client that asks for protocol version 2 or later in initialize gets v2, and every other client gets v1. The draft can still change, and this surface changes with it.

CLAUDE_AGENT_ACP_PROTOCOL limits the adapter to one version. With v1, a client that asks for v2 is negotiated down to v1. With v2, the adapter rejects the initialize of a v1 client. auto, the default, serves both.

On v2 the adapter serves the session baseline (session/new, session/list, session/resume with replay, session/close, session/prompt, session/cancel), session/delete, session/fork, session/status, session/options (with initial configOptions on session/new and session/resume), session/set_title, additional directories, config options (the mode is one), plans, notices, compaction, display terminals for commands, permission requests, elicitation, providers, auth, and subagents. Steering is v1 only for now.

v2 is served by the v2 agent in src/v2/, which runs straight on Claude Code instead of translating to v1. A v2 client that declares JetBrains AIR (_meta.jetbrains.air) also gets the AIR extensions that ACP v2 does not cover.

Contribution Policy

This project does not require a Contributor License Agreement (CLA). Instead, contributions are accepted under the following terms:

By contributing to this project, you agree that your contributions will be licensed under the Apache License, Version 2.0. You affirm that you have the legal right to submit your work, that you are not including code you do not have rights to, and that you understand contributions are made without requiring a Contributor License Agreement (CLA).

More ACP projects

All 20 →