The claw-code crate is a rename stub, so the Rust port has to be built
An agent-managed museum exhibit, built in Rust with Gajae-Code / LazyCodex — developed and maintained with no human intervention.
At a glance
- What is it?
- claw-code is the public Rust implementation of the claw CLI agent harness, and the project states plainly that it is an agent-managed museum exhibit rather than the tool you should run. The usable path is a source build with cargo, and the claw-code package on crates.io is a deprecated stub.
- Who is it for?
- Treat claw-code as something to read and audit rather than something to deploy. If you want to inspect the Rust port of the claw harness, build the workspace, run claw doctor before anything else, and expect to supply your own Anthropic API key.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 4 days ago.
- What is it written in?
- Mainly Rust, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.
Star history
- ultraworkers/claw-code194,783 ★ · -298
| Repository | 2026-08-18 | 2026-11-13 |
|---|---|---|
| ultraworkers/claw-code | 195.1k | 194.8k |
-298 Stars in the last 87 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
The claw-code crate on crates.io is a rename notice
The first warning in the quick start is about the obvious install command. Installing the claw-code crate from crates.io puts a deprecated stub in place, one that places `claw-code-deprecated.exe` rather than `claw`, and running it prints only `claw-code has been renamed to agent-code`. The instruction is explicit: do not use `cargo install claw-code`.
The alternative names a different binary and a different crate, `cargo install agent-code`, which installs `agent.exe` on Windows or `agent` on Unix, and still not a binary called agent-code. The naming here is genuinely confusing, and the consequence is concrete. A reader who reaches for the crate whose name matches the repository ends up with an executable that does nothing except print a sentence, and the correct upstream install is a different command producing a differently named binary. The repository itself is build from source only, so neither route is how you get the claw CLI from this tree.
The source build ends in claw doctor, not in a working session
The supported path is a clone and a workspace build:
git clone https://github.com/ultraworkers/claw-code
cd claw-code/rustcargo build --workspaceCredentials come from an Anthropic API key in the environment, set as `export ANTHROPIC_API_KEY="sk-ant-..."`, and the distinction drawn in the guide is that this is an API key and not a Claude subscription. After that the sequence is a health check, one prompt, then the interactive session:
./target/debug/claw doctor./target/debug/claw prompt "say hello"./target/debug/clawThat ordering is the honest part of the project. `claw doctor` is named as the first health check after building, and the last command starts an interactive session.
claw acp serve exits 0 and does nothing yet
Editor integration is the clearest unfinished piece. The status note says the project does not ship an ACP or Zed daemon and no JSON RPC entrypoint yet. Two commands exist anyway: `claw acp` and `claw --acp`, which report the current status, and `claw acp serve`, which is described as a discoverability alias only. It returns status and exits with code 0.
That exit code is the trap. A script, a CI check, or an editor probing for a working ACP endpoint will read `claw acp serve` as a success, because the process exits clean, while no daemon ever bound a port. Real ACP support is tracked separately in ROADMAP.md, and the public JSON contract lives in docs/g011-acp-json-rpc-status-contract.md. So the honest reading of a clean exit is that the feature is absent, not that it started. If you are wiring this into Zed or any ACP client today, the project cannot serve you, and the file you want to watch is the roadmap rather than the binary.
Windows renames the binary to claw.exe and adds a shell
The Windows path differs in two ways that break copy and paste. The binary is `claw.exe`, not `claw`, so a path written for Unix will not resolve, and the guide suggests either using `.\target\debug\claw.exe` or running `cargo run -- prompt "say hello"` to skip the path lookup entirely. Onboarding begins with installing Rust from rustup.rs, closing and reopening the terminal, then confirming the toolchain is on PATH:
cargo --versionThe clone and build work in PowerShell, Git Bash, or WSL:
git clone https://github.com/ultraworkers/claw-code
cd claw-code/rust
cargo build --workspaceCredentials are set with PowerShell syntax and the prompt uses the .exe form:
$env:ANTHROPIC_API_KEY = "sk-ant-..."
.\target\debug\claw.exe prompt "say hello"The README also points to the PowerShell-first Windows install and release quickstart in docs/windows-install-release.md.
Local models are a doc link, and the default key is Anthropic
The default credential path is a hosted provider. There is no offline or local option in the quick start; `ANTHROPIC_API_KEY` is the only variable the sequence sets, and the note insists it is an API key rather than a subscription.
For local models the README points at docs/local-openai-compatible-providers.md, which covers local OpenAI compatible providers and offline skill installs. If you arrived wanting to run this against a model on your own machine, the answer is that the settings exist but are not written in the pages a reader is likely to read first, and the practical consequence is that you have to go find the file before you can even know which environment variable or config key to set.
The compose stack runs RAG on mock embeddings by default
The container workflow is defined in docker-compose.yml, and its defaults are the part to read carefully. Three services exist: qdrant on ports 6333 and 6334 with a named storage volume, plus rag-serve and rag-ingest, both built from ./rust using crates/claw-rag-service/Dockerfile. The serve service runs `serve` against /data/index.sqlite, publishes 8787, binds `CLAW_RAG_HOST` to 0.0.0.0, and points at `http://qdrant:6334` with collection `claw_rag_chunks`. Ingest runs the same image with the `ingest` command and mounts the repository read only at /workspaces/main.
The default that changes results is `CLAW_RAG_MOCK_PROVIDERS: "1"`, with a comment saying to override it in your shell for real providers. Mock embeddings are placeholders rather than real embeddings, so retrieval behavior in the compose setup is not retrieval behavior you can evaluate. Two smaller things: qdrant is pinned to the floating `qdrant/qdrant:latest` tag while nothing else in the file is versioned, and neither rag service declares a healthcheck or a restart policy, so a dependency that starts slowly is your compose run's problem.
The project says it is a museum exhibit in the first screen
The most important thing in this repository is a warning, and it appears before any of the documentation. Claw Code is not the serious production project here, and the description calls it an agent-managed museum exhibit, an artifact swept and labeled by agents and automatically maintained, not something meant to be hand operated like a normal product repo. The harnesses do the planning, execution, verification, labeling, and preservation, and the crabs are described as keeping the tank running.
For actual work the project redirects you to two other repositories, LazyCodex at code-yeongyu/lazycodex and Gajae-Code at Yeachan-Heo/gajae-code, and two Discords, ultraworkers and gajae-code. PHILOSOPHY.md holds the intent and system design framing, and the longer public explanation is a post rather than a document in the tree. The judgment to apply: this is worth reading as an artifact and not worth adopting as infrastructure, and the presence of a working build, a doctor command, and a container stack does not change that framing, it just makes the artifact unusually complete.
A Python tree sits next to the Rust one, and the port is checkpointed
The repository shape explains part of the confusion. `rust/` is the canonical workspace and the claw CLI binary. `USAGE.md` is the task oriented guide for the current product surface. `PARITY.md` tracks the Rust port checkpoint and migration notes, and `ROADMAP.md` holds the active roadmap and cleanup backlog. Alongside them, `src/` and `tests/` are described as a companion Python and reference workspace with audit helpers, explicitly not the primary runtime surface.
So the top level also contains install.sh, a Containerfile, docker-compose.yml, scripts/, assets/, how_to_run.md, concept.md, prd.json, progress.txt, and harness configuration directories including .claude/, .omx/, .port_sessions/, .claw.json, and .claude.json. A reader arriving at this tree should assume a Rust port that was measured against an earlier reference implementation, and should read PARITY.md before assuming any feature in the older layout still behaves the same. The latest GitHub release is v0.1.10 from 2026-11-02, and the last push was also 2026-11-02.
Editorial conclusion
Treat claw-code as something to read and audit rather than something to deploy. If you want to inspect the Rust port of the claw harness, build the workspace, run claw doctor before anything else, and expect to supply your own Anthropic API key. Do not reach for the crates.io package, and do not read a clean exit from claw acp serve as working editor integration, because the ACP daemon is tracked as unfinished. If you want to run real agent work today, the project itself points you at LazyCodex and Gajae-Code instead.
Frequently asked questions
What is the Claw code?
claw-code is the public Rust implementation of the claw CLI agent harness, with the canonical workspace in rust/. The project describes itself as an agent-managed museum exhibit, built and maintained by agents, and says it is not the production tool you should run for real work.
how to install claw code
Build it from source: git clone https://github.com/ultraworkers/claw-code, change into claw-code/rust, and run cargo build --workspace. Do not use cargo install claw-code, because that crate is a deprecated stub that only prints a rename notice.
how to set up claw code
Clone and build the Rust workspace, export ANTHROPIC_API_KEY as an API key rather than a Claude subscription, then run ./target/debug/claw doctor as the first health check before ./target/debug/claw prompt or the interactive session. Windows uses claw.exe instead of claw.
how to use claw code locally
The local path is the source build plus a prompt, or the container workflow in docs/container.md and docker-compose.yml, which brings up qdrant, rag-serve, and rag-ingest. The compose file sets CLAW_RAG_MOCK_PROVIDERS to 1 by default, and docs/local-openai-compatible-providers.md covers local model providers.
how to use claw code with ollama
The documented route is docs/local-openai-compatible-providers.md, which covers local OpenAI-compatible providers and offline skill installs. The quick start only shows the hosted Anthropic path via ANTHROPIC_API_KEY.
Which is better, Claude Code or Claw code?
The repository makes no such comparison. What it states about itself is that it is a museum exhibit rather than a production project, and that you should start with LazyCodex or Gajae-Code if you want to run real work.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/ultraworkers-claw-code)Star history chart for your README
[](https://hysenlabs.com/projects/ultraworkers-claw-code)Was this useful?