OpenClaw logoOpenClaw INTERMEDIATE

OpenClaw

Complete reference for OpenClaw — the self-hosted AI agent platform for personal assistants across messaging channels

8 min read
openclawai-agentgatewaywhatsapptelegramdiscordslackautomationself-hostedmcp

Installation & Setup

Installing OpenClaw and running the onboarding wizard

Install & Onboard

Install OpenClaw and complete first-time setup

bash
🚀 The onboarding wizard guides you through model provider and API key setup
📌 Use --install-daemon to auto-start the Gateway on boot
💡 openclaw doctor diagnoses common issues and repairs config
⚡ Dev mode uses isolated state so it won't affect your main config

Gateway Management

Start, stop, and manage the always-on Gateway daemon

Gateway Commands

Control the Gateway daemon lifecycle

bash
📌 The Gateway runs 24/7 so your AI assistant is always reachable
🔧 Default port is 18789 — configurable via gateway.port
💡 Use --follow --local-time for the most readable log output
⚡ On Linux, the daemon is a systemd user service

Channel Configuration

Connect messaging platforms to OpenClaw

Connect Channels

Configure WhatsApp, Telegram, Discord, Slack, and more

json5
📌 Always set allowFrom to restrict who can talk to your agent
💡 WhatsApp uses phone pairing — no API key needed
🎯 Supports 14+ channels: WhatsApp, Telegram, Discord, Slack, Teams, iMessage, Signal, Matrix, Google Chat, Feishu, Zalo, Twitch, Nostr, WebChat
⚡ Use requireMention in group chats so the bot doesn't respond to everything

Messaging

Send messages, broadcasts, and polls via CLI

Send Messages

Send messages and polls across channels from the CLI

bash
💡 Use --dry-run to preview messages before sending
📌 --channel is required when multiple channels are configured
⚡ Polls support multi-select, duration, and anonymous voting on Telegram
🎯 Use --json flag to pipe results into other tools

Skills

Extend your agent with installable skills from ClawHub

Manage Skills

Search, install, and configure skills from ClawHub

bash
🎯 Skills extend your agent's capabilities — image gen, web search, code exec, etc.
💡 Set watch: true to hot-reload skills during development
📌 Use allowBundled to control which built-in skills are active
⚡ /skill <name> runs a skill inline during a conversation

Agents & Models

Configure AI models and agent behavior

Agent Configuration

Set up models, system prompts, and multi-agent routing

json5
🎯 Supports Anthropic, OpenAI, Ollama, Cloudflare, and many more providers
📌 Set model with shorthand (sonnet, opus, haiku) or full ID (openai/gpt-4o)
💡 OpenProse files let you define specialized agents with scoped permissions
⚡ Use mode: "merge" to combine models from multiple providers

Cron & Automation

Schedule recurring jobs and reminders

Scheduled Jobs

Create cron jobs, one-shot reminders, and recurring tasks

bash
⏱️ Use --at for one-shot reminders, --cron for recurring schedules
💡 --delete-after-run auto-cleans one-shot jobs after execution
📌 --session isolated creates a fresh context; main reuses the active session
⚡ --announce delivers the output to a channel; without it, results stay in logs

MCP Servers & Plugins

Integrate external tools via Model Context Protocol

Configure MCP Servers

Add MCP tool servers to extend agent capabilities

json5
🔌 MCP servers give your agent tools like GitHub, file access, web search, and more
📌 Use SecretInput format for API keys — never store them in plaintext config
💡 Any MCP-compatible server works — same protocol as Claude Code and other clients
⚡ Restart the gateway after adding new MCP servers

Security & Access

Authentication, trust boundaries, and remote access

Security Configuration

Secure your Gateway with auth, allowlists, and remote access

json5
🔐 Always set allowFrom on every channel to restrict access
📌 Use loopback binding + token auth as your secure baseline
💡 Tailscale provides zero-config encrypted remote access
🎯 Four trust boundary layers: channel → session → tool → content

Canvas & Web UI

Control dashboard and live canvas interface

Dashboard & Canvas

Use the web dashboard and canvas for rich interactions

bash
🎨 Canvas renders rich content — code, images, diffs, charts
📌 Token in URL fragment (#token=) is never sent to the server — secure by design
💡 /btw asks a side question without polluting session context
📱 iOS and Android nodes give you mobile access with voice and push notifications

Memory & Context

Persistent memory and context management

Memory Configuration

Configure persistent memory and embedding-based search

json5
🧠 Memory search uses embeddings to recall relevant past conversations
💡 Use Ollama provider for fully local, private embeddings
📌 /context detail shows exactly what's consuming your context window
⚡ Isolated sessions prevent cron jobs from polluting your main conversation

Deployment

Deploy OpenClaw to cloud platforms

Cloud Deployment

Deploy OpenClaw Gateway to Docker, Render, or cloud VMs

bash
🐳 Docker is the simplest cloud deployment — one command to run
📌 Always use persistent volumes to survive container restarts
💡 Render's free tier works for light usage with persistent disk
⚡ Tailscale eliminates port forwarding and firewall complexity