NanoClaw

A container-isolated, customizable assistant for your messaging channels.

Stars
★ 31k
Last updated
today
License
MIT
Primary language
TypeScript

At a glance

How it runs
CLISelf-hosted service
Works with
Portable with changesChatGPT · Codex · Claude Code · OpenAI API · Claude API
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
Node.js 20+pnpm 10+DockerClaude CodeOneCLIShell / CLINetwork accessLocal filesystemMCP Server
Typical use
An individual with an Obsidian vault can explicitly mount that folder for one agent and have it send a weekday sales-pipeline overview.
Not a fit if
  • Teams that need declarative config files instead of code edits
  • Windows users who cannot run Docker or WSL2
  • Users who want a fully offline setup with no cloud LLM

What does this agent do, and when should you use it?

NanoClaw is a self-hosted personal AI assistant designed to run each agent in its own Linux container with only explicitly mounted files available to it. A single Node host process receives messages, routes sessions, wakes containers, and returns responses, while a Bun agent-runner inside each container runs the agent through the Claude Agent SDK. Each session exchanges work through its own inbound.db and outbound.db SQLite files. The project supports install-on-demand messaging adapters, per-agent workspaces and memory, and recurring jobs. It is best suited to individuals who can run Docker and prefer code-level customization over a broad configuration system.

A channel adapter passes an incoming message to the host, and src/router.ts routes it through the user, messaging group, agent group, and session model before writing it to that session's inbound.db. src/container-runner.ts starts the relevant agent-group container; container/agent-runner polls inbound.db, runs the agent with the Claude Agent SDK and MCP tools, then writes its output to outbound.db. src/delivery.ts polls outbound.db and delivers replies or system actions through the channel adapter, while src/host-sweep.ts performs stale detection, due-message wakes, and recurrence work every 60 seconds. OneCLI's Agent Vault injects credentials for outbound requests, so raw API keys do not enter the container.

  1. An individual with an Obsidian vault can explicitly mount that folder for one agent and have it send a weekday sales-pipeline overview.
  2. A developer can give a project group its own agent and schedule it to inspect the previous week's Git history and update a drifting README.
  3. A person active on Telegram, Discord, and WhatsApp can use /manage-channels to choose separate memory, a shared agent, or one shared session across those surfaces.
  4. Someone who wants a routine briefing can schedule a Monday task that compiles AI news from Hacker News and TechCrunch and sends it as a message.
  5. A user operating distinct assistants can configure providers per agent group, including Claude, Codex added through /add-codex, or providers added through OpenCode or Ollama.

How do you install or deploy this agent?

On macOS, Linux, or Windows through WSL2, run:

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

The script installs missing Node, pnpm, and Docker, registers an Anthropic credential with OneCLI, builds the agent container, and pairs a first Telegram, Discord, WhatsApp, or local CLI channel. The documented prerequisites are Node.js 20+, pnpm 10+, Docker, and Claude Code for customization, debugging, setup recovery, and all channel-addition skills.

How do you use this agent?

After pairing a channel, message the assistant with its trigger word; the default is @Andy. For example:

@Andy every Monday at 8am, compile news on AI developments from Hacker News and TechCrunch and message me a briefing

From a channel you own or administer, you can also send “@Andy list all scheduled tasks across groups” or “@Andy pause the Monday briefing task.” Add channel modules with /add-<channel>; the documented provider extensions are /add-codex, /add-opencode, and /add-ollama-provider.

What are this agent's strengths and limitations?

Pros
  • Each agent group runs in a separate Linux container and can be limited to explicitly mounted directories, giving it a defined filesystem boundary.
  • Host-container exchange uses two per-session, single-writer SQLite databases; the README explicitly describes no cross-mount contention, IPC, or stdin piping.
  • Agent groups can have separate memory, CLAUDE.md files, containers, and mounts, which supports practical separation of personal, family, and work contexts.
  • Channels and alternative providers are installed as needed, keeping unselected adapters out of the base checkout.
  • OneCLI Agent Vault injects credentials at request time and documents per-agent policies and rate limits.
Limitations
  • It requires Docker, with Windows supported through WSL2, plus Node.js 20+ and pnpm 10+.
  • Claude Code is a documented requirement for customization, debugging, setup failure recovery, and all /add-<channel> skills; the native path uses Anthropic's Claude Agent SDK.
  • Messaging adapters and alternative providers are not included in trunk by default, so users must run the relevant /add-<name> skill and copy modules into their fork.
  • The project intentionally favors source changes instead of configuration files, which may be a poor fit for teams that need declarative configuration management.
  • Migrating from v1 requires a fresh v2 checkout and migrate-v2.sh; judgment-dependent steps hand off to Claude Code, and the system service is not switched automatically.

How does this agent compare with similar options?

NanoClaw presents itself as a lightweight alternative to OpenClaw. Its README contrasts OpenClaw's larger code and dependency footprint and shared-memory single-Node-process design with NanoClaw's smaller codebase and per-agent Linux-container filesystem isolation.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
NanoClaw This agent 58 · Major gaps CLIFree + model costs ★ 31k today TypeScript ChatGPT · Codex · Claude Code · OpenAI API · Claude API
Hermes Agent Railway Console 61 · Some gaps Self-hosted serviceFree + model costs ★ 325 16d ago Python Claude API
Manifold 60 · Some gaps Self-hosted serviceFree ★ 503 16d ago Go OpenAI API · Claude API
VibePod — Containerized AI Coding Agent Runner 50 · Major gaps CLIFree + model costs ★ 190 4d ago Python Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
58/ 100 5-point scale 2.9 / 5
This review covers the source as of Aug 09, 2026. The project has shipped 4 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 16/29
Reliability 8/14
Adaptability 12/18
Convention 10/18
Effectiveness 9/13
Verifiability 3/8
Why each dimension lost points
Trust16 / 29 · 2.8/5

Evidence shows: agents run in containers with explicit mounts; credentials injected via OneCLI Agent Vault, not entering container; anonymous diagnostics can be disabled; uninstall requires confirmation. Deductions: user confirmation only in uninstall, not other sensitive operations; data flow transparency has architecture description but lacks implementation details; dependency security relies on version pinning without vulnerability scanning evidence; external effects have uninstall and diagnostics control but not comprehensive.

Reliability8 / 14 · 2.9/5

Evidence shows: architecture description consistent with code structure; CI and tests present; dependencies pinned. Deductions: failure messages only mention Claude Code auto-diagnosis without concrete error handling examples; dependency availability lacks mirror or cache strategy.

Adaptability12 / 18 · 3.3/5

Evidence shows: supports multiple channels, providers, customization; trigger word and scheduled tasks; supports macOS/Linux/WSL2. Deductions: capability boundaries not fully listed; environment fit relies on Docker and Claude Code without alternatives.

Convention10 / 18 · 2.8/5

Evidence shows: README, docs, FAQ, CHANGELOG, MIT license; install and migration scripts. Deductions: known limitations not explicitly listed; maintenance responsibility not clearly stated.

Effectiveness9 / 13 · 3.5/5

Evidence shows: output as message replies, scheduled tasks and customization; lighter than OpenClaw. Deductions: cost-benefit lacks performance or resource usage data.

Verifiability3 / 8 · 1.9/5

Evidence shows: README has architecture description and doc links; tests present. Deductions: claims are assertions without independent verification; facts and inferences not clearly separated.

Risks and how to mitigate them
  • Agents run in containers, but review mounts and network config to ensure least privilege.
  • Relies on OneCLI Agent Vault; verify its security and availability.
  • Install script installs Node, pnpm, Docker, may affect system environment; test in isolated environment.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 743e32df4e6c New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v2026.10.1-rc.2 Pre-release
    Release notes excerpt
    NanoClaw 2026.10.1-rc.2 is the second release candidate for 2026.10.1. Installs on the beta channel get this candidate; stable stays on 2026.10.0 until 2026.10.1 is published. Since 2026.10.1-rc.1 it moves OneCLI to 1.45, where new agent groups get only their model key and other keys go to the groups you choose, makes the webhook server listen only on this machine by default, applies egress lockdown to agents that were already running, asks for Node's October 2026 security releases, and lets Claude agents read PDFs; Google Chat now checks that its webhooks come from your app. It also lets …
    View on GitHub ↗
  2. v2026.10.0
    Release notes excerpt
    NanoClaw 2026.10.0 is the first release with calendar version numbers and the first one /update-nanoclaw installs by default: updates now follow published releases instead of the tip of main. It was tested first as 2026.10.0-rc.1 and 2026.10.0-rc.2 on the beta channel. It also makes updates and rollbacks more dependable, lets Iron Proxy reach a keyless local model over plain HTTP, routes the service through an outbound proxy when you have one, and shows Claude's own reason when a run fails. Iron Proxy installs need one setup rerun, so check the section below before you update. …
    View on GitHub ↗
  3. v2.4.0

FAQ

Do agents receive raw API keys?
The README says agents do not hold raw API keys in the container. Outbound requests go through OneCLI's Agent Vault, which injects authentication at request time.
Do I need a NanoClaw account to build locally?
No. Local builds are the documented default and require no account. The optional prebuilt agent image requires a free account and exposes an email address and image-request time to the image service.
Can I use a provider other than Claude?
Yes, through the documented on-demand extensions /add-codex, /add-opencode, and /add-ollama-provider. Providers can be configured per agent group.
What happens if setup fails?
nanoclaw.sh is documented to invoke Claude Code to diagnose the failure and resume. If that does not resolve it, the README recommends running claude and then /debug.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents