
How to install OpenClaw on Linux, Windows, and Mac (2026 guide)
Short answer (60 seconds): OpenClaw installs with a one-liner. On macOS / Linux / WSL2:
curl -fsSL https://openclaw.ai/install.sh | bash. On native Windows (PowerShell):iwr -useb https://openclaw.ai/install.ps1 | iex. The script detects your OS, installs Node 24+ if missing, downloads the CLI, and launches theopenclaw onboardwizard. Requirements: macOS 13+, any Linux with curl + xz, Windows 10+. The CLI is also on npm (npm install -g openclaw@latest). After installing, verify withopenclaw --version,openclaw doctor, andopenclaw gateway status. The whole process takes between 60 seconds (modern laptop) and 5 minutes (Raspberry Pi).
OpenClaw is a personal AI assistant from the OpenClaw Foundation. Unlike hosted ChatGPT or Claude, it runs on your own devices — the Gateway stays as a local daemon that connects to the messaging channels you already use (WhatsApp, Telegram, Slack, Discord, iMessage, Signal, Microsoft Teams, Matrix, and a long list more).
This post is the installation guide I wish I'd had the first time I tried it. There are three official paths and two or three known pitfalls the script handles automatically but are worth understanding. I'll cover all of them, with post-install verification.
Before you start: what you need
| Requirement | Detail |
|---|---|
| OS | macOS 13+, Linux (any distro), WSL2, or Windows 10+ native |
| Privileges | Normal user (no root). The installer detects sudo and degrades gracefully |
| Internet connection | For the binary and (optional) Node if missing |
| Time | 60–300 seconds depending on hardware |
| Knowledge | None for the official installer path; basic terminal if you go via npm |
The only thing you need preinstalled on Linux: curl and xz-utils. On Debian/Ubuntu it's sudo apt install curl xz-utils. On macOS and Windows both come by default.
Path 1 · Official installer (recommended, 1 line)
It's the method the OpenClaw Foundation maintains and the only one that guarantees the correct version for your platform. It detects the OS, installs Node if missing, downloads the CLI, and leaves everything ready.
On macOS / Linux / WSL2
curl -fsSL https://openclaw.ai/install.sh | bash
The script is interactive: at the end it asks if you want to run openclaw onboard (the wizard that configures the Gateway, channels, and skills). If you're on a server or want full control, skip the wizard:
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard
Then run openclaw onboard when you're ready.
On native Windows (PowerShell)
Open PowerShell as a normal user (no admin needed) and paste:
iwr -useb https://openclaw.ai/install.ps1 | iex
Without initial wizard:
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
If PowerShell blocks the script: this can happen on machines with restrictive ExecutionPolicy. One-shot fix:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSignedand retry.
What the installer does exactly
- Detects architecture (x64 / arm64) and OS.
- If Node 22.22.3+ / 24+ / 25.9+ isn't there, it downloads it to
~/.openclaw/node. - Installs the OpenClaw CLI via npm inside that local Node.
- Creates a symlink at
~/.local/bin/openclaw(or the Windows equivalent). - Launches
openclaw onboardunless you passed--no-onboard.
Takes between 30 seconds (Mac M-series) and 4 minutes (cheap ARM server).
Path 2 · npm / pnpm / bun (if you already manage Node)
If you already have a stable Node environment and want OpenClaw in the same global Node as your other CLI tools, it's the cleanest option.
With npm
npm install -g openclaw@latest
openclaw onboard --install-daemon
With pnpm
pnpm add -g openclaw@latest
pnpm approve-builds -g
openclaw onboard --install-daemon
With bun
bun add -g openclaw@latest
openclaw onboard --install-daemon
--install-daemon registers the Gateway as a service (LaunchAgent on macOS, systemd user unit on Linux, Scheduled Task on Windows) so it stays running across reboots.
Path 3 · From source (contributors only)
If you're contributing to the project or need to run a specific branch:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install && pnpm build && pnpm ui:build
pnpm link --global
openclaw onboard --install-daemon
Or to run main directly without cloning:
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git --version main
Verify it installed correctly
Three commands, in order. If all three pass without error, your installation is healthy.
~openclaw --version # confirm the CLI is available openclaw doctor # config and health check — reports issues with suggested fix openclaw gateway status # verify the Gateway is running
If gateway status returns "stopped" and you want it managed:
# macOS / Linux
openclaw gateway install
# Native Windows (PowerShell admin if Scheduled Task creation requires it)
openclaw gateway install
If doctor reports "openclaw not found": it's almost always a PATH issue. The npm globals bin dir isn't on your $PATH. Verify with:
~node -v # Node installed? npm prefix -g # Where's the bin dir? echo "$PATH" # Is that dir on PATH?
On macOS it's usually ~/.npm-global/bin; on Linux with nvm it's ~/.nvm/versions/node/<version>/bin. Add it to your ~/.zshrc or ~/.bashrc and reopen the terminal.
Quick troubleshooting
| Problem | Solution |
|---|---|
openclaw: command not found | PATH. See FAQ question above. |
npm permission errors during install | Use the official installer (installs Node locally without touching globals). |
gateway starts but doesn't respond | openclaw doctor reports the specific issue. 90% is a missing API key. |
| Very slow install | Likely restricted network. Try npm config set registry https://registry.npmjs.org/ and retry. |
| Windows SmartScreen blocks the .ps1 | Click "More info" → "Run anyway". The script is signed by the Foundation. |
| I want to reset everything | openclaw uninstall --all --yes --non-interactive (see uninstall post). |
After installing: initial configuration
Once openclaw --version responds and the Gateway is running, what's next is configuring your LLM provider (OpenAI, Anthropic, etc.) and the channels. The openclaw onboard wizard does this step by step — below is the shortcut if you want to skip the wizard and do it manually.
openclaw onboard # full wizard
# or directly:
openclaw config set OPENAI_API_KEY sk-...
openclaw model # choose default model
openclaw gateway setup # connect channels (Telegram, WhatsApp, etc.)
If you got here with everything green, you already have OpenClaw running and connected to at least the provider. The next step is adding channels and skills — but that's a topic for another post.
Want to try it with your specific case before investing time configuring it? There's a CTA at the end with a free 30-minute call where I can help you decide if OpenClaw makes sense for your setup.
Frequently asked questions
What is OpenClaw in one sentence?
A personal AI assistant that runs on your own devices and connects to the channels you already use (WhatsApp, Telegram, Slack, Discord, iMessage, Signal, etc.). Built by the OpenClaw Foundation (non-profit). The Gateway is just the control plane — the assistant is the product.
Do I need to know how to code to install it?
No. The official installer (`install.sh` / `install.ps1`) detects your OS, installs Node if missing, downloads the CLI, and launches the `openclaw onboard` wizard. If you already manage Node, you can install globally with `npm install -g openclaw@latest` and run `openclaw onboard --install-daemon`.
Which Node version does it need?
Node 24.15+ (recommended), Node 22.22.3+, or Node 25.9+. The official installer detects the version and installs it if missing — you don't need to do it manually.
Does it work on Windows without WSL?
Yes. Windows has three paths: the native Windows Hub app (with GUI and tray), the PowerShell installer (`install.ps1`) for the CLI, or WSL2 as Gateway. For small teams that only need the CLI, PowerShell + Scheduled Task is enough; for full GUI usage, the Hub is more comfortable.
How long does the installation take?
Between 60 and 180 seconds on a normal connection. The installer downloads Node, the CLI, the dependencies, and configures the daemon. On older hardware (Raspberry Pi or small ARM servers) it can reach 5 minutes.
How do I verify the install worked?
Three commands, in order: `openclaw --version` (returns the version number), `openclaw doctor` (checks config and reports issues with suggested fix), and `openclaw gateway status` (confirms the Gateway is running). If all three pass without error, the installation is healthy.