Expand description
Claude Code ACP Agent
A Rust implementation of the ACP (Agent Client Protocol) Agent for Claude Code, enabling editors like Zed to use Claude Code capabilities.
§Features
- ACP protocol support over stdio
- Session management with token usage tracking
- Streaming responses
- Permission mode handling
§Quick Start
use claude_code_acp::run_acp;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
run_acp().await?;
Ok(())
}§Environment Variables
ANTHROPIC_BASE_URL: Custom API base URLANTHROPIC_API_KEY: API key (preferred)ANTHROPIC_AUTH_TOKEN: Auth token (legacy, fallback)ANTHROPIC_MODEL: Model to use (default: claude-sonnet-4-20250514)ANTHROPIC_SMALL_FAST_MODEL: Model for fast operations
Re-exports§
pub use agent::run_acp;pub use agent::run_acp_with_cli;pub use agent::shutdown_otel;pub use cli::Cli;pub use hooks::create_post_tool_use_hook;pub use hooks::create_pre_tool_use_hook;pub use hooks::HookCallbackRegistry;pub use mcp::AcpMcpServer;pub use mcp::McpServer;pub use mcp::ToolContext;pub use mcp::ToolRegistry;pub use mcp::ToolResult;pub use mcp::get_disallowed_tools;pub use settings::Settings;pub use settings::SettingsManager;pub use terminal::TerminalClient;pub use terminal::TerminalHandle;pub use types::AgentConfig;pub use types::AgentError;pub use types::NewSessionMeta;pub use types::Result;
Modules§
- agent
- ACP Agent implementation
- cli
- Command-line interface definitions
- converter
- Message conversion utilities for ACP ↔ Claude SDK
- hooks
- Hooks system for tool execution lifecycle
- mcp
- MCP (Model Context Protocol) Server integration
- session
- Session management for ACP Agent
- settings
- Settings management
- terminal
- Terminal API module
- types
- Public types for Claude Code ACP Agent