
With simplicity built in, non-engineers and developers alike are taking notice
If OpenClaw proved autonomous AI agents can be self-hosted (but with security concerns we laid out in this previous article), then ZeroClaw is proving they don’t need the cloud to do it.
This article explains what ZeroClaw is, how it exposes a flaw in current AI design philosophies, and how it achieves lightning-fast benchmarks.
What is ZeroClaw?
ZeroClaw is a lightweight runtime operating system for agentic workflows. Its creators describe it as “the runtime operating system for agentic workflows.” Set it up once, and get a personal AI assistant that talks from your browser, messaging app, or other communication platform.
Built largely on Rust, ZeroClaw abstracts down to a ~3.4MB binary, using less than 5MB of RAM at runtime. Compared to its closest alternative, OpenClaw’s AI bot, (which requires a Node.js runtime and typically sits above 1GB of memory), ZeroClaw uses 99% less memory, so it can run on any hardware.
Most of today's AI tooling is built for the cloud and requires a beefy server, an API key, and a decent monthly budget.
ZeroClaw asked: 'what if you could run a fully autonomous AI agent on a $10 Linux board in your closet? Or on your laptop without any cloud costs at all?'
Why Rust for ZeroClaw?
The project is 95% Rust by code volume, with small amounts of TypeScript, Shell, and Python. This language breakdown is documented in the ZeroClaw github. Understanding this choice to use primarily Rust is important, not as a footnote, but to give credibility to some mind-bending achievements with ZeroClaw.
Rust is a systems programming language designed for memory safety without garbage collection. Most developer-facing AI tools are built in Python or TypeScript because those languages are fast to write and have rich ecosystems (sorry, C+). Python in particular is the backbone of some heavy ML work, including Lightning AI’s open source framework. In that instance, as well as for training pipelines, data workflows, and model experimentation, it’s the right language. The tradeoff is runtime overhead. Python needs an interpreter to run. Node.js needs a virtual machine. Both carry significant memory costs just to exist before an application even does anything.
Rust shapes ZeroClaw’s architecture. It doesn’t need an interpreter, VM, or garbage collector that can slow down execution mid-task to clean up memory. Rust compiles directly to a native binary.
The trait system, which is Rust's mechanism for defining shared behavior across types, maps to swappable infrastructure. Providers, channels, memory backends, and tools are all modeled as traits, not afterthoughts. Zero-cost abstractions prevent pluggability from adding runtime overhead. This architecture enables ZeroClaw to achieve:
- ~3.4MB compiled size
- <5MB runtime memory usage
- Sub-10ms cold boot
- 400x faster startup than OpenClaw
You can find detailed benchmarks and architecture notes by searching the openclaw github repository and comparing the two projects side by side.
What ZeroClaw looks like in practice
You run zeroclaw daemon, and suddenly you have a local web dashboard where you can chat with an AI model. You link your messaging app account, and that same agent is now in your pocket. The AI runs locally through Ollama so there's no OpenAI account required, no per-token costs, and no data leaving your machine.

For engineers evaluating ZeroClaw as a foundation for their own agentic systems: the trait system means you can implement a new Provider (for a new LLM API), a new Channel (for a new messaging platform), or a new Tool (for a new capability) by implementing one Rust trait and registering it. The contribution guide points directly to src/providers/, src/channels/, and src/tools/ as the entry points for each.
For people who want privacy, cost control, or just the satisfaction of owning their own stack, this is a meaningful shift.
ZeroClaw supports 23+ AI providers out of the box: OpenAI, Anthropic, Google Gemini, Groq, Mistral, DeepSeek, and more. Swapping providers is a one-line config change.
ZeroClaw: secure by default
ZeroClaw takes a "secure by default" approach when many current self-hosted AI tools treat security as an afterthought, or leave it entirely to the user.
First off, a self-hosted gateway sits at the intersection of the network, filesystem, shell and external service credentials. ZeroClaw locks down all defaults and opens them up when explicitly told. First connections require a 6-digit pairing code. The filesystem sandbox blocks 14 system directories by default, and every shell command runs against an explicit allowlist.
Many other self-hosted AI tools work the other way around. Access is available until the user prompts it to lock down.
None of this requires user configuration; it's all on by default.
Memory runs locally
Rather than requiring a vector database service like Pinecone or a search service like Elasticsearch, ZeroClaw ships a hybrid search engine built entirely on SQLite.
It combines vector similarity search and keyword search into a single local database. No external services, no monthly costs, no data leaving your machine.
The hybrid merge is a custom weighted function, and the system includes LRU caching for embeddings to avoid redundant computation.
How ZeroClaw's trait architecture works
For engineers, this is full-stack control with:
- Infrastructure you can read
- Trait-based architecture you can extend without forking the project
- Ability to run on constrained hardware
Here's a simplified illustration. The memory backend is defined something like this:
pub trait Memory: Send + Sync {
async fn recall(&self, query: &str, limit: usize) -> Result<Vec<MemoryEntry>>;
async fn save(&self, content: &str, metadata: MemoryMetadata) -> Result<()>;
async fn search_hybrid(&self, query: &str) -> Result<Vec<MemoryEntry>>;
}The SQLite implementation, the PostgreSQL implementation, and the none (no-op) implementation all satisfy this same trait. The agent doesn't know or care which backend is active. It calls the trait methods, and the runtime dispatches to whichever implementation is configured.
The same pattern applies to providers, channels, tools, tunnels, and observability. This is sometimes called a ports-and-adapters or hexagonal architecture pattern. The core logic is isolated from infrastructure concerns, and infrastructure is swappable without modifying core logic.
For the memory system specifically, the hybrid search implementation is worth understanding. SQLite's FTS5 extension gives full-text search with BM25 ranking out of the box. Vector search requires storing embeddings as BLOBs and computing cosine similarity at query time. ZeroClaw merges the results using a configurable weighted function:
toml
[memory]
vector_weight = 0.7
keyword_weight = 0.3At a 0.7/0.3 split, semantic similarity from vectors dominates, but exact keyword matches still get meaningful weight. This is a common pattern in production RAG (retrieval-augmented generation) systems — pure vector search misses exact matches, pure keyword search misses semantic meaning, and hybrid search captures both.
The embedding_provider field is set to "none" by default, which disables vector search and falls back to keyword-only. Set it to "openai" or a custom URL to enable embeddings.
The Lightning Studio: ZeroClaw in minutes
One of the fastest ways to get running with ZeroClaw is by cloning a pre-built environment on Lightning.
The template walks you through pulling a model (in this case gpt-oss:20b), running zeroclaw onboard, pointing the config to your local Ollama instance, and starting the daemon.
Open this Lightning Studio
OpenClaw proved the concept: autonomous agents can do things for us.
ZeroClaw proves the execution matters.
Read more blogs and case studies
• Running OpenClaw safely - Mac Mini vs Cloud Laptop
• What is OpenClaw (Formely Clawdbot and Moltbot)?
• View all