- Protocol
- ACP
- Type
- SDK
- Stars
- 270
- License
- Apache-2.0
- Last push
- Nov 7, 2026
- Source
- Official
About ACP TypeScript SDK
ACP TypeScript SDK is an open-source ACP SDK by agentclientprotocol, written mainly in TypeScript. TypeScript SDK for ACP clients and agents. It has 270 GitHub stars and uses the Apache-2.0 license, and its code was last pushed on Nov 7, 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
- SDK
- Language
- TypeScript
- License
- Apache-2.0
- GitHub stars
- 270
- Last push
- Nov 7, 2026
- Latest release
- @agentclientprotocol/sdk 2.6.0
- Released
- Nov 10, 2026
Listed from public GitHub data, checked 2026-11-08. Not scanned by AgenticMart.
Questions about ACP TypeScript SDK
What is ACP TypeScript SDK?
TypeScript SDK for ACP clients and agents It is listed as a ACP SDK, maintained in the agentclientprotocol/typescript-sdk repository on GitHub.
How do I install ACP TypeScript SDK?
The project's README gives this command: npm install @agentclientprotocol/sdk. Read the README for setup steps and requirements before running it.
Is ACP TypeScript SDK an official ACP project?
Yes. It is published by the organisation that runs ACP or by its official project.
What license does ACP TypeScript SDK use?
It is published under the Apache-2.0 license. Check the license file in the repository before using it commercially.
Is ACP TypeScript SDK still maintained?
Its code was last pushed on Nov 7, 2026, and it had 270 GitHub stars when we checked on 2026-11-08. Look at recent issues and releases in the repository for a fuller picture.
README
ACP TypeScript Library
The official TypeScript implementation of the Agent Client Protocol (ACP) — a standardized communication protocol between code editors and AI-powered coding agents.
Learn more at https://agentclientprotocol.com
Installation
npm install @agentclientprotocol/sdk
Choose a protocol entrypoint
| Import | Provides |
|---|---|
@agentclientprotocol/sdk | Stable ACP v1 (default) |
@agentclientprotocol/sdk/unstable | Stable v1 plus unstable features |
@agentclientprotocol/sdk/experimental/v2 | Stable features of the v2 draft |
@agentclientprotocol/sdk/experimental/v2/unstable | Full v2 draft, including unstable features |
Each /unstable entrypoint includes the stable features for its protocol
version, plus additions that may change or be removed in any SDK release. Use
one entrypoint consistently for an app, its protocol types, and method constants.
Directly connected in-process app pairs must use the same entrypoint.
Selecting an unstable entrypoint does not automatically advertise feature support or establish peer support: advertise and check capabilities before using them.
Upgrading an existing integration? If you use unstable features, update your protocol imports even if your application still compiles. Read the migration guide for the upgrade checklist, versioned JSON schema paths, and legacy-server changes.
Experimental ACP v2
Warning: Both v2 entrypoints remain experimental. "Stable" describes the selected feature set, not a stability guarantee for the v2 protocol or SDK API. The v2 wire protocol and these SDK APIs may change incompatibly in any release.
The default SDK import remains ACP v1. To select the stable features of the v2 draft, use:
import * as acp from "@agentclientprotocol/sdk/experimental/v2";
Browse the experimental v2 TypeScript API reference and the draft ACP v2 protocol documentation for the current SDK and protocol designs.
In v2, the extensible unions (SessionUpdate, ContentBlock, and so on) also
accept variants this SDK does not know, such as ones added by a newer ACP
version. Only received values can be such an UnknownVariant, so a value you
build is checked field by field at any depth, and a custom variant needs a tag
that starts with _. Received values pass on unchanged, for example when an
agent echoes a prompt's content into its user message.
Get Started
Understand the Protocol
Start by reading the official ACP documentation to understand the core concepts and protocol specification.
Try the Examples
The examples directory contains simple implementations of both Agents and Clients in TypeScript. These examples can be run from your terminal or from an ACP Client like Zed, making them great starting points for your own integration!
Explore the API
Browse the TypeScript library reference for detailed API documentation.
If you're building an Agent, start with agent({ name }), register handlers with onRequest(methods.agent.initialize, handler) and the other method constants, then call connect(stream).
If you're building a Client, start with client({ name }), register client-side handlers with onRequest(...) and onNotification(...), then run your agent workflow with connectWith(stream, async (ctx) => ...). Call the peer with ctx.request(methods.agent.session.new, params) and the other method constants.
Study a Production Implementation
For a complete, production-ready implementation, check out the Gemini CLI Agent.
Resources
Contributing
See the main repository for contribution guidelines.
License
By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.
More ACP projects
All 20 →Agent Client Protocol
Specification, schema and Rust crate for connecting editors to agents
Claude Agent ACP
Adapter that lets ACP clients use the Claude Agent SDK
Codex ACP
ACP server that exposes Codex CLI to ACP clients