| Crates.io | claude-code-acp-rs |
| lib.rs | claude-code-acp-rs |
| version | 0.1.18 |
| created_at | 2026-01-08 07:32:28.671243+00 |
| updated_at | 2026-01-22 05:09:03.77537+00 |
| description | Use Claude Code from any ACP client - A Rust implementation of Claude Code ACP Agent |
| homepage | https://github.com/soddygo/claude-code-acp-rs |
| repository | https://github.com/soddygo/claude-code-acp-rs |
| max_upload_size | |
| id | 2029701 |
| size | 1,124,252 |
A Rust implementation of Claude Code ACP Agent. Use Claude Code from any ACP-compatible client such as Zed!
This is an alternative to the official TypeScript implementation (@zed-industries/claude-code-acp).
# Install the rust toolchain first: https://www.rust-lang.org/tools/install
cargo install claude-code-acp-rs
git clone https://github.com/soddygo/claude-code-acp-rs.git
cd claude-code-acp-rs
cargo install --path .
To enable distributed tracing with OpenTelemetry:
# Install with otel feature
cargo install claude-code-acp-rs --features otel
# Or from source
cargo install --path . --features otel
# Show help
claude-code-acp-rs --help
# Run with diagnostic mode (logs to file)
claude-code-acp-rs --diagnostic
# Run with verbose logging
claude-code-acp-rs -vv
Configure Zed to use this agent by specifying claude-code-acp-rs as the agent command.
ANTHROPIC_BASE_URL: Custom API base URLANTHROPIC_API_KEY: API key (preferred)ANTHROPIC_AUTH_TOKEN: Authentication token (legacy, fallback)ANTHROPIC_MODEL: Model to use (default: claude-sonnet-4-20250514)ANTHROPIC_SMALL_FAST_MODEL: Model for fast operationsMAX_THINKING_TOKENS: Maximum tokens for extended thinking modeThe agent can also load configuration from Claude Code settings files. When environment variables are not set, the agent will read from:
~/.claude/settings.json (user settings).claude/settings.json (project settings).claude/settings.local.json (local settings)Configuration priority (highest to lowest):
env objectSupported settings formats:
Using top-level fields:
{
"model": "claude-opus-4-20250514",
"smallFastModel": "claude-haiku-4-20250514",
"apiBaseUrl": "https://api.anthropic.com"
}
Using env object (compatible with Claude Code CLI):
{
"env": {
"ANTHROPIC_MODEL": "claude-opus-4-20250514",
"ANTHROPIC_SMALL_FAST_MODEL": "claude-haiku-4-20250514",
"ANTHROPIC_BASE_URL": "https://api.anthropic.com"
}
}
This allows you to use your existing Claude Code configuration without setting environment variables.
When compiled with the otel feature, you can enable distributed tracing to debug and monitor the agent:
# Send traces to Jaeger (default OTLP endpoint)
claude-code-acp-rs --otel-endpoint http://localhost:4317
# With custom service name
claude-code-acp-rs --otel-endpoint http://localhost:4317 --otel-service-name my-claude-agent
# Or use environment variable
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317 claude-code-acp-rs
# Start Jaeger with Docker
docker run -d --name jaeger \
-p 16686:16686 \
-p 4317:4317 \
jaegertracing/jaeger:latest
# Run the agent with tracing
claude-code-acp-rs --otel-endpoint http://localhost:4317
# View traces at http://localhost:16686
This Rust implementation uses the command name claude-code-acp-rs to avoid conflicts with the npm package @zed-industries/claude-code-acp (which uses claude-code-acp).
Both versions can be installed and used on the same system:
claude-code-acp β npm version (TypeScript)claude-code-acp-rs β Rust version (this project)This agent supports Claude's Extended Thinking mode for complex reasoning tasks. See the Thinking Mode Guide for details.
Quick Start:
# Enable thinking mode with environment variable
export MAX_THINKING_TOKENS=4096
export ANTHROPIC_MODEL="claude-sonnet-4-20250514"
# Run the agent
claude-code-acp-rs
Features:
_meta fieldFor more details, see: