System requirements
- Node 22.22.3+, 24.15+, or 25.9+ - Node 26 is the recommended default; the installer script provisions it automatically when Node is missing.
- macOS, Linux, or Windows - Windows users can start with the native Windows Hub app, the PowerShell CLI installer, or a WSL2 Gateway. See Windows.
pnpmis only needed if you build from source.
Recommended: installer script
The fastest way to install. It detects your OS, installs Node if needed, installs OpenClaw, and launches onboarding.Windows desktop users can also install the native Windows Hub companion app, which includes setup, tray status, chat, node mode, and local MCP mode.
- macOS / Linux / WSL2
- Windows (PowerShell)
- macOS / Linux / WSL2
- Windows (PowerShell)
Alternative install methods
Local prefix installer (install-cli.sh)
Use this when you want OpenClaw and Node kept under a local prefix such as
~/.openclaw, without depending on a system-wide Node install:
openclaw update --channel dev and openclaw update --channel stable. See
Updating.
npm, pnpm, or bun
If you already manage Node yourself:- npm
- pnpm
- bun
On npm 12 or npm 11.16+:On npm 11.15 and earlier, use the same command without
--allow-scripts=openclaw.npm 12 blocks unapproved package lifecycle scripts by default. The
--allow-scripts=openclaw option explicitly allows OpenClaw’s preinstall
and postinstall steps; without it, npm reports them as blocked because they are not covered by allowScripts.npm 11.16 accepts the option but otherwise only warns that the scripts are
not yet covered by allowScripts and still runs them. npm 11.15 and earlier
have neither the policy nor the option, so their command must be unflagged.
The npm approve-scripts openclaw
command suggested by npm 11.16 does not work for a global install — it fails
with ENOMATCH No installed packages match: openclaw.The hosted installer clears npm freshness filters such as
min-release-age
for the OpenClaw package install. If you install manually with npm, your own
npm policy still applies.From source
For contributors or anyone who wants to run from a local checkout:pnpm openclaw ... from inside the repo. See Setup for full development workflows.
Install from the GitHub main checkout
Containers and package managers
Ansible
Automated fleet provisioning.
Bun
Optional dependency installer and package-script runner.
ClawDock
Community Docker Compose setup and shell helpers.
Docker
Containerized or headless deployments.
Nix
Declarative install via Nix flake.
Podman
Rootless container alternative to Docker.
Verify the install
- macOS: LaunchAgent via
openclaw onboard --install-daemonoropenclaw gateway install - Linux/WSL2: systemd user service via the same commands
- Native Windows: Scheduled Task first, with a per-user Startup-folder login item fallback if task creation is denied
Hosting and deployment
Deploy OpenClaw on a cloud server or VPS. See Linux server for the full provider picker (DigitalOcean, Hetzner, Hostinger, Fly.io, GCP, Azure, Railway, Northflank, Oracle Cloud, Raspberry Pi, and more), deploy declaratively on Render, or try the experimental Cloudflare Containers template.Cloudflare
Experimental Worker + Container deployment.
Docker VM
Shared Docker steps.
Kubernetes
K8s deployment.
macOS VM
Isolated local or hosted macOS deployment.
Upstash Box
Managed Linux host with SSH-tunneled access.
VPS
Pick a provider.
Back up, update, migrate, or uninstall
Backups
Create, verify, and restore state archives.
Updating
Keep OpenClaw up to date.
Migrating
Move to a new machine.
Uninstall
Remove OpenClaw completely.
Troubleshooting: openclaw not found
Almost always a PATH issue: npm’s global bin directory isn’t on your shell’s PATH. See Node.js troubleshooting for the full fix, including the Windows path.