Meet NanoCo, maintainers of NanoClaw: we raised $12M to give every member of your team a professional assistant →

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.

30.6k+ stars on GitHub

Why NanoClaw?

NanoClaw delivers the same core functionality in a codebase you can actually understand.

NanoClaw
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.

Messaging Apps
WhatsApp, Slack, …
Router
inbound.db
Container
Bun + selected provider
Delivery
outbound.db
Back to channel
streamed reply

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.

Terminal
$ 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.

Requirements

macOS, Linux, or Windows (WSL2) Node.js 20+ & pnpm 10+ Claude or Codex credential Docker (Desktop or Engine)

In the News

FAQ

What is NanoClaw?

NanoClaw is a lightweight, open-source personal AI agent that runs on your own machine. It connects to the messaging apps you choose, runs every active session inside an isolated Docker container, and routes credentials through OneCLI's Agent Vault by default so agents never hold raw API keys. Claude is the default provider; Codex, OpenCode, and Ollama can be configured per agent group.

How is NanoClaw different from OpenClaw?

NanoClaw keeps one Node.js host process and a focused, auditable codebase, then runs every active agent session behind OS-level container isolation. Channels and alternative providers are installed as skills, so your fork carries only the integrations you choose.

Is NanoClaw secure?

Security is a core design principle. Every active session runs in its own unprivileged Docker container and sees only the files you give it. By default, credentials stay in OneCLI's Agent Vault and never enter the container. Egress lockdown, mount rules, sender policies, and human approvals can narrow the blast radius further.

Do I need to know how to code to use NanoClaw?

No. Run bash nanoclaw.sh and the installer handles dependencies, provider credentials, containers, and pairing your first channel. For later changes, a coding agent such as Claude Code, Codex, or OpenCode can apply NanoClaw's skills. Comfort with a terminal and git clone is expected.

Is NanoClaw free?

NanoClaw is free and open source under the MIT license. Your agent provider may charge for model usage: Claude accepts an API key or Claude subscription, Codex accepts a ChatGPT subscription or OpenAI API key, and OpenCode uses the providers you configure. Local Ollama models can run without a hosted-model bill.

What messaging apps does NanoClaw support?

WhatsApp, WhatsApp Cloud, Telegram, Discord, Slack, Microsoft Teams, Mattermost, iMessage, Signal, Matrix, Google Chat, Webex, Linear, GitHub, WeChat, Delta Chat, Emacs, and email via Resend. Channels are installed on demand with /add-<channel> skills, so you only carry the adapters you use. Run one or many, each wired to its own agent or sharing one.

What container runtimes are supported?

Docker is the only supported container runtime. It works on macOS, Linux, and Windows through WSL2.

Can I run NanoClaw on Linux or Windows?

Yes. NanoClaw runs on macOS, Linux, and Windows through WSL2. Bring git and a credential for the provider you choose; bash nanoclaw.sh installs Node.js, pnpm, Docker, and OneCLI when they are missing.

How do I set up and configure NanoClaw?

Clone the repo and run bash nanoclaw.sh. The script installs dependencies, prepares Docker and OneCLI, asks whether Claude or Codex should power the first agent, stores that provider's credential in the vault, and pairs a local CLI or messaging channel. For later changes, run the same repository skills from Claude Code, Codex, or OpenCode.

How does NanoClaw compare to other AI agent frameworks?

NanoClaw is for people who want a personal AI assistant they own and control. One Node.js host process coordinates isolated, per-session Docker containers. Claude is the default provider; Codex can be selected during setup, and Codex, OpenCode, or local Ollama models can be configured per agent group.

Is NanoClaw open source?

Yes. NanoClaw is fully open source under the MIT license. The entire codebase is available on GitHub, and contributions are welcome. The project encourages forking and customization. The philosophy is that your personal AI agent should be working software tailored to your exact needs, not a generic framework you configure.