Quick start
Get NanoClaw up and running in minutes. Claude Code handles everything: dependencies, authentication, container setup, and service configuration.This guide assumes you have Node.js 20+ and Claude Code installed. See Installation for detailed requirements.
Setup process
Fork and clone the repository
Fork qwibitai/nanoclaw on GitHub, then clone your fork:
Forking gives you a remote to push your customizations to. If you just want to try things out,
git clone https://github.com/qwibitai/nanoclaw.git works too — you can migrate to a fork later.Launch Claude Code
Open Claude Code in the NanoClaw directory:This launches Claude Code with access to the NanoClaw codebase.
Run the setup command
In Claude Code, run:Claude Code will automatically handle:
- Installing Node.js dependencies
- Setting up your container runtime (Apple Container or Docker)
- Building the agent container image
- Authenticating with Claude
- Installing the skills marketplace plugin
- Asking which messaging channels you want
- Running the setup skill for each selected channel
- Starting the background service
The
/setup skill is AI-native: no installation wizard, just Claude guiding you through each step.Choose your messaging channels
Claude will ask which platforms you want to connect:
- WhatsApp — via whatsapp-web.js (QR code or pairing code auth)
- Telegram — via grammy (BotFather token)
- Discord — via discord.js (bot application token)
- Slack — via @slack/bolt (Socket Mode app)
- Gmail — via Google API (OAuth credentials)
/add-* skill for each selection, walking you through platform-specific authentication and configuration.You can always add more channels later with
/customize or by running individual skills like /add-telegram.Configure your main channel
Claude will ask you to configure:Trigger word: The word that activates NanoClaw (default:
@Andy)Main channel: The chat where you have full admin control over all groups. Depending on your platform this might be:- A self-chat or DM with the bot
- A private group or channel
- A dedicated conversation
Your main channel has admin privileges. Other groups get standard access.
Verify the setup
Claude will verify that everything is running correctly:✓ Service running
✓ Credentials configured
✓ Messaging channel(s) authenticated
✓ Main channel registered
✓ Container runtime readyIf any checks fail, Claude will help you fix them.
What happens during setup?
Here’s what Claude Code does when you run/setup:
1. Bootstrap dependencies
1. Bootstrap dependencies
- Verifies Node.js 20+ is installed
- Runs
npm installto install dependencies - Tests that native modules (better-sqlite3) load correctly
- Detects your platform (macOS/Linux) and environment (WSL, headless)
2. Container runtime setup
2. Container runtime setup
- macOS: Offers choice between Docker (default) or Apple Container (native)
- Linux: Uses Docker (only option)
- Installs the chosen runtime if not present
- Starts the runtime service
- Builds the agent container image
- Tests that containers can run successfully
3. Claude authentication
3. Claude authentication
- Asks if you have a Claude subscription (Pro/Max) or Anthropic API key
- Subscription: Guides you to run
claude setup-tokenand add token to.env - API key: Guides you to add
ANTHROPIC_API_KEYto.env - These credentials allow agents to authenticate with Claude Code
4. Upstream remote and marketplace
4. Upstream remote and marketplace
- Checks if the
upstreamremote exists; adds it if not:git remote add upstream https://github.com/qwibitai/nanoclaw.git - Verifies
originpoints to your fork (notqwibitai) - Installs the skills marketplace plugin so feature skills are available
5. Channel installation
5. Channel installation
- Asks which messaging channels you want (WhatsApp, Telegram, Discord, Slack, Gmail)
- Runs the corresponding
/add-*skill for each selected channel - Each skill merges its
skill/*branch and walks you through platform-specific auth - After a channel is set up, offers relevant add-ons (e.g., Agent Swarm, voice transcription)
6. Channel configuration
6. Channel configuration
- Syncs groups/chats from your connected platforms
- Registers your main channel in the database
- Creates the main group folder at
groups/main/ - Sets up the
CLAUDE.mdmemory file - Creates mount allowlist at
~/.config/nanoclaw/mount-allowlist.json
7. Service installation
7. Service installation
- macOS: Creates launchd service at
~/Library/LaunchAgents/com.nanoclaw.plist - Linux: Creates systemd service (user or system level)
- WSL without systemd: Creates
start-nanoclaw.shwrapper script - Starts the service
- Verifies the service is running
8. Optional diagnostics
8. Optional diagnostics
At the end of setup, Claude may ask if you’d like to share anonymous diagnostics (OS, architecture, NanoClaw version, selected channels). You’ll see the exact data before anything is sent. Choose Yes, No, or Never ask again to permanently opt out. See Security overview for details.
Usage examples
Once setup is complete, you can start using NanoClaw from any connected channel:Next steps
Customizing NanoClaw
Learn how to modify NanoClaw for your needs
Security model
Understand how container isolation works
Adding skills
Install additional capabilities like
/add-telegramTroubleshooting
Fix common issues
Monitoring and logs
Check what NanoClaw is doing:Updating NanoClaw
To pull upstream changes and merge with your customizations:- Fetch the latest changes from upstream
- Merge with your local modifications
- Run any database migrations
- Rebuild the container if needed
- Restart the service
- Optionally check for skill updates