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.
  • pnpm is required only when building from source.

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-age for 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 -g after the first install.

bun

bun add -g openclaw@latest
openclaw onboard --install-daemon

Note

Bun can install the global package, but the resulting openclaw executable needs a supported Node runtime because OpenClaw state uses node: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-daemon or openclaw 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.

Update, migrate, or uninstall

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?