Files
claw-code/rust
Yeachan-Heo 06ee5a2dc4 test(parity): lock clean JSON prompt transport output
PARITY.md still claimed tool-capable JSON prompt runs leaked human-readable tool result lines, but a local mock SSE reproduction showed stdout already stays transport-clean. Add a real CLI regression test around the binary prompt path and update the parity note so future work does not chase a stale bug report.

Constraint: Keep scope limited to JSON prompt parity and leave the existing README Philosophy edits untouched
Rejected: Modify claw-cli transport code | current behavior already verified clean via a mock SSE prompt run
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Keep prompt JSON stdout parseable as a single transport object even when tool loops fire
Tested: cargo test -p claw-cli prompt_json_with_tool_use_writes_clean_transport_output --test prompt_json_transport -- --nocapture
Tested: cargo test -p claw-cli parses_bare_prompt_and_json_output_flag -- --nocapture
Tested: cargo test -p claw-cli response_to_events_preserves_empty_object_json_input_outside_streaming -- --nocapture
Not-tested: Live provider behavior outside the local mock SSE harness
2026-04-01 23:15:15 +00:00
..

Claw Code

Claw Code is a local coding-agent CLI implemented in safe Rust. It is Claude Code inspired and developed as a clean-room implementation: it aims for a strong local agent experience, but it is not a direct port or copy of Claude Code.

The Rust workspace is the current main product surface. The claw binary provides interactive sessions, one-shot prompts, workspace-aware tools, local agent workflows, and plugin-capable operation from a single workspace.

Current status

  • Version: 0.1.0
  • Release stage: initial public release, source-build distribution
  • Primary implementation: Rust workspace in this repository
  • Platform focus: macOS and Linux developer workstations

Install, build, and run

Prerequisites

  • Rust stable toolchain
  • Cargo
  • Provider credentials for the model you want to use

Authentication

Anthropic-compatible models:

export ANTHROPIC_API_KEY="..."
# Optional when using a compatible endpoint
export ANTHROPIC_BASE_URL="https://api.anthropic.com"

Grok models:

export XAI_API_KEY="..."
# Optional when using a compatible endpoint
export XAI_BASE_URL="https://api.x.ai"

OAuth login is also available:

cargo run --bin claw -- login

Install locally

cargo install --path crates/claw-cli --locked

Build from source

cargo build --release -p claw-cli

Run

From the workspace:

cargo run --bin claw -- --help
cargo run --bin claw --
cargo run --bin claw -- prompt "summarize this workspace"
cargo run --bin claw -- --model sonnet "review the latest changes"

From the release build:

./target/release/claw
./target/release/claw prompt "explain crates/runtime"

Supported capabilities

  • Interactive REPL and one-shot prompt execution
  • Saved-session inspection and resume flows
  • Built-in workspace tools for shell, file read/write/edit, search, web fetch/search, todos, and notebook updates
  • Slash commands for status, compaction, config inspection, diff, export, session management, and version reporting
  • Local agent and skill discovery with claw agents and claw skills
  • Plugin discovery and management through the CLI and slash-command surfaces
  • OAuth login/logout plus model/provider selection from the command line
  • Workspace-aware instruction/config loading (CLAW.md, config files, permissions, plugin settings)

Current limitations

  • Public distribution is source-build only today; this workspace is not set up for crates.io publishing
  • GitHub CI verifies cargo check, cargo test, and release builds, but automated release packaging is not yet present
  • Current CI targets Ubuntu and macOS; Windows release readiness is still to be established
  • Some live-provider integration coverage is opt-in because it requires external credentials and network access
  • The command surface may continue to evolve during the 0.x series

Implementation

The Rust workspace is the active product implementation. It currently includes these crates:

  • claw-cli — user-facing binary
  • api — provider clients and streaming
  • runtime — sessions, config, permissions, prompts, and runtime loop
  • tools — built-in tool implementations
  • commands — slash-command registry and handlers
  • plugins — plugin discovery, registry, and lifecycle support
  • lsp — language-server protocol support types and process helpers
  • server and compat-harness — supporting services and compatibility tooling

Roadmap

  • Publish packaged release artifacts for public installs
  • Add a repeatable release workflow and longer-lived changelog discipline
  • Expand platform verification beyond the current CI matrix
  • Add more task-focused examples and operator documentation
  • Continue tightening feature coverage and UX polish across the Rust implementation

Release notes

License

See the repository root for licensing details.