NanoClaw is a free, open source ai interaction & interfaces project written in TypeScript and released under MIT. It has 30,794 GitHub stars, 12,831 forks and 1,102 open issues, and was last pushed 6 hours ago. On this registry it ranks #20 of 76 tracked projects in AI Interaction & Interfaces, with 5 head-to-head comparisons available. It gained 48 stars over the last 6 tracked days.

NanoClaw — Personal AI agent for messaging apps, containerized

What is NanoClaw?

What it is

NanoClaw is a personal AI agent framework that runs lightweight, containerized agents for messaging platforms. It lives in the open-source AI agent ecosystem and serves as a security-hardened, minimal alternative to OpenClaw. The project prioritizes transparency and control by limiting its codebase to a single process and a handful of files, avoiding the complexity and shared-memory risks of larger frameworks.

It solves the problem of running untrusted AI agents safely on user-owned infrastructure. Unlike OpenClaw—which runs everything in one Node process with application-level isolation—NanoClaw isolates each agent in its own Linux container with filesystem and process separation. This ensures that agent actions (e.g., executing shell commands via Claude Code) cannot compromise the host system.

Key capabilities

  • Runs agents in isolated Linux containers with filesystem-level separation
  • Connects directly to WhatsApp, Telegram, Slack, Discord, Gmail, iMessage, and CLI via channel adapters
  • Supports per-agent memory, scheduled jobs, and shared canvases/rooms
  • Integrates with Anthropic’s Agents SDK for native Claude Code orchestration
  • Boots from a single shell script (nanoclaw.sh) that installs dependencies, builds containers, and pairs channels
  • Migrates state from v1 using migrate-v2.sh, preserving auth, sessions, and scheduled tasks
  • Invokes Claude Code automatically on install failures to diagnose and resume setup

Who uses it and how

  • Individual developers deploy it locally to run custom AI assistants with full auditability
  • Privacy-conscious users run agents on personal hardware without sending data to third-party platforms
  • Teams spin up multiple agents in Slack, each with its own bot identity, container, and memory, while sharing rooms and canvases

Getting started

Clone the repo and run bash nanoclaw.sh to install dependencies (Node, pnpm, Docker), register Anthropic credentials via OneCLI, build the agent container, and pair a channel. Migration from v1 uses bash migrate-v2.sh with interactive prompts and shell I/O.

When to use it — and when not to

Use NanoClaw when you need full control, container-level isolation, and a small, auditable codebase for personal or experimental AI agents. Avoid it if you require enterprise-grade orchestration, multi-tenancy, or managed hosting—NanoClaw is self-hosted only and expects users to operate Docker, a local database, and SMTP for notifications if needed. It trades scalability and plug-and-play convenience for transparency and security.

project readme (upstream, from github) — read inline

An AI assistant that runs agents securely in their own containers. Lightweight, built to be easily understood and completely customized for your needs.

nanoclaw.dev  •   docs  •   中文  •   日本語  •   한국어  •   Discord  •  


NEW! Agents in Slack: one app per agent

Setup provisions each agent its own Slack app: manifest, avatar, and workspace install, no tokens to paste. Spawn teammates from chat: every one gets its own bot identity, container, and memory, with shared rooms and canvases.

Quick Start


Why I Built NanoClaw

OpenClaw is an impressive project, but I wouldn't have been able to sleep if I had given complex software I didn't understand full access to my life. OpenClaw has nearly half a million lines of code, 53 config files, and 70+ dependencies. Its security is at the application level (allowlists, pairing codes) rather than true OS-level isolation. Everything runs in one Node process with shared memory.

NanoClaw provides that same core functionality, but in a codebase small enough to understand: one process and a handful of files. Agents run in their own Linux containers with filesystem isolation, not merely behind permission checks.

Quick Start

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 a named agent you can message. It installs Node, pnpm, and Docker if missing, registers your Anthropic credential with OneCLI, builds the agent container, and pairs your first channel (Slack, Telegram, Discord, WhatsApp, iMessage, or a local CLI). If a step fails, Claude Code is invoked automatically to diagnose and resume from where it broke.

Migrating from NanoClaw v1?

Run from a fresh v2 checkout next to your v1 install:

git clone https://github.com/nanocoai/nanoclaw.git nanoclaw-v2
cd nanoclaw-v2
bash migrate-v2.sh

migrate-v2.sh finds your v1 install (sibling directory, or NANOCLAW_V1_PATH=/path/to/nanoclaw), migrates state into the v2 checkout, then execs into Claude Code to finish the parts that need judgment (owner seeding, shared-memory migration, fork-customisation replay).

Run the script directly, not from inside a Claude session — the deterministic side needs interactive prompts and real shell I/O for Node/pnpm bootstrap, Docker, OneCLI, and the container build.

What it does: merges .env, seeds the v2 DB from registered_groups, copies group folders + session data + scheduled tasks, installs the channel adapters you select, copies channel auth state (including the Baileys keystore for WhatsApp — LID mapping is now resolved per-message by the Baileys v7 adapter, not migrated), builds the agent container.

What it doesn't: flip the system service. Pick "switch to v2" at the prompt, or do it manually after testing — your v1 install is left untouched.

See docs/v1-to-v2-changes.md for what's different and docs/migration-dev.md for development notes.

Philosophy

Small enough to understand. One process, a few source files and no microservices. If you want to understand the full NanoClaw codebase, just ask Claude Code to walk you through it.

Secure by isolation. Agents run in Linux containers and they 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, NanoClaw is designed to be bespoke. You make your own fork and have Claude Code modify it to match your needs.

Customization = code changes. No configuration sprawl. Want different behavior? Modify the code. The codebase is small enough that it's safe to make changes.

AI-native, hybrid by design. The install and onboarding flow is an optimized scripted path, fast and deterministic. When a step needs judgment, whether a failed install, a guided decision, or a customization, control hands off to Claude Code seamlessly. Beyond setup there's no monitoring dashboard or debugging UI either: describe the problem in chat and Claude Code handles it.

Skills over features. Trunk ships the registry and infrastructure, not specific channel adapters or alternative agent providers. Channels (Discord, Slack, Telegram, WhatsApp, …) live on a long-lived channels branch; alternative providers (OpenCode, Ollama) live on providers. You run /add-telegram, /add-opencode, etc. and the skill copies exactly the module(s) you need into your fork. No feature you didn't ask for.

Best harness, best model. NanoClaw natively uses Claude Code via Anthropic's official Claude Agent SDK, so you get the latest Claude models and Claude Code's full toolset, including the ability to modify and expand your own NanoClaw fork. Other providers are drop-in options: /add-codex for OpenAI's Codex (ChatGPT subscription or API key), /add-opencode for OpenRouter, Google, DeepSeek and more via OpenCode, and /add-ollama-provider for local open-weight models. Provider is configurable per agent group.

What It Supports

  • Multi-channel messaging — WhatsApp, Telegram, Discord, Slack, Microsoft Teams, iMessage, Matrix, Google Chat, Webex, Linear, GitHub, WeChat, and email via Resend. Installed on demand with /add- skills. Run one or many at the same time.
  • Flexible isolation — connect each channel to its own agent for full privacy, share one agent across many channels for unified memory with separate conversations, or fold multiple channels into a single shared session so one conversation spans many surfaces. Pick per channel via /manage-channels. See docs/isolation-model.md.
  • Per-agent workspace — each agent group has its own CLAUDE.md, its own memory, its own container, and only the mounts you allow. Nothing crosses the boundary unless you wire it to.
  • Scheduled tasks: recurring jobs executed by the agent, with optional script gates that avoid waking it when there is no work
  • Web access — search and fetch content from the web
  • Container isolation — agents are sandboxed in Docker containers (macOS/Linux/WSL2)
  • Credential security — 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.
  • Agent templates: stamp a ready-to-run agent (instructions + MCP tools + skills, no secrets) from a reusable bundle via ncl groups create --template . Templates load from the local templates/ folder; populate it by hand or by copying from the public library. See docs/templates.md.

Accounts and what leaves your machine

NanoClaw has no user accounts. The only thing it reports is anonymous setup diagnostics, and NANOCLAW_NO_DIAGNOSTICS=1 turns those off. Your agents, messages, files and keys never leave your machine.

One opt-in exception: you can fetch a prebuilt agent image instead of building it locally. Fetching ours needs a free account, so we see your email address and when you ask for an image — nothing about your agents, and nothing after the image lands. Building locally needs no account and contacts nothing, and is the default. The same account unlocks the perks below.

Perks

The free account also opens the community portal at portal.nanoclaw.dev, a dashboard where you switch on what the account offers. Today that is Echo's hardened agent image and a managed Slack app for your agent, created and installed for you with no tokens to paste. Everything else in NanoClaw works without it.

Setup opens the portal once. You sign in in the browser, ap

readme truncated — read the full docs on github

Frequently asked questions

Is NanoClaw free to use?

NanoClaw is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does NanoClaw do?

Personal AI agent for messaging apps, containerized

What is NanoClaw written in?

NanoClaw is primarily written in TypeScript. Its source is publicly available at https://github.com/nanocoai/nanoclaw, and it has 30,794 GitHub stars.