RUST / AI AGENTS

ZeroClaw: The Performance-Optimized OpenClaw Alternative

A complete Rust reimplementation of OpenClaw that compiles to a 3.4MB single binary. Under 5MB RAM, sub-10ms startup, 22+ LLM providers, and runs on $10 SBC hardware. Every subsystem is a swappable trait.

By Jose Nobile | 2026-06-11 | 12 min read

What Is ZeroClaw?

ZeroClaw is a ground-up Rust reimplementation of the OpenClaw AI agent framework. With 32k stars on GitHub and dual-licensed under MIT and Apache-2.0, it targets developers who need OpenClaw's functionality but cannot afford its resource footprint. The entire project compiles to a single static binary with no runtime dependencies. The codebase is organized as a Cargo workspace of 12+ focused crates (zeroclaw-api, zeroclaw-runtime, zeroclaw-gateway, zeroclaw-channels, and more). The current stable release is v0.7.5 (May 8, 2026), which added a schema-driven /onboard flow, an OpenAPI 3.1 gateway configuration surface, and per-provider pricing for accurate cost tracking; the v0.8.0 series is in beta.

The core design principle is trait-based modularity: every subsystem -- LLM provider, memory backend, channel adapter, tool executor -- is defined as a swappable Rust trait. You can replace any component at compile time or runtime without touching the rest of the system. This makes ZeroClaw equally suitable for cloud deployments and resource-constrained embedded devices. LINE channel support was recently added.

ZeroClaw maintains wire-level compatibility with OpenClaw's gateway protocol, meaning you can use ZeroClaw nodes alongside OpenClaw nodes in the same cluster. It also ships a built-in migration tool (zeroclaw migrate) that imports your existing OpenClaw configuration, personality files, and memory database.

Performance

BINARY

3.4MB Single Binary

The entire ZeroClaw agent -- including all built-in providers, channel adapters, and the web dashboard assets -- compiles to a single 3.4MB static binary. No Node.js, no Python, no runtime dependencies. Copy the file to any Linux, macOS, or Windows machine and run it.

MEMORY

Under 5MB RAM

Idle memory consumption sits below 5MB. Even under active load with multiple concurrent conversations, ZeroClaw rarely exceeds 20MB. Compare this to OpenClaw's typical footprint of over 1GB RAM (Node.js runtime + dependencies + browser automation).

STARTUP

Sub-10ms Startup

Cold start to first message readiness takes under 10 milliseconds. This makes ZeroClaw viable for serverless deployments, on-demand scaling, and embedded devices that power-cycle frequently. OpenClaw's Node.js startup typically takes 2-5 seconds.

COST

$10 Hardware

ZeroClaw runs comfortably on single-board computers costing as little as $10 -- Raspberry Pi Zero 2 W, Orange Pi Zero 3, or similar ARM boards. This enables always-on AI agent deployments at a fraction of the cost of cloud VPS instances.

The performance difference is not marginal -- it is orders of magnitude. ZeroClaw uses roughly 200x less RAM and starts 500x faster than OpenClaw. For edge deployments, IoT, or cost-sensitive scenarios, this is the difference between viable and impossible.

Features

PROVIDERS

22+ LLM Providers

Built-in support for OpenAI, Anthropic, Google Gemini, Mistral, DeepSeek, Groq, Ollama, vLLM, and 14+ additional providers. Each provider is a trait implementation that can be swapped at runtime via configuration -- no recompilation needed.

CHANNELS

22+ Channel Adapters

Telegram, Discord, WhatsApp, Slack, WeChat, Feishu, DingTalk, LINE, Matrix, IRC, and more. Every channel adapter follows the same trait interface, making it straightforward to add new platforms. Voice messages are supported on channels that provide them.

MEMORY

SQLite Hybrid Search

Memory is stored in a local SQLite database with hybrid vector + keyword search powered by Reciprocal Rank Fusion. No external vector database required. The memory system supports semantic recall, exact-match lookup, and time-weighted relevance scoring.

DASHBOARD

Web Dashboard

A built-in web dashboard built with React 19 and Vite, served directly from the ZeroClaw binary. Monitor conversations, manage configuration, view memory, and test agent responses -- all from a browser. The dashboard assets are embedded in the binary at compile time.

MIGRATION

OpenClaw Migration

The zeroclaw migrate command reads your existing OpenClaw configuration, AGENTS.md, SOUL.md, MEMORY.md, environment variables, and SQLite memory database, then converts them into ZeroClaw's native format. Migration is non-destructive -- your OpenClaw setup remains untouched.

TRAITS

Swappable Trait System

Every subsystem is defined as a Rust trait: LLM provider, memory backend, channel adapter, tool executor, scheduler, and logger. Swap any component via configuration or compile your own implementation. This is the architectural foundation that makes ZeroClaw adaptable to any deployment scenario.

Security

ZeroClaw ships with security defaults that are on by default -- you have to explicitly opt out rather than opt in. This is a deliberate design choice to prevent accidental exposure in production deployments:

  • Localhost-only binding -- By default, ZeroClaw only listens on 127.0.0.1. External access requires explicit configuration of allowed interfaces and IP ranges
  • Workspace scoping -- The agent's file system access is restricted to a configured workspace directory. It cannot read or write outside that boundary, even if a tool attempts to do so
  • Command allowlists -- Shell command execution is disabled by default. When enabled, only commands on an explicit allowlist can be run. No wildcard patterns, no shell expansion
  • Autonomy levels -- Three configurable autonomy levels control agent behavior: ReadOnly (observe and respond, no side effects), Supervised (actions require human approval), and Full (autonomous execution within allowlisted boundaries)

The security model is enforced at the Rust type system level where possible, making entire classes of security bypass bugs compile-time errors rather than runtime vulnerabilities.

Hardware Support

MCU

ESP32

ZeroClaw compiles for ESP32 targets via the esp-idf-hal crate. The agent runs directly on the microcontroller, connecting to LLM APIs over Wi-Fi. Useful for voice-activated smart home devices, sensor-driven automation, and offline-first IoT agents.

MCU

STM32

ARM Cortex-M support via the embassy-stm32 async runtime. ZeroClaw can operate in a no-std environment on STM32 chips, making it suitable for industrial control systems, medical devices, and other embedded applications requiring deterministic behavior.

MCU

Arduino

Limited Arduino support through the avr-hal crate for AVR-based boards. The agent core can run on Arduino Mega with external networking (ESP8266/W5500 shields). Best suited for simple sensor-reading and relay-control agents.

SBC

Raspberry Pi Peripherals

Full GPIO, I2C, SPI, and UART support on Raspberry Pi via the rppal crate. ZeroClaw can directly control sensors, displays, motors, and cameras from agent tools. Combine with the web dashboard for a complete local AI assistant with physical world interaction.

The embedded support is what sets ZeroClaw apart from other OpenClaw alternatives. No other reimplementation can run an AI agent directly on a $4 ESP32 board. This opens up entirely new use cases: voice-controlled appliances, smart agriculture sensors, industrial monitoring agents, and wearable AI devices.

Known Bugs

Like any actively developed project, ZeroClaw has open issues. The following are the most notable bugs reported by the community as of June 2026. The development team is responsive, and most issues receive triage within 48 hours:

HIGH

#5600: Kimi Code Streaming Tool Calls Fail

Streaming chat with tool calls on the kimi-code provider fails with a 400 error: "thinking is enabled but reasoning_content is missing in assistant tool call message." The provider requires reasoning content to be echoed back on assistant tool-call messages, which ZeroClaw does not yet do. Marked priority P1.

HIGH

#7470: Delegate Mode Blocks Multi-Agent Setups

Delegating to an agentic target fails when the target's risk_profile.allowed_tools is empty, and the same-profile gate rejects targets whose risk profile differs from the caller -- even stricter ones. Together these block common reviewer/research multi-agent topologies where a broad operator delegates to locked-down specialists.

MEDIUM

#6699: tool_filter_groups Ignores MCP Tools

The dispatch-time filter decides whether a tool is MCP by checking for an mcp_ prefix, but real MCP tools are named <server>__<tool>. As a result, tool_filter_groups silently has no effect on actual MCP tool surfaces, and it does not integrate with deferred loading.

LOW

#5862: Agent Unaware of Built-in Cron

Asking the agent to schedule a reminder makes it claim it lacks scheduling tools instead of using the zeroclaw cron add command. The capability exists but is not surfaced to the model. Workaround: ask it explicitly to run zeroclaw cron add.

MEDIUM

#7507: Quickstart Floods Output on Non-TTY stdin

Running zeroclaw quickstart without an interactive TTY (CI jobs, scripts, piped stdin) triggers an infinite redraw loop that can flood gigabytes of output instead of exiting with an error. Run quickstart only in an interactive terminal until the non-TTY guard ships.

These bugs are typical of a fast-moving project with broad platform support. None of them affect core agent functionality for the most common deployment scenarios (Telegram/Discord on Linux). The development cadence is roughly weekly releases, and the community actively contributes patches.

More Guides