https://github.com/beyond5959/acp-adapter
Bridging Codex & Claude Code to Agent Client Protocol (ACP) with Go.
https://github.com/beyond5959/acp-adapter
acp agent-client-protocol claude-code codex codex-cli
Last synced: 12 days ago
JSON representation
Bridging Codex & Claude Code to Agent Client Protocol (ACP) with Go.
- Host: GitHub
- URL: https://github.com/beyond5959/acp-adapter
- Owner: beyond5959
- License: mit
- Created: 2026-02-26T09:51:12.000Z (29 days ago)
- Default Branch: master
- Last Pushed: 2026-03-11T09:00:49.000Z (16 days ago)
- Last Synced: 2026-03-11T15:42:38.076Z (16 days ago)
- Topics: acp, agent-client-protocol, claude-code, codex, codex-cli
- Language: Go
- Homepage:
- Size: 2.46 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# ACP adapter for Codex & Claude Code
[](https://github.com/beyond5959/acp-adapter/actions)
[](LICENSE)
[](https://go.dev)
[](https://goreportcard.com/report/github.com/beyond5959/acp-adapter)

`acp-adapter` is a Go ACP(Agent Client Protocol) adapter that lets ACP clients drive **Codex** and **Claude Code** over the [ACP protocol](https://agentclientprotocol.com/).
## Usage Modes
This component supports two integration models:
| Mode | Use Case | Entry Point |
|------|----------|-------------|
| **Standalone** (process) | Configure a binary in Zed or other ACP clients | [`cmd/acp`](./cmd/acp) |
| **Library** (embedded) | Host ACP runtime inside your Go service | [`pkg/codexacp`](./pkg/codexacp) [`pkg/claudeacp`](./pkg/claudeacp) |
## Standalone Usage
### Installation
```bash
curl -sSL https://raw.githubusercontent.com/beyond5959/acp-adapter/master/install.sh | sh
```
### Quick Start
```bash
# Codex backend (default)
acp-adapter --adapter codex
# Claude backend
acp-adapter --adapter claude
```
### ACP Client Config
```json
{
"agent_servers": {
"acp-adapter": {
"command": "/usr/local/bin/acp-adapter",
"args": ["--adapter", "codex"]
}
}
}
```
## Library Usage
```go
import "github.com/beyond5959/acp-adapter/pkg/codexacp"
// Stdio mode
cfg := codexacp.DefaultRuntimeConfig()
err := codexacp.RunStdio(ctx, cfg, os.Stdin, os.Stdout, os.Stderr)
// Embedded mode
rt := codexacp.NewEmbeddedRuntime(cfg)
rt.Start(ctx)
defer rt.Close()
resp, err := rt.ClientRequest(ctx, msg)
```
Use `pkg/claudeacp` for Claude backend—the API is identical.