ZeroClaw: is it an OpenClaw fork?
ZeroClaw is an open-source, self-hosted personal agent: one Rust binary that connects a model provider to your chat channels and tools. Is it an OpenClaw fork? No, not in the git sense: its repository has its own single root commit, is written in Rust where OpenClaw is TypeScript, and shares no commit with OpenClaw. But it isn't independent of OpenClaw either. ZeroClaw's own architecture document says the project "was bootstrapped by AI tools working from OpenClaw's TypeScript codebase", its first release named OpenClaw as the framework its prompt builder follows, and its first README carried a section of OpenClaw's documentation with the product name swapped. ZeroClaw's own account.
- Git history: separate. ZeroClaw's one root commit is dated 13 February 2026; OpenClaw's is dated 24 November 2025.
- Language: ZeroClaw's first commit held 57 Rust files and no TypeScript. OpenClaw's main branch on 19 October 2026 held about 46,800 TypeScript files.
- Design and wording: inherited. The first ZeroClaw commit names OpenClaw in comments in its prompt code and reuses OpenClaw's workspace file names and its 20,000-character limit.
- Today: ZeroClaw v0.8.6 (18 October 2026) ships a
migrate openclawcommand and documents a ZeroClaw/OpenClaw/Hermes feature matrix that calls ZeroClaw "a from-scratch runtime, not a fork".
We read both repositories on 19 October 2026 and pinned every link below to a commit. We did not install or run ZeroClaw.
ZeroClaw vs OpenClaw: what the git history shows
A GitHub fork, or a copy that kept its history, would share commits with the original. ZeroClaw doesn't. Its repository has exactly one parentless commit, 05cb353, titled as the initial release of ZeroClaw v0.1.0 and dated 13 February 2026. OpenClaw's only root commit is f6dd362, "Initial commit", from 24 November 2025. On 19 October 2026 ZeroClaw's default branch had 5,699 commits and OpenClaw's had about 114,000; none of ZeroClaw's commits descend from OpenClaw's root.
The first ZeroClaw commit was a finished program, not an empty repository: a Cargo project with 57 .rs files under src/, tests, a Dockerfile and a README promising "100% Rust". That fits the project's later explanation that AI tools generated it from OpenClaw's code rather than a developer copying the repository. The two are also licensed separately. OpenClaw's MIT licence names Peter Steinberger; ZeroClaw's first licence was MIT under the GitHub account that first published it, and v0.8.6 is dual MIT/Apache-2.0. The current NOTICE file credits one outside project, the Verifiable Intent specification, and doesn't mention OpenClaw.
What ZeroClaw took from OpenClaw
The first commit says where its design came from. Its prompt builder in src/channels/mod.rs sets a 20,000-character cap per workspace file with the comment "matches OpenClaw default", documents itself as following "the OpenClaw framework structure", and writes a missing-file marker "matches OpenClaw behavior". It injects the same workspace files OpenClaw uses: AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md, BOOTSTRAP.md and MEMORY.md. The first prompt builder; the missing-file marker.
The README is closer still. ZeroClaw's first README has a "Token Use & Costs" section that opens "ZeroClaw tracks tokens, not characters." OpenClaw's documentation page on the same subject, as it stood on OpenClaw's main branch that morning, opens "OpenClaw tracks tokens, not characters." The paragraphs that follow match too: the system-prompt list, the context-window list, and the /status and /usage commands, down to the "emoji-rich status card" phrase. Above that section, ZeroClaw's README told readers to fetch "the complete documentation index at: https://docs.openclaw.ai/llms.txt". ZeroClaw's first README; OpenClaw's token-use page.
The OpenClaw link and that section were gone the next day, in 18582fe ("docs: lean README"). The prompt code kept its OpenClaw lineage: at v0.8.6 the loader is still a function called load_openclaw_bootstrap_files, and the identity module supports "OpenClaw (markdown)" as one of its two formats.
What we didn't check: we didn't run a code-similarity tool across the two codebases. They're in different languages, so a text match on code would say little. The evidence for derivation is ZeroClaw's own statement, its comments and its first README.
The taglines overlap in two phrases. On 19 October 2026 the GitHub descriptions read "The AI that really does things. Any OS. Any Platform. The lobster way. 🦞" for OpenClaw and a ZeroClaw description that calls it "fully autonomous AI personal assistant infrastructure, any OS, any platform", followed by "deploy anywhere, swap anything 🦀". Shared wording in a tagline proves nothing about code, which is why the history and the first README above matter more.
How ZeroClaw describes the relationship
ZeroClaw's documentation gives two statements that only look contradictory. Its feature-matrix page says: "ZeroClaw is a from-scratch runtime, not a fork." Feature matrix. Its architecture RFC says the code "was bootstrapped by AI tools working from OpenClaw's TypeScript codebase" and calls the result "impressively functional but architecturally accidental", before proposing to restructure it gradually. Architecture RFC.
Both fit the evidence. It's from scratch in that no OpenClaw file or commit was carried over and the language is different. It's derived in that OpenClaw's code and documents were the input the generator worked from. "AI-assisted Rust reimplementation of OpenClaw" is the description that fits all of it; "fork" isn't accurate, and neither is "unrelated".
The project still tracks OpenClaw as its reference point. The parity data behind the feature matrix records the OpenClaw commit it compared against, and the CLI has a command to import memory from an OpenClaw workspace. For OpenClaw's own defaults, see our OpenClaw security review.
Install ZeroClaw and run a first chat
ZeroClaw is a single Rust binary that talks to model providers, receives messages through channels such as Telegram, Discord, Matrix, email and the CLI, and acts through tools such as shell, browser and HTTP. README summary. The README's recommended Unix route pipes install.sh from the repository into sh and then runs zeroclaw quickstart; Windows users get a prebuilt PowerShell path. Install commands.
If you'd rather read the installer before running it, download install.sh first; ./install.sh --help lists its flags. Then:
zeroclaw quickstartpicks a provider and writes a working config to~/.zeroclaw/config.toml.zeroclaw agent -a <alias>opens an interactive chat with that agent.zeroclaw service installandzeroclaw service startregister it with systemd, launchd or Windows Service so it keeps running.
Quick start commands. Hold off on the service step until you've checked the approval settings below, because a background service answers channels while you aren't watching. Coming from OpenClaw, zeroclaw migrate openclaw imports an OpenClaw workspace's memory; it refuses Qdrant as a target. Migration messages.
The licence costs nothing. The model doesn't: ZeroClaw uses your provider keys or subscription, so inference is billed by whoever runs the model.
ZeroClaw approvals: which rule wins
ZeroClaw puts permissions on a named risk profile that each agent references. The level is readonly, supervised or full, and supervised is the default both in the docs and in the code's #[default]. Autonomy docs; AutonomyLevel enum. Under supervised, the docs say low-risk tools run, medium-risk tools ask, and high-risk tools are blocked.
The order of checks matters more than the level. In v0.8.6's approval manager, a tool call is decided in this sequence: approval_requirement
readonlyreturns "not required", because blocking happens elsewhere.- A tool in
always_ask(or"*") prompts, at any level, includingfull. fullapproves everything else.- A non-interactive shell call can skip the prompt when
non_interactive_shell_requires_approvalis off. - A tool in
auto_approveruns without a prompt. - A tool the operator answered "Always" for earlier in the session runs.
- Anything else prompts.
So always_ask is the one list that outranks everything, and it's where shell, file writes outside the workspace or outbound HTTP belong if you plan to switch to full. Step 4 is the one to check if you run ZeroClaw headless: whether an unattended shell call is asked about depends on that flag, not on the level. When an approval channel can't reach anyone, a tool listed in always_ask fails closed rather than falling back. Fallback rule. Unanswered prompts time out after the channel's approval_timeout_secs and count as denials. Timeout.
Approval is policy; the sandbox is a separate mechanism. With sandbox_backend = "auto", ZeroClaw picks Landlock, Bubblewrap, Firejail or Docker on Linux, Seatbelt on macOS, and AppContainer (marked experimental) on Windows, and falls back to none when nothing is available. sandbox_enabled = false leaves native tools with no OS sandbox. Sandboxing docs. We didn't establish what an out-of-the-box install selects, so check sandbox_enabled and sandbox_backend in your risk profile rather than assuming. The README links a "YOLO mode" that turns these gates off for dev boxes. YOLO mode.
The 15-agent comparison has our earlier reading of ZeroClaw's memory backends and observability defaults, next to the same checks for Hermes, NanoClaw and the rest. Hermes's approval modes are on the Hermes Agent page.
What changed in ZeroClaw v0.8.6
The current release came out on 18 October 2026. Its notes count 573 commits from 74 contributors since the previous one, a long way from the single-account project of February. v0.8.6 release notes.
Three changes bear on what this page covers. Plugins now run from the stock CLI download: the seven 64-bit release archives for Linux, macOS and Windows carry a WebAssembly plugin host, and the registry offers 13 packages, mostly channels such as Discord, Telegram, Matrix and WeChat. Plugins stay disabled until the operator enables them, and an install grants network egress up front, so read what a plugin asks for before you approve it. The release also adds authenticated principals with OIDC across RPC, sessions, tools and memory, and makes pairing codes stronger by default. And it adds an opt-in minimal built-in tool set, eleven tools in chat, while the full set stays the default. Setting optional = [] under [tools] is the smallest change that shrinks what an agent can call, and approvals still apply on top of it.
The notes also flag breaking security defaults for gateway pairing, browser automation and private-network downloads. If you're upgrading an existing install, read that section before you restart the service.
Reproduce this
Everything here is static reading of public repositories on 19 October 2026. We didn't install ZeroClaw, run its installer, or observe network traffic, and we're not affiliated with ZeroClaw or OpenClaw.
Pinned commits: ZeroClaw v0.8.6 at c473221313341a853e04122f93bb9bd26b5e6c47, its root commit 05cb353f7f5318e58bd229c03c8577216b30b231, and OpenClaw 5325d2ca511022bb1a37a8a3949e8e7e90b2255e, the last OpenClaw commit before ZeroClaw's first.
To repeat the history check, clone both repositories (a --filter=blob:none clone is enough) and run git rev-list --max-parents=0 HEAD in each: each prints one root, and they differ. git show 05cb353:README.md in ZeroClaw and git show 5325d2c:docs/reference/token-use.md in OpenClaw give the two texts compared above. git log -S'docs.openclaw.ai' -- README.md in ZeroClaw shows the commit that added the OpenClaw link and the one that removed it.
FAQ
Is ZeroClaw a fork of OpenClaw? Not in the git sense: it shares no commits and is written in Rust. ZeroClaw's own documentation says AI tools generated it from OpenClaw's TypeScript code, and its first README contained OpenClaw's token-use documentation with the name changed.
Can I move from OpenClaw to ZeroClaw? Partly. zeroclaw migrate openclaw imports memory from an OpenClaw workspace, and ZeroClaw reads the same Markdown identity files. Channels, providers and approvals have to be configured again in ZeroClaw's TOML.
Is ZeroClaw safe to leave running? That depends on your risk profile. Start under supervised, put dangerous tools in always_ask, check the non-interactive shell flag, and confirm a sandbox backend is actually selected before running it as a service.
Who maintains ZeroClaw? The repository is published by the zeroclaw-labs organisation, and its NOTICE names ZeroClaw Labs. The first commits were published under a single developer's account before the move to the organisation.