NanoClaw is a personal AI assistant you message from chat apps, with every agent session running in its own Docker container. It covers the core of OpenClaw in a much smaller codebase (one host process and a handful of source files) and isolates agents at the operating-system level: an agent sees only the directories explicitly mounted into its container, so shell commands run inside the container rather than on the host.
Agents run on Claude Code through Anthropic's Claude Agent SDK by default. Other providers are optional: Codex, OpenCode (for OpenRouter, Google, DeepSeek, and others), and Ollama for local open-weight models, set per agent group so different agents can use different backends in one install. Agents never hold raw API keys. Outbound requests go through a credential gateway, currently OneCLI's Agent Vault, which injects credentials at request time and enforces per-agent policies and rate limits.
Customization happens through code changes rather than configuration files. Trunk ships only the registry and infrastructure, and channels and providers are added to your own fork with skills that copy in just the modules you ask for. Claude Code handles the steps that need judgment, from recovering a failed setup to debugging and modifying the fork.
A single Node host routes each incoming message (user, messaging group, agent group, session) into the session's inbound SQLite queue and wakes its container. The agent runner inside the container processes it and writes replies to an outbound queue, which the host delivers back through the channel adapter.
Features
- Container isolation: every active session runs in its own Docker container on macOS, Linux, or Windows through WSL2
- Messaging channels: WhatsApp, Telegram, Discord, Slack, Microsoft Teams, iMessage, Matrix, Google Chat, Webex, Linear, GitHub, WeChat, and email
- Flexible isolation: one agent per channel, one agent shared across channels, or several channels folded into one shared session
- Per-agent workspace: each agent group has its own instructions, memory, container, and allowed mounts
- Scheduled tasks: recurring jobs run by the agent, with optional script gates that skip waking it when there is no work
- Credential gateway: agents never hold raw API keys, and outbound requests get credentials injected with per-agent policies and rate limits
- Provider choice: Claude through the Claude Agent SDK by default, with Codex, OpenCode, or Ollama added per agent group
- Skills over features: channels and providers install into your fork through skills, so the fork keeps only what you chose
- Agent templates: stamp a ready-to-run agent with instructions, MCP tools, and skills from a reusable bundle
- Agent teammates: spawn teammates from chat, each with its own bot identity, container, and memory
- Web access: agents search and fetch content from the web


