OpenClaw Setup Guide: Deploy Your Personal AI Assistant in 10 Minutes
OpenClaw is a self-hosted gateway that turns your favorite messaging apps into direct lines to a powerful AI assistant. Unlike hosted services, you control the infrastructure, the data never leaves your machine, and you can customize everything. This guide walks you through installation, configuration, and your first conversation.
What You'll Get
By the end of this guide, you'll have:
- OpenClaw Gateway running as a system service (launchd on macOS, systemd on Linux)
- WhatsApp or Telegram connected and ready to receive messages
- A personal AI assistant you can message from your pocket
- Full control over your data and privacy
Prerequisites
Before you begin:
- Node.js 22 or higher — check with
node --version - npm, pnpm, or bun — we'll use npm here
- API key from your chosen provider — OpenAI, Anthropic, or another supported model provider
- 10 minutes — seriously, that's all it takes
Step 1: Install OpenClaw
Open your terminal and run:
npm install -g openclaw@latest
Verify installation:
openclaw --version
You should see a version number like 2026.3.4 or similar.
Step 2: Run the Onboarding Wizard
OpenClaw includes a guided wizard that handles everything: workspace setup, model configuration, channel pairing, and daemon installation.
openclaw onboard --install-daemon
The wizard will walk you through:
~/.openclaw/ for config and credentials~/.openclaw/credentialsChoosing a Channel
The wizard supports multiple channels. Here's what to pick based on your use case:
- WhatsApp — best for personal use, requires QR code pairing
- Telegram — easiest setup, just create a bot via @BotFather
- Discord — great for communities and groups
- Slack — ideal for team workflows
- Signal, iMessage, IRC, Matrix, and more — all supported
Pairing Telegram
/newbot and follow the prompts to create a bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11)The wizard stores your token securely and configures the channel.
Pairing WhatsApp
If you chose WhatsApp:
Step 3: Start the Gateway
If you ran the wizard with --install-daemon, the Gateway is already running as a system service. Check its status:
openclaw status
You should see:
Gateway: running
Channels: telegram (connected)
Model: anthropic/claude-opus-4-6
If the Gateway isn't running, start it manually:
openclaw gateway --port 18789
Tip: The default port is 18789. You can change it in ~/.openclaw/openclaw.json under gateway.port.
Step 4: Send Your First Message
Now for the fun part. Open your chosen messaging app and send a message to your bot:
Example:
"Hey! What's the weather in San Francisco?"
Your assistant will respond within seconds. Try a few more:
- "Summarize the latest AI news"
- "Write a haiku about self-hosting"
- "Help me debug this Python error: [paste error]"
Step 5: Access the Control UI
OpenClaw includes a web dashboard for monitoring sessions, viewing logs, and managing config. Open your browser and navigate to:
http://127.0.0.1:18789/
You'll see:
- Active sessions — who's talking to the assistant right now
- Message history — full transcripts (stored locally)
- Gateway health — uptime, memory usage, model status
- Config editor — tweak settings without editing JSON files
Step 6: Configure Your Assistant
OpenClaw stores its config in ~/.openclaw/openclaw.json. Here are a few settings you might want to tweak:
Set Your Timezone
{
"agents": {
"defaults": {
"userTimezone": "America/New_York"
}
}
}
Add a Fallback Model
If your primary model is unavailable, OpenClaw can automatically fail over:
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-opus-4-6",
"fallbacks": ["openai/gpt-4o", "anthropic/claude-sonnet-4-5"]
}
}
}
}
Restrict Who Can Message You
For security, you can allowlist specific phone numbers or usernames:
{
"channels": {
"telegram": {
"allowFrom": ["@your_username", "1234567890"]
}
}
}
Tip: Use openclaw doctor to validate your config and catch common mistakes.
Next Steps
Add More Channels
You can connect multiple channels to the same Gateway:
openclaw channels login
Follow the prompts to pair WhatsApp, Discord, Slack, or any other supported channel.
Install Skills
Skills extend what your assistant can do. Browse the ClawHub marketplace:
npm install -g clawhub
clawhub search weather
clawhub install weather
Now your assistant can check the weather, manage GitHub issues, send emails, and more.
Enable Browser Control
OpenClaw can control a headless Chromium instance for web automation:
{
"browser": {
"enabled": true
}
}
Restart the Gateway, and your assistant can now browse the web, fill forms, take screenshots, and more.
Set Up Heartbeats
Heartbeats let your assistant check in periodically without you prompting it. Useful for monitoring emails, calendars, or CI pipelines:
{
"agents": {
"defaults": {
"heartbeat": {
"every": "30m",
"activeHours": {
"start": "08:00",
"end": "23:00",
"timezone": "America/New_York"
}
}
}
}
}
Your assistant will wake up every 30 minutes during active hours and check for things that need attention.
Deploy to a Server
Running OpenClaw on your laptop works great, but deploying to a VPS means your assistant is always available. See the VPS Hosting guide for DigitalOcean, Hetzner, or Fly.io setups.
Troubleshooting
Gateway Won't Start
Check the logs:
openclaw logs --tail 50
Common issues:
- Port already in use: Change
gateway.portin your config - Invalid API key: Re-run
openclaw onboardto update credentials - Missing Node.js: Upgrade to Node 22+
Channel Disconnected
For WhatsApp:
openclaw channels login
Scan the QR code again.
For Telegram:
Verify your bot token is correct in ~/.openclaw/openclaw.json under channels.telegram.botToken.
Assistant Not Responding
Run a health check:
openclaw health --json
This shows model status, channel connections, and any errors.
Security Best Practices
OpenClaw is designed for single-user, personal use. Here's how to keep it secure:
dmPolicy: "pairing" to require approval before unknown senders can message you18789) to the public internetopenclaw security audit --deep to catch misconfigurationsWhat You Just Built
You now have:
- A self-hosted AI assistant that never sends your data to a third-party service
- Multi-channel access (message from WhatsApp, Telegram, Discord, wherever)
- Full control over the model, memory, tools, and behavior
- A foundation you can extend with skills, automation, and integrations
Welcome to the self-hosted AI revolution. 🦞