Frequently Asked Questions
Quick answers to common questions about OpenClaw. Based on official documentation.
🚀Getting Started
What is OpenClaw?
OpenClaw is an open-source AI assistant framework that connects to chat platforms like Telegram, Discord, WhatsApp, Slack, and more. It's designed for developers and power users who want full control over their AI assistant.
Unlike closed AI services, you own your data, can self-host, and customize everything. Run it locally or in the cloud.→ See full guide
Unlike closed AI services, you own your data, can self-host, and customize everything. Run it locally or in the cloud.→ See full guide
How do I install OpenClaw?
macOS/Linux:
curl -fsSL https://openclaw.ai/install.sh | bashWindows (PowerShell):
iwr -useb https://openclaw.ai/install.ps1 | iexThen run the wizard:
openclaw onboard --install-daemonThe wizard configures auth, gateway settings, and optional channels.→ See full guide
What are the prerequisites?
Node.js 22+ - Check with:
API Key - Get from Anthropic (recommended), OpenAI, Google, MiniMax, or others
Optional: A chat platform account (Telegram bot, Discord app, WhatsApp)→ See full guide
node --versionAPI Key - Get from Anthropic (recommended), OpenAI, Google, MiniMax, or others
Optional: A chat platform account (Telegram bot, Discord app, WhatsApp)→ See full guide
How do I start chatting?
Fastest method - No channel needed:
With a channel: After running
openclaw dashboardOpens the Control UI at
http://127.0.0.1:18789With a channel: After running
openclaw onboard, message your connected Telegram/Discord/WhatsApp bot.→ See full guideHow do I run the gateway in the foreground?
Useful for testing or debugging:
openclaw gateway --port 18789This runs the Gateway without installing as a service.
How do I send a test message?
Requires a configured channel:
openclaw message send --target +15555550123 --message "Hello from OpenClaw"Works with Telegram user IDs, Discord channel IDs, or phone numbers.
💬Chat Channels
What chat platforms are supported?
Core channels:
See all channels at the official docs.→ See full guide
- WhatsApp (via Baileys, QR pairing)
- Telegram (bot API via grammY)
- Discord (Bot API + Gateway)
- Slack (Bolt SDK)
- IRC (classic IRC servers)
See all channels at the official docs.→ See full guide
How do I connect Telegram?
1. Open Telegram, search for @BotFather
2. Send /newbot and follow prompts
3. Copy your bot token
4. Run:
5. Paste your token when prompted
Your bot will respond to mentions and DMs.→ See full guide
2. Send /newbot and follow prompts
3. Copy your bot token
4. Run:
openclaw channels login --channel telegram5. Paste your token when prompted
Your bot will respond to mentions and DMs.→ See full guide
How do I connect Discord?
1. Go to discord.com/developers
2. Create Application → Bot → Reset Token
3. Enable "Message Content Intent" in Bot settings
4. Copy token, run:
5. Invite bot to your server→ See full guide
2. Create Application → Bot → Reset Token
3. Enable "Message Content Intent" in Bot settings
4. Copy token, run:
openclaw channels login --channel discord5. Invite bot to your server→ See full guide
How do I connect WhatsApp?
Run:
Scan the QR code with your WhatsApp app. The session persists until you explicitly log out.
Note: One device at a time - logging in elsewhere will log out the previous session.→ See full guide
openclaw channels login --channel whatsappScan the QR code with your WhatsApp app. The session persists until you explicitly log out.
Note: One device at a time - logging in elsewhere will log out the previous session.→ See full guide
Can I use multiple channels at once?
Yes! Run
You can also set up different agents per channel using bindings.→ See full guide
openclaw channels login for each platform. All connected channels route to your AI.You can also set up different agents per channel using bindings.→ See full guide
How do groups work?
Group behavior varies by channel:
- Telegram: Bot can be added to groups, respond to mentions or keywords
- Discord: Respond to mentions or in specific channels
- WhatsApp: Limited group support
🤖Models & AI
Which model should I use?
Best Value: MiniMax M2.5 - ~$0.40/M tokens, excellent coding
Best Overall: Claude Sonnet 4.5 - great reasoning at reasonable price
Best for Coding: Claude Opus 4.6 or Qwen 2.5 Coder (local)
Free Option: Ollama with Llama 3.3 (local, no API costs)
See our Models page for full comparison.→ See full guide
Best Overall: Claude Sonnet 4.5 - great reasoning at reasonable price
Best for Coding: Claude Opus 4.6 or Qwen 2.5 Coder (local)
Free Option: Ollama with Llama 3.3 (local, no API costs)
See our Models page for full comparison.→ See full guide
How do I change the model?
List available models:
openclaw models listSet a new model:
openclaw models set anthropic/claude-sonnet-4-5Or edit your config directly to set fallbacks.→ See full guide
Can I run models locally?
Yes! Install Ollama from ollama.ai, then:
ollama pull llama3.3 ollama pull mistral ollama pull qwen2.5-coderOpenClaw auto-detects Ollama at
http://localhost:11434→ See full guideHow does API key rotation work?
Set multiple keys:
OPENAI_API_KEYS="sk-key1,sk-key2,sk-key3"OpenClaw automatically rotates to the next key when hitting rate limits. Only rate-limit errors (429) trigger rotation.→ See full guide
What model providers are supported?
Built-in: OpenAI, Anthropic, Google Gemini, MiniMax, OpenRouter, Groq, Cerebras, Mistral, xAI, Hugging Face, and more.
Self-hosted: Ollama, vLLM, LM Studio, any OpenAI-compatible API.
See official docs for full list.→ See full guide
Self-hosted: Ollama, vLLM, LM Studio, any OpenAI-compatible API.
See official docs for full list.→ See full guide
⚙️Configuration
How do I configure multiple users?
Set DM isolation in your config:
{"session": {"dmScope": "per-peer"}}Use allowFrom to whitelist specific users:{"channels": {"telegram": {"dmPolicy": "allowlist", "allowFrom": ["123456789"]}}}→ See full guideHow do I set up a reverse proxy?
We have guides for both Nginx and Caddy. Key settings:
- Enable WebSocket support
- Set timeout to 24h+ (OpenClaw uses long-lived connections)
- Configure SSL/TLS
Where is the config file?
Default:
Custom path:
~/.config/openclaw.jsonCustom path:
export OPENCLAW_CONFIG_PATH=/path/to/config.jsonView current config:
openclaw configureWhat environment variables are available?
OPENCLAW_HOME- Home directory for path resolutionOPENCLAW_STATE_DIR- State directory overrideOPENCLAW_CONFIG_PATH- Config file path overrideANTHROPIC_API_KEY,OPENAI_API_KEY, etc. - Provider API keys
🔧Troubleshooting
Gateway won't start - what to check?
Run the diagnostic tool:
openclaw doctorCommon issues:
- No API key - run openclaw onboard
- Port in use - check other processes on 18789
- Docker not running - start Docker daemon
- Invalid API key - verify in provider dashboard
Why am I getting rate limited?
Solutions:
- Set fallback models in config
- Enable API key rotation with multiple keys
- Use a faster model (Haiku, GPT-4o Mini)
- Add delay between requests
Messages not being received?
Check channel status:
openclaw channels statusVerify:
- Bot is in the channel/chat
- Bot has required permissions
- Webhook/connection is active
- Check openclaw logs for errors
High memory usage?
Common causes:
- Large context/memory files - run
openclaw memory trim - Many concurrent sessions - reduce maxConcurrent
- Long conversation history - adjust contextTokens limit
🔒Security
How do I secure my OpenClaw?
Quick security audit:
openclaw security auditEssential tips:
- Don't share your API keys
- Use allowlists to restrict channel access
- Run behind a reverse proxy with auth
- Never commit .env files to git
- Enable HTTPS in production
- Use DM isolation for multi-user
What's the hardened security baseline?
Start with this baseline config:
{"gateway": {"mode": "local", "bind": "loopback", "auth": {"mode": "token"}}, "session": {"dmScope": "per-channel-peer"}, "tools": {"profile": "messaging"}}This keeps the Gateway local-only, isolates DMs, and uses minimal tools.Is my data secure?
You control your data:
- Self-host on your own infrastructure
- All data stays in your workspace
- Choose which data to share with AI providers
- Clear memory/conversations anytime
How do credentials get stored?
- WhatsApp:
~/.openclaw/credentials/whatsapp/<accountId>/creds.json - Telegram bot token: config/env or
channels.telegram.tokenFile - Discord bot token: config/env
- Pairing allowlists:
~/.openclaw/credentials/<channel>-allowFrom.json - Model auth profiles:
~/.openclaw/agents/<agentId>/agent/auth-profiles.json
Can't find your answer? Ask on GitHub or Discord