Setup
Run the initial NanoClaw setup. Handles dependencies, authentication, containers, and services.
What it does
- Installs Node.js dependencies and verifies system requirements
- Configures container runtime (Docker or Apple Container)
- Sets up Claude authentication
- Guides you through channel setup (WhatsApp, Telegram, Slack, Discord)
- Registers and starts background services via launchd or systemd
- Runs a full verification pass to confirm everything works
What you'll need
- macOS or Linux
- Node.js 22+
- Claude Code installed
- Docker or Apple Container runtime
Install
/setup How it works
The /setup skill is the entry point for getting NanoClaw running. It walks you through every step from a fresh clone to a fully operational agent, and you don’t need to edit a single configuration file by hand.
Setup runs in eight phases:
Phase 1 — Bootstrap. The skill checks that Node.js 22+ is installed and runs npm install to pull dependencies. If Node.js is missing or outdated, it tells you exactly what to install.
Phase 2 — Environment check. If you’re setting up for the first time, this is a clean pass. If you’ve run setup before, the skill detects your existing WhatsApp auth, registered groups, and environment variables so it doesn’t overwrite anything.
Phase 3 — Container runtime. You choose between Docker and Apple Container. On macOS, Apple Container provides fast, lightweight sandboxing optimized for Apple Silicon. On Linux, Docker is the default. The skill verifies the runtime is installed and working, and offers to install it if it’s not.
Phase 4 — Claude authentication. NanoClaw runs on the Claude Agent SDK, which requires either a Claude Code OAuth token or an Anthropic API key. The skill checks if you already have one configured and prompts you to set it up if not.
Phase 5 — Channel setup. This is where you choose which messaging channels to connect. The skill presents a list — WhatsApp, Telegram, Slack, Discord — and delegates to the individual channel skills for each one you select. You can set up one channel now and add more later.
Phase 6 — Mount allowlist. NanoClaw’s containers are isolated by default — agents can only access directories you explicitly allow. The skill lets you configure which directories on your host machine should be available inside the container. This is where you’d add things like project directories, documents folders, or credential paths.
Phase 7 — Service. The skill registers NanoClaw as a background service so it starts automatically and stays running. On macOS this uses launchd; on Linux it uses systemd. After registration, it starts the service immediately.
Phase 8 — Verification. A final check confirms that all components are working: the service is running, the container runtime is accessible, Claude authentication is valid, and at least one messaging channel is connected. If anything fails, the skill provides targeted troubleshooting steps.
After setup
Once setup completes, NanoClaw is running in the background. Messages sent to your registered chats are picked up, processed by Claude inside an isolated container, and responses are sent back through the same channel.
To add more channels later, run the individual channel skills (/add-telegram, /add-slack, etc.). To modify behavior, use /customize. To diagnose issues, use /debug.
Tips
- You can re-run
/setupat any time. It detects existing configuration and skips phases that are already complete. - If you’re on macOS with Apple Silicon, Apple Container is the recommended runtime — it’s faster and lighter than Docker for this use case.
- The service registration step is optional. You can skip it and run NanoClaw manually with
npm startif you prefer.