Crate claude_code_acp

Crate claude_code_acp 

Source
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 URL
  • ANTHROPIC_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