CLI tool
zeroclaw-labs/zeroclaw avatar
zeroclaw-labs/zeroclaw

ZeroClaw: A Rust-Based Agent Runtime for Self-Hosted AI Assistants

Fast, small, and fully autonomous AI personal assistant infrastructure, any OS, any platform, deploy anywhere, swap anything.

32,845 stars4,941 forksRustApache-2.0

At a glance

What is it?
ZeroClaw is a single Rust binary that runs a personal AI assistant on your own machine, connecting to 20+ LLM providers and 30+ channels. This review covers its architecture, setup, security model, and where it falls short.
Who is it for?
Adopt ZeroClaw if you want a self-hosted, multi-channel AI assistant that you control end-to-end, especially if you value provider flexibility and hardware integration. Skip it if you need a polished, consumer-grade product or if you are unwilling to manage TOML configs and security policies.
Can I use it commercially?
Yes. Apache-2.0 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 received new commits within the last day.
What is it written in?
Mainly Rust, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What ZeroClaw Solves

ZeroClaw addresses the problem of running a personal AI assistant without surrendering control to a cloud vendor. The README states: 'You own the agent. You own the data. You own the machine it runs on.' It is a single Rust binary that you configure and run, designed for developers, hobbyists, and tinkerers who want an assistant that can reach them across many platforms while keeping all data local. The target user is someone comfortable with command-line tools, configuration files, and security concepts. It is not aimed at non-technical users who expect a turnkey app.

Architecture: One Binary, Many Channels

ZeroClaw is an agent runtime, not a hosted service. The core is a single binary that talks to LLM providers through a pluggable interface, supporting Anthropic, OpenAI, Ollama, and about 20 others. It connects to the outside world via 30+ channels, including Discord, Telegram, Matrix, email, voice, webhooks, and a CLI. Inbound messages from these channels all flow into the same agent loop, so you get a consistent assistant regardless of how you reach it. The architecture also includes a gateway with HTTP and WebSocket support, plus a web dashboard for chat, memory browsing, config editing, cron management, and tool inspection. This design means you run one process that handles all interactions, but it also means that process becomes a single point of failure for your assistant.

Getting Started: Commands and Configuration

Installation on Unix is a curl pipe: `curl -fsSL https://raw.githubusercontent.com/zeroclaw-labs/zeroclaw/master/install.sh | sh`, then run `zeroclaw quickstart` to set up a provider and write a working config. Windows users have a PowerShell path that installs a prebuilt binary. The quickstart command is one-shot: it guides you through picking a provider and generating a config. After that, you run `zeroclaw agent -a <alias>` for interactive chat, or `zeroclaw service install` and `zeroclaw service start` to run it as a background service. Configuration lives in a single TOML file at `~/.zeroclaw/config.toml`. A minimal V3 config requires at least four sections: a provider entry, an agent that references it, and a risk profile. The README gives an example for OpenAI Codex subscription auth, where you can import an existing auth file with `zeroclaw auth login --model-provider openai-codex --import ~/.codex/auth.json`. This setup is straightforward for a developer, but the requirement to understand TOML structure and provider-specific auth may be a barrier for casual users.

Security Model: Supervised by Default

ZeroClaw takes a security-first approach. The default autonomy level is `supervised`, meaning medium-risk operations require approval and high-risk operations are blocked. The system enforces workspace boundaries, command policies, and OS-level sandboxes using Landlock, Bubblewrap, Seatbelt, or Docker, depending on the platform. Every action generates a cryptographic 'tool receipt' for auditability. There is also a 'YOLO mode' for trusted development environments that bypasses these safety gates. This is a sensible default for an agent that can execute shell commands and control hardware. However, the security model adds complexity: you must configure risk profiles and understand what each level permits. The README does not detail how to set up sandboxes or what happens when a tool is blocked, so you may need to consult the documentation before relying on it in production.

Hardware and Automation Capabilities

Beyond chat, ZeroClaw can interact with physical hardware through a `Peripheral` trait, supporting GPIO, I2C, SPI, and USB on Raspberry Pi, STM32, Arduino, and ESP32. This makes it suitable for home automation or robotics projects. It also includes an SOP (Standard Operating Procedures) engine that triggers on events from MQTT, webhooks, cron, or peripherals, with approval gates and resumable runs. This means you can define a procedure that runs when a sensor triggers, and if it fails, it can be resumed later. These features are not typical for an AI assistant runtime, and they position ZeroClaw as a tool for serious automation, not just chat. The trade-off is that these capabilities require additional configuration and understanding of hardware protocols, which may be overkill for users who only want a chatbot.

Provider Routing and Fallback

The provider system is pluggable, and the documentation mentions 'fallback chains and routing' to keep the agent running when a provider fails. This is a practical feature because LLM APIs can be unreliable or rate-limited. You can configure multiple providers and have the agent switch when one goes down. The README does not show the exact syntax for fallback chains, but it points to a routing document. This is a differentiator compared to simpler assistants that are tied to one provider. However, it also means you need to manage multiple API keys and understand the routing logic. The configuration schema is universal: `[providers.models.<type>.<alias>]`, so you can define several providers with different aliases and then point your agent at one. This flexibility is valuable, but it adds to the learning curve.

Limitations and Wrong Use Cases

ZeroClaw is not a lightweight chatbot. It is a full runtime with a security model, hardware support, and an SOP engine. If you only need a simple Q&A bot on a single channel, this is overkill. The configuration file has at least four required sections, and the security defaults may block actions you expect to work, requiring you to understand risk profiles. The README is honest about the complexity, offering a 'YOLO mode' for dev boxes, but that mode is explicitly for trusted environments and should not be used in production. Another limitation is that the project is young; the latest release is v0.8.4, and the API and config schema may change between versions. The documentation is extensive but spread across a book, and some parts are generated, so you may need to consult multiple sources to get a full picture. Finally, the hardware integration is niche; if you do not need GPIO or MQTT, those features are irrelevant overhead.

Alternatives and Maintenance Considerations

A common alternative is running a chatbot directly with a framework like LangChain or using a hosted assistant like ChatGPT with API access. The key difference is that those approaches either require you to build the channel integration yourself or rely on a cloud service. ZeroClaw bundles the channels, security, and tooling into one binary, so you get a more complete system out of the box. Another alternative is using a dedicated self-hosted assistant like Home Assistant's conversation integration, but that is limited to home automation and does not offer the same provider flexibility or hardware abstraction. Maintenance and upgrade cost: the project is under active development, with releases every few weeks, so you should expect to update regularly to get bug fixes and new features. The license is Apache-2.0, which is permissive for commercial use, but you should check the documentation for any third-party dependencies. The README mentions a git submodule for translated docs, which is only needed if you build the docs, not the Rust binary. Overall, the maintenance burden is moderate: you need to track releases and re-test your config after upgrades, since the config schema is versioned (V3) and may evolve.

Editorial conclusion

Adopt ZeroClaw if you want a self-hosted, multi-channel AI assistant that you control end-to-end, especially if you value provider flexibility and hardware integration. Skip it if you need a polished, consumer-grade product or if you are unwilling to manage TOML configs and security policies. Before adopting, verify the current state of the documentation for your specific OS and channel, and test the quickstart flow with your preferred provider. The project is active, but its complexity and security-first defaults demand a hands-on operator.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes