NanoClaw
Your personal AI agent. Secure. Lightweight. Yours.
The official website for NanoClaw, the secure personal AI agent. NanoClaw runs securely in containers, built to be understood and customized for your own needs.
Why NanoClaw?
NanoClaw delivers the same core functionality in a codebase you can actually understand.
| | OpenClaw | |
|---|---|---|
| Runtime TypeScript files | 200 | 3,680 |
| Runtime TypeScript lines | ~29,300 | 434,453 |
| Direct runtime dependencies | 12 | 70 |
| Manual config files | 0 | 53 |
| Time to understand | An afternoon | 1–2 weeks |
| Security model | OS container isolation | Application-level checks |
| Architecture | Single process + isolated containers | Single process, shared memory |
What It Supports
A small core. Add only the channels, providers, and tools you choose.
Multi-channel messaging
WhatsApp, Telegram, Slack, Discord, Signal, and more. Add only the channels you use, then run one or many at the same time.
Container isolation
Every agent session runs in an isolated Docker container on macOS, Linux, or Windows through WSL2.
Flexible isolation V2
Connect each channel to its own agent for full privacy, share one agent across many channels for unified memory, or fold multiple channels into a single shared session. Pick per channel.
Per-agent workspace
Each agent group keeps its own instructions, memory, credentials, and allowed mounts. Every active session gets a separate container.
Scheduled tasks
Scheduled jobs run with the provider you choose and message you back. Morning briefings, weekly reviews, and more.
Skills over features
Add a channel, provider, or tool with a skill. Your fork keeps only the integrations you choose.
AI-native, hybrid by design
The installer handles the happy path. When something needs judgment, your coding agent takes over. No dashboard required — describe the problem in chat.
Credential security
By default, agents never hold raw API keys. Outbound requests route through OneCLI's Agent Vault, which injects credentials at request time and enforces per-agent policies and rate limits.
Architecture
One Node host. One Docker container per active session. A pair of SQLite queues moves messages across the boundary.
Single host process
One Node host routes every message to the right session, writes it to inbound.db, and wakes its container. No microservices. No message brokers.
Per-session containers
Every active session runs in its own container with its own message databases. Sessions in one agent group share that group's workspace and memory; separate groups do not.
Credential isolation
By default, outbound HTTPS routes through OneCLI's Agent Vault, which injects credentials at request time and enforces per-agent policies and rate limits. Agents never hold raw API keys.
Self-registering extensions
Channels and providers register themselves. Add one with a skill; leave the rest out of your fork.
Key files
src/index.ts — Entry point — DB init, channel adapters, delivery polls, sweep src/container-runner.ts — Starts each session container and connects its provider and credentials src/router.ts — Inbound routing: messaging group → agent group → session → inbound.db src/delivery.ts — Polls outbound.db, delivers via adapter, handles system actions src/db/ — Central DB — users, roles, agent groups, messaging groups, wiring, migrations src/host-sweep.ts — 60s sweep — stale detection, due-message wake, recurrence Philosophy
The principles that shape every NanoClaw decision.
Small enough to understand
One host process. No microservices. Small enough to trace a message from the channel to the agent and back.
Secure by isolation
Agents run in Linux containers and can only see what's explicitly mounted. Bash access is safe because commands run inside the container, not on your host.
Built for the individual user
NanoClaw isn't a monolithic framework; it's software that fits each user's exact needs. Instead of becoming bloatware, it's designed to be bespoke. Fork it and have your coding agent shape it to you.
AI-native, hybrid by design
The install and onboarding flow is scripted, fast, and deterministic. When a step needs judgment — a failed install, a guided decision, a customization — your coding agent can take over.
Skills over features
The core carries the registry and infrastructure, not every channel or provider. Add only what you need with a skill, and keep the rest out of your fork.
Choose your provider
Claude is the default. Choose Codex during setup, or add OpenCode or Ollama later. Each agent group can use a different provider.
Get Started with NanoClaw in 3 Lines
Clone NanoClaw, enter the directory, and run the install script.
$ git clone https://github.com/nanocoai/nanoclaw.git nanoclaw-v2
$ cd nanoclaw-v2
$ bash nanoclaw.sh nanoclaw.sh walks you from a fresh machine to an agent you can message. It installs what you need, asks whether Claude or Codex should power the first agent, protects the credential with OneCLI, and pairs your first channel.