Automation & Ops container-isolationdockermessaging-channelsscheduled-tasksclaude-agent-sdkonecli

NanoClaw

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

FollowAgents review · FARS-2.1
Not recommended
58/ 100 5-point scale 2.9 / 5
1 2 3 4 5 6
Per-dimension scores and reasoning
1Trust16 / 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.

2Reliability8 / 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.

3Adaptability12 / 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.

4Convention10 / 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.

5Effectiveness9 / 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.

6Verifiability3 / 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.

Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 743e32df4e6c
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Before you use it
  • 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.
Review evidence [1][2][3][4][5][6][7][8]
See the full review method →

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.

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

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.

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.

Compare agents like this one

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

Related agents