Install OpenClaw: Installer Script, npm, Docker, and More
Learn how to install OpenClaw using the recommended installer script, npm, pnpm, bun, from source, or Docker. Covers system requirements and Windows options.
Read this when
- You need an install method other than the Getting Started quickstart
- You want to deploy to a cloud platform
- You need to update, migrate, or uninstall
System requirements
- Node 22.22.3+, 24.15+, or 25.9+, Node 24 is the default target; the installer script picks it automatically.
- macOS, Linux, or Windows, On Windows, you can begin with the native Windows Hub app, the PowerShell CLI installer, or a WSL2 Gateway. See Windows.
pnpmis required only when building from source.
Recommended: installer script
This is the quickest installation method. It detects your operating system, installs Node if necessary, installs OpenClaw, and starts the onboarding flow.
Note
Windows desktop users can also install the native Windows Hub companion app, which provides setup, tray status, chat, node mode, and local MCP mode.
macOS / Linux / WSL2
curl -fsSL https://openclaw.ai/install.sh | bash
Windows (PowerShell)
iwr -useb https://openclaw.ai/install.ps1 | iex
To install without triggering onboarding:
macOS / Linux / WSL2
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard
Windows (PowerShell)
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
For a complete list of flags and CI/automation options, refer to Installer internals.
Alternative install methods
Local prefix installer (install-cli.sh)
Use this approach when you want OpenClaw and Node kept under a local prefix such as
~/.openclaw, without relying on a system-wide Node installation:
curl -fsSL https://openclaw.ai/install-cli.sh | bash
It supports npm installs out of the box, along with git-checkout installs using the same prefix flow. Full reference: Installer internals.
Already installed? Switch between package and git installs with
openclaw update --channel dev and openclaw update --channel stable. See
Updating.
npm, pnpm, or bun
If you already manage Node on your own:
npm
npm install -g openclaw@latest
openclaw onboard --install-daemon
Note
The hosted installer clears npm freshness filters like
min-release-agefor the OpenClaw package install. If you install manually with npm, your own npm policy still applies.
pnpm
pnpm add -g openclaw@latest
pnpm approve-builds -g
openclaw onboard --install-daemon
Note
pnpm requires explicit approval for packages that run build scripts. Run
pnpm approve-builds -gafter the first install.
bun
bun add -g openclaw@latest
openclaw onboard --install-daemon
Note
Bun can install the global package, but the resulting
openclawexecutable needs a supported Node runtime because OpenClaw state usesnode:sqlite.
From source
For contributors or anyone wanting to run from a local checkout:
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 skip the link and use pnpm openclaw ... from inside the repo. See Setup for full development workflows.
Install from the GitHub main checkout
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git --version main
Containers and package managers
-
Docker, Containerized or headless deployments.
-
Podman, Rootless container alternative to Docker.
-
Nix, Declarative install via Nix flake.
-
Ansible, Automated fleet provisioning.
-
Bun, Optional dependency installer and package-script runner.
Verify the install
openclaw --version # confirm the CLI is available
openclaw doctor # check for config issues
openclaw gateway status # verify the Gateway is running
If you want managed startup after installation:
- macOS: LaunchAgent via
openclaw onboard --install-daemonoropenclaw gateway install - Linux/WSL2: systemd user service using 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), or deploy declaratively on Render.
-
VPS, Pick a provider.
-
Docker VM, Shared Docker steps.
-
Kubernetes, K8s deployment.
Update, migrate, or uninstall
-
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 is missing from your shell's PATH. See Node.js troubleshooting for the complete fix, including the Windows path.
node -v # Node installed?
npm prefix -g # Where are global packages?
echo "$PATH" # Is the global bin dir in PATH?