A high-performance Rust rewrite of the Claw Code CLI agent harness. Built for speed, safety, and native tool execution.
# Build
cd rust/
cargo build --release
# Run interactive REPL
./target/release/claw
# One-shot prompt
./target/release/claw prompt "explain this codebase"
# With specific model
./target/release/claw --model sonnet prompt "fix the bug in main.rs"Set your API credentials:
export ANTHROPIC_API_KEY="sk-ant-..."
# Or use a proxy
export ANTHROPIC_BASE_URL="https://your-proxy.com"Or authenticate via OAuth:
claw login| Feature | Status |
|---|---|
| Anthropic API + streaming | β |
| OAuth login/logout | β |
| Interactive REPL (rustyline) | β |
| Tool system (bash, read, write, edit, grep, glob) | β |
| Web tools (search, fetch) | β |
| Sub-agent orchestration | β |
| Todo tracking | β |
| Notebook editing | β |
| CLAUDE.md / project memory | β |
| Config file hierarchy (.claude.json) | β |
| Permission system | β |
| MCP server lifecycle | β |
| Session persistence + resume | β |
| Extended thinking (thinking blocks) | β |
| Cost tracking + usage display | β |
| Git integration | β |
| Markdown terminal rendering (ANSI) | β |
| Model aliases (opus/sonnet/haiku) | β |
| Slash commands (/status, /compact, /clear, etc.) | β |
| Hooks (PreToolUse/PostToolUse) | π§ Config only |
| Plugin system | π Planned |
| Skills registry | π Planned |
Short names resolve to the latest model versions:
| Alias | Resolves To |
|---|---|
opus |
claude-opus-4-6 |
sonnet |
claude-sonnet-4-6 |
haiku |
claude-haiku-4-5-20251213 |
claw [OPTIONS] [COMMAND]
Options:
--model MODEL Set the model (alias or full name)
--dangerously-skip-permissions Skip all permission checks
--permission-mode MODE Set read-only, workspace-write, or danger-full-access
--allowedTools TOOLS Restrict enabled tools
--output-format FORMAT Output format (text or json)
--version, -V Print version info
Commands:
prompt <text> One-shot prompt (non-interactive)
login Authenticate via OAuth
logout Clear stored credentials
init Initialize project config
doctor Check environment health
self-update Update to latest version
| Command | Description |
|---|---|
/help |
Show help |
/status |
Show session status (model, tokens, cost) |
/cost |
Show cost breakdown |
/compact |
Compact conversation history |
/clear |
Clear conversation |
/model [name] |
Show or switch model |
/permissions |
Show or switch permission mode |
/config [section] |
Show config (env, hooks, model) |
/memory |
Show CLAUDE.md contents |
/diff |
Show git diff |
/export [path] |
Export conversation |
/session [id] |
Resume a previous session |
/version |
Show version |
rust/
βββ Cargo.toml # Workspace root
βββ Cargo.lock
βββ crates/
βββ api/ # Anthropic API client + SSE streaming
βββ commands/ # Shared slash-command registry
βββ compat-harness/ # TS manifest extraction harness
βββ runtime/ # Session, config, permissions, MCP, prompts
βββ rusty-claude-cli/ # Main CLI binary (`claw`)
βββ tools/ # Built-in tool implementations
- api β HTTP client, SSE stream parser, request/response types, auth (API key + OAuth bearer)
- commands β Slash command definitions and help text generation
- compat-harness β Extracts tool/prompt manifests from upstream TS source
- runtime β
ConversationRuntimeagentic loop,ConfigLoaderhierarchy,Sessionpersistence, permission policy, MCP client, system prompt assembly, usage tracking - rusty-claude-cli β REPL, one-shot prompt, streaming display, tool call rendering, CLI argument parsing
- tools β Tool specs + execution: Bash, ReadFile, WriteFile, EditFile, GlobSearch, GrepSearch, WebSearch, WebFetch, Agent, TodoWrite, NotebookEdit, Skill, ToolSearch, REPL runtimes
- ~20K lines of Rust
- 6 crates in workspace
- Binary name:
claw - Default model:
claude-opus-4-6 - Default permissions:
danger-full-access
See repository root.