campaign Announcements
This is a fan-made community site. Use only the official repository (github.com/qwibitai/nanoclaw) as the source of truth.
No official fundraising/investment program has launched. Ignore impersonation attempts and unofficial claims.
Anthropic OAuth terms changed (2026-02-19). Avoid Claude Code OAuth integrations temporarily until policy risk is clarified.
info Introduction
NanoClaw is a lightweight, fully autonomous personal AI assistant built on the Anthropic Claude Agent SDK. Agents run in isolated Linux containers (Apple Container on macOS, Docker on Linux/macOS). WhatsApp built-in, other channels via skills. Persistent SQLite memory, scheduled tasks, web access, and Agent Swarms.
download Installation
NanoClaw is a TypeScript project. Clone the repo and install with npm.
npm / Claude CLI
# macOS / Linux — clone and setup
git clone https://github.com/qwibitai/NanoClaw.git
cd NanoClaw
claude
# Then run /setup in the Claude session
# Or install Claude CLI first:
npm install -g @anthropic-ai/claude-code Quick Setup (Recommended)
git clone https://github.com/qwibitai/NanoClaw.git
cd NanoClaw
claude
# Run /setup inside the Claude session
# With environment variables pre-configured:
ANTHROPIC_API_KEY="sk-..." claude
# Quick start after setup:
npm start Manual Build & Install
git clone https://github.com/qwibitai/NanoClaw.git
cd NanoClaw
npm install
# Edit src/index.ts to configure your settings
npm start Dev fallback: run 'npm run dev' for development mode with hot reload.
rocket_launch Quick Start
Run onboarding once to set up your config, then start chatting.
# Clone and setup
git clone https://github.com/qwibitai/NanoClaw.git
cd NanoClaw && npm install
# Run setup wizard
npm run setup
# Start NanoClaw
npm start
# Development mode (hot reload)
npm run dev
# Run tests
npm test Configuration is done by editing source code directly. API keys go in .env, channel config in src/index.ts.
terminal Commands
NanoClaw uses npm scripts for every workflow.
| Command | Description |
|---|---|
npm run setup | Interactive setup wizard — dependencies, authentication, container setup, service config |
npm start | Start the agent (runs compiled dist/index.js) |
npm run dev | Development mode with hot reload (tsx src/index.ts) |
npm run build | Compile TypeScript to dist/ |
npm test | Run test suite (vitest) |
npm run auth | WhatsApp authentication — QR code pairing (tsx src/whatsapp-auth.ts) |
forum Channels
WhatsApp is the built-in channel (via Baileys library). Other channels — Telegram, Discord, Slack — can be added via Claude Code skills (/add-telegram, /add-discord, /add-slack). Each group gets its own isolated container and CLAUDE.md memory.
# WhatsApp (built-in via Baileys library)
# Run 'npm run auth' to pair via QR code
# Per-group containers with isolated CLAUDE.md memory
# Add more channels via Claude Code skills:
# /add-telegram — Telegram bot support
# /add-discord — Discord gateway support
# /add-slack — Slack Events API support
# Start the agent (connects WhatsApp)
npm start Tip: Run /add-telegram or /add-discord in Claude Code to add more channels. Skills modify your fork's source code directly.
build Tools
Tools are capabilities the agent can invoke during a conversation. All built-in tools are sandboxed and workspace-scoped by default.
# Built-in tools (provided by Claude Code inside containers):
# shell commands, file read/write, web search,
# web browsing (Chromium + agent-browser),
# agent delegation (swarms)
# Host-provided capabilities:
# SQLite memory, scheduled tasks (cron),
# WhatsApp messaging, IPC between host and containers
# Container image includes Chromium and agent-browser
# Apple Container on macOS, Docker on Linux database Memory System
NanoClaw uses SQLite (better-sqlite3) for persistent storage — messages, groups, sessions, and scheduled tasks. Each group also has its own CLAUDE.md file for per-group memory, mounted into its container.
# SQLite database (better-sqlite3)
# Messages, groups, sessions, scheduled tasks, router state
# Per-group CLAUDE.md memory files
# Mounted into each group's container
# IPC via filesystem between host and containers
# No external database — everything is local settings Configuration
NanoClaw doesn't use configuration files. To make changes, tell Claude Code what you want. The codebase is small enough that Claude can safely modify it. API keys go in .env, everything else is in source code.
# NanoClaw doesn't use configuration files
# To make changes, tell Claude Code what you want
# Key files:
# src/index.ts — orchestrator, state, message loop
# src/config.ts — constants, trigger pattern, paths
# .env — API key and runtime settings
# Environment variables:
ANTHROPIC_API_KEY="sk-ant-..."
ASSISTANT_NAME="Andy"
CONTAINER_IMAGE="nanoclaw-agent:latest" model_training AI Providers
NanoClaw runs exclusively on the Anthropic Claude Agent SDK. Claude Code runs inside each container, providing all AI capabilities.
| Component | Description |
|---|---|
Claude Agent SDK | Core AI engine — runs Claude Code inside containers with full tool access |
Claude Code | Installed globally in the container image, handles all agent interactions |
MCP SDK | Model Context Protocol for structured tool communication |
NanoClaw is single-provider by design. The Claude Agent SDK handles model selection internally. Set ANTHROPIC_API_KEY in .env or authenticate via Claude Code OAuth.
key Environment Variables
Environment variables configured in your local .env file. Secrets are read on demand and never loaded into process.env.
# Required
ANTHROPIC_API_KEY=sk-ant-...
# Optional
ASSISTANT_NAME=Andy
ASSISTANT_HAS_OWN_NUMBER=false
CONTAINER_IMAGE=nanoclaw-agent:latest
CONTAINER_TIMEOUT=1800000
TZ=America/New_York | Variable | Description |
|---|---|
ANTHROPIC_API_KEY | Anthropic API key — passed to containers at runtime (required) |
ASSISTANT_NAME | Trigger word for the assistant (default: Andy) |
ASSISTANT_HAS_OWN_NUMBER | Set to 'true' if the assistant has its own WhatsApp number |
CONTAINER_IMAGE | Docker image name for agent containers (default: nanoclaw-agent:latest) |
CONTAINER_TIMEOUT | Max container runtime in ms (default: 1800000 / 30min) |
TZ | Timezone for scheduled tasks (default: system timezone) |
shield Security
Agents run in containers, not behind application-level permission checks. They can only access explicitly mounted directories.
# Container isolation (Apple Container / Docker)
# Each agent runs in its own Linux container
# Secrets passed via stdin JSON, never in process.env
# Mount allowlists with symlink escape detection
# Containers run as non-root with read-only project mounts account_tree Architecture
Single Node.js process. Agents execute in isolated Linux containers with filesystem isolation. Per-group message queue with concurrency control. IPC via filesystem.
| Module | Description |
|---|---|
src/index.ts | Orchestrator — state, message loop, agent invocation |
src/config.ts | Configuration constants, trigger pattern, paths |
src/channels/whatsapp.ts | WhatsApp connection via Baileys, auth, send/receive |
src/container-runner.ts | Spawns streaming agent containers with volume mounts |
src/task-scheduler.ts | Runs scheduled tasks via cron expressions |
src/router.ts | Message formatting and outbound routing |
src/db.ts | SQLite operations — messages, groups, sessions, state |
src/ipc.ts | IPC watcher and task processing between host and containers |
skills-engine/ | Skill manifest loading, state management, and replay |
container/ | Dockerfile, agent-runner (Claude Agent SDK), browser automation |
code Development
Standard TypeScript/Node.js workflow. Run 'npm run dev' for development with hot reload.
# Clone the repo
git clone https://github.com/qwibitai/NanoClaw.git
cd NanoClaw
# Install dependencies
npm install
# Run in development mode
npm run dev
# Run tests
npm test
# Build for production
npm run build menu_book Docs Hub
For in-depth documentation, refer to the docs directory in the official repository.
| Document | Path |
|---|---|
| Project Specification | docs/SPEC.md |
| Requirements | docs/REQUIREMENTS.md |
| Security Model | docs/SECURITY.md |
| SDK Deep Dive | docs/SDK_DEEP_DIVE.md |
| Architecture Overview | docs/nanoclaw-architecture-final.md |
| Repository Structure | docs/nanorepo-architecture.md |
| Apple Container Networking | docs/APPLE-CONTAINER-NETWORKING.md |
| Debug Checklist | docs/DEBUG_CHECKLIST.md |
Ready to run the stack?
git clone https://github.com/qwibitai/NanoClaw.git && cd NanoClaw && claude