How to Install OpenClaw: Step-by-Step Setup Guide (2026)
Get OpenClaw running on your machine in under 20 minutes. Four installation methods, model configuration, and channel connections for Telegram, WhatsApp, and Discord.
Installing OpenClaw takes under 20 minutes. Run the one-line installer, connect an AI model (Anthropic, OpenAI, or a free local model via Ollama), plug in a messaging channel, and you're live. OpenClaw is free, open-source software -- the only cost is the AI API usage behind it.
This guide covers four installation methods, the onboarding wizard, model setup, and connecting your first channel. Pick the method that fits your comfort level.
Jump to: Requirements · One-Line Installer · npm Install · Docker · Build from Source · Onboarding Wizard · AI Model Setup · Connect a Channel · Verify · Troubleshooting
System Requirements
Before you start, make sure your machine meets these minimums:
| Requirement | Minimum | Recommended |
|---|---|---|
| Node.js | v22.0+ | v22.x LTS (latest) |
| RAM | 2 GB | 4 GB+ |
| Disk space | ~500 MB | 1 GB (with logs) |
| OS | macOS 13+, Ubuntu 22.04+, Windows 11 (WSL2) | Same |
| Docker (optional) | Engine 24+, Compose v2 | Latest stable |
brew install node on Mac, or download from nodejs.org.
Method 1: One-Line Installer (Recommended)
The fastest path. One command installs OpenClaw, its background daemon, and all dependencies.
Mac and Linux
Open Terminal and run:
curl -fsSL https://openclaw.ai/install.sh | bash
This script detects your OS and architecture, installs Node.js 22 if needed, downloads the latest OpenClaw release, and sets up the openclaw command globally.
Windows (WSL2)
OpenClaw requires WSL2 on Windows. If you don't have WSL2 yet, open PowerShell as Administrator:
wsl --install
Restart your computer, then open your WSL terminal (Ubuntu) and run the same Linux command:
curl -fsSL https://openclaw.ai/install.sh | bash
After installation, verify it worked:
openclaw --version
You should see something like openclaw v1.x.x.
Method 2: npm Install
If you already have Node.js 22+ and prefer managing packages through npm:
npm install -g openclaw@latest
This installs the openclaw CLI globally. Verify:
openclaw --version
sudo. Instead, fix npm permissions: sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}. Then retry the install.
Updating via npm
Unlike the one-line installer (which auto-updates), npm installs need manual updates:
npm update -g openclaw
Method 3: Docker
Docker is ideal if you want isolation, reproducibility, or plan to deploy OpenClaw on a server. You need Docker Engine 24+ and Docker Compose v2.
Step 1: Create a project directory
mkdir openclaw && cd openclaw
Step 2: Download the Docker setup
curl -fsSL https://openclaw.ai/docker-setup.sh | bash
This pulls down a docker-compose.yml, a default .env template, and a data directory for persistent storage.
Step 3: Configure and start
Edit the .env file with your API key and channel tokens (covered in the model setup and channel setup sections below), then:
docker compose up -d
Check that it's running:
docker compose logs -f openclaw
amd64 and arm64. No special configuration needed -- Docker will pull the right image automatically.
Method 4: Build from Source
For contributors or anyone who wants the absolute latest (possibly unstable) code:
git clone https://github.com/openclaw-ai/openclaw.git
cd openclaw
npm install
npm run build
npm link
This makes the openclaw command available globally via symlink. To update, pull the latest and rebuild:
git pull && npm install && npm run build
The Onboarding Wizard
After installation, the onboarding wizard walks you through first-time setup. It configures your AI model, installs the background daemon, and optionally connects your first channel.
openclaw onboard --install-daemon
The --install-daemon flag sets up the background process that keeps OpenClaw running even when you close your terminal. The wizard will ask you three things:
- AI model provider -- Which API to use (Anthropic, OpenAI, OpenRouter, or Ollama for local models)
- API key -- Your key for the chosen provider
- Channel connection -- Optionally connect Telegram, WhatsApp, or Discord right away
You can skip the channel step and add channels later with openclaw channel add.
Setting Up Your AI Model
OpenClaw doesn't include an AI model -- it connects to one. You have three options, from highest quality to lowest cost:
Option A: Anthropic API (Recommended)
Best quality. Get your API key from console.anthropic.com.
openclaw config set model.provider anthropic
openclaw config set model.apiKey sk-ant-your-key-here
openclaw config set model.name claude-sonnet-4-5
Cost: roughly $3 per million input tokens, $15 per million output tokens with Sonnet 4.5. For most users that's $10-30/month. You can also use Haiku 4.5 ($1/$5) for lighter tasks or Opus 4.6 ($5/$25) for maximum quality.
Option B: OpenRouter (Multi-Model Access)
OpenRouter gives you one API key for dozens of models -- Claude, GPT-4o, Llama, Mistral, and more. Useful if you want to experiment or switch models without managing multiple accounts.
openclaw config set model.provider openrouter
openclaw config set model.apiKey sk-or-your-key-here
openclaw config set model.name anthropic/claude-sonnet-4.5
Sign up at openrouter.ai. Pricing varies by model but is typically close to the original provider's rates.
Option C: Ollama (Free, Local Models)
Run AI models entirely on your machine with zero API costs. Quality is lower than cloud models, but it's completely free and private.
# Install Ollama first
curl -fsSL https://ollama.com/install.sh | sh
# Pull a model (Llama 3.3 8B is a good starting point)
ollama pull llama3.3
# Configure OpenClaw to use it
openclaw config set model.provider ollama
openclaw config set model.name llama3.3
No API key needed. Ollama runs locally on port 11434. You'll need at least 8 GB of RAM for the 8B model, or 16 GB for the 70B model.
Connecting Your First Channel
OpenClaw supports Telegram, WhatsApp, and Discord out of the box. You only need one to get started.
Telegram (Easiest)
- Open Telegram and search for @BotFather
- Send
/newbotand follow the prompts to name your bot - BotFather gives you a token like
123456789:ABCdefGHIjklMNO - Add it to OpenClaw:
openclaw channel add telegram --token "YOUR_BOTFATHER_TOKEN"
Your bot is now live. Send it a message in Telegram to test.
- Run the WhatsApp connector:
openclaw channel add whatsapp
- A QR code appears in your terminal
- Open WhatsApp on your phone, go to Linked Devices, and scan the QR code
- Done. Messages to the linked number now route through OpenClaw
Discord
- Go to the Discord Developer Portal
- Create a new application, then create a Bot under the Bot tab
- Copy the bot token
- Under OAuth2, generate an invite URL with
botandapplications.commandsscopes - Invite the bot to your server, then:
openclaw channel add discord --token "YOUR_DISCORD_BOT_TOKEN"
Verify Your Installation
OpenClaw includes a built-in health checker. Run:
openclaw doctor
This checks Node.js version, daemon status, model connectivity, and channel health. You'll see output like:
OpenClaw Doctor v1.4.2
------------------------------
Node.js ............ v22.11.0 OK
Daemon ............. running OK
Model provider ..... anthropic OK
Model ............ claude-sonnet-4-5 OK
API key .......... sk-ant-*** OK
Channels:
telegram ......... connected OK
------------------------------
All checks passed.
To check just the gateway (channel connections):
openclaw gateway status
This shows each connected channel, its status, and the last message timestamp.
Troubleshooting Common Issues
"command not found: openclaw"
The npm global bin directory isn't in your PATH. Fix it:
export PATH="$PATH:$(npm config get prefix)/bin"
Make it permanent by adding that line to ~/.zshrc (Mac) or ~/.bashrc (Linux/WSL).
Node.js version too old
OpenClaw requires Node.js 22+. Check your version:
node --version
If it shows v18 or v20, upgrade. The easiest way:
# Mac
brew install node@22
# Linux/WSL
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
PORT 3000 already in use
Another process is using the default OpenClaw port. Either stop it or change OpenClaw's port:
# Find what's using port 3000
lsof -i :3000
# Or change OpenClaw's port
openclaw config set server.port 3001
Docker: Image not found for ARM
If you're on Apple Silicon or another ARM machine and get an image architecture error, make sure you're pulling the multi-arch image:
docker pull --platform linux/arm64 openclaw/openclaw:latest
The official image supports both amd64 and arm64. If you're using an older Docker version, update to Docker Engine 24+.
Daemon won't start
Check the daemon logs:
openclaw daemon logs
Common causes: port conflict, missing API key, or insufficient permissions. If the daemon crashes on startup, try reinstalling:
openclaw daemon uninstall
openclaw onboard --install-daemon
WhatsApp QR code expired
QR codes expire after 60 seconds. Run openclaw channel add whatsapp again for a fresh one. Make sure your phone and computer are on the same network.
What's Next?
Now that OpenClaw is installed and connected, here's where to go from here:
- What Is OpenClaw? -- understand the full feature set
- OpenClaw Pricing Guide -- understand and control your AI costs
- WhatsApp & Telegram Setup -- advanced channel configuration
- How to Install Claude Code -- set up Anthropic's coding agent
- OpenClaw vs Claude Code -- compare both AI agents
Stuck? Watch Me Do It in 10 Minutes
Follow along as I install OpenClaw, connect it to real messaging channels, and build a Chief AI Officer that handles customer messages and follow-ups — live on screen. Free video, no signup wall.
Get the Free Blueprint href="/blueprint">Watch the Free Setup Video →rarr;