Install overview

Install

System requirements

  • Node 24.16+ or 26.1+ - Node 26 is recommended; the installer provisions Node 26 on macOS and Node 24 LTS on Linux when Node is missing (see Node.js compatibility).
  • macOS, Linux, or Windows - Windows users can start with the native Windows Hub app, the PowerShell CLI installer, or a WSL2 Gateway. See Windows.
  • pnpm is only needed if you build from source.

Download the desktop app

Prefer a normal app download over the CLI? OpenClaw ships desktop companions:

Both desktop apps can provision a local Gateway during first-run setup, or connect to an existing remote Gateway.

Recommended: installer script

The fastest way to install. It detects your OS, installs Node if needed, installs OpenClaw, and launches onboarding.

macOS / Linux / WSL2

bash
curl -fsSL https://openclaw.ai/install.sh | bash

Windows (PowerShell)

powershell
iwr -useb https://openclaw.ai/install.ps1 | iex

To install without running onboarding:

macOS / Linux / WSL2

bash
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard

Windows (PowerShell)

powershell
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard

For all flags and CI/automation options, see Installer internals.

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:

bash
curl -fsSL https://openclaw.ai/install-cli.sh | bash

It supports npm installs by default, plus git-checkout installs under 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 yourself:

npm

On npm 12 or npm 11.16+:

bash
npm install -g openclaw@latest --allow-scripts=openclawopenclaw onboard --install-daemon

On npm 11.15 and earlier, use the same command without --allow-scripts=openclaw.

pnpm

bash
pnpm add -g --allow-build=openclaw openclaw@latestopenclaw onboard --install-daemon

bun

bash
bun add -g --trust openclaw@latestbun run --bun openclaw onboard --install-daemon --daemon-runtime bun

From source

For contributors or anyone who wants to run from a local checkout:

bash
git clone https://github.com/openclaw/openclaw.gitcd openclawcorepack enablepnpm install && pnpm build && pnpm ui:buildpnpm add --global "openclaw@link:$PWD"openclaw onboard --install-daemon

pnpm add --global "openclaw@link:$PWD" links the CLI to this checkout without changing its package files. If pnpm reports that its global bin directory is not on PATH, run pnpm setup, reopen your shell, and retry.

Corepack selects the exact pnpm version from package.json (currently pnpm 12). If Corepack is unavailable, install that version explicitly with npm install -g [email protected] [email protected]; keep npm install scripts and optional dependencies enabled so pnpm can provision its native executable.

Or skip the global install and use pnpm openclaw ... from inside the repo. See Setup for full development workflows.

Install from the GitHub main checkout

bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git --version main

Containers and package managers

Verify the install

bash
openclaw --version      # confirm the CLI is availableopenclaw doctor         # check for config issuesopenclaw gateway status # verify the Gateway is running

If you want managed startup after install:

  • macOS: LaunchAgent via openclaw onboard --install-daemon or openclaw 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

Next: run onboarding and connect a channel

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.

Back up, update, migrate, or uninstall

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.

bash
node -v           # Node installed?npm prefix -g     # Where are global packages?echo "$PATH"      # Is the global bin dir in PATH?
Was this useful?
On this page

On this page