Install

Already followed Getting Started? You’re all set — this page is for alternative install methods, platform-specific instructions, and maintenance.

System requirements

Note: On Windows, we strongly recommend running OpenClaw under WSL2.

Install methods

Tip: The installer script is the recommended way to install OpenClaw. It handles Node detection, installation, and onboarding in one step.

Downloads the CLI, installs it globally via npm, and launches the onboarding wizard.

macOS / Linux / WSL2

curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash

Windows (PowerShell)

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

That’s it — the script handles Node detection, installation, and onboarding.

To skip onboarding and just install the binary:

macOS / Linux / WSL2

curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboard

Windows (PowerShell)

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

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

If you already have Node 22+ and prefer to manage the install yourself:

npm

npm install -g openclaw@latest
openclaw onboard --install-daemon

sharp build errors?

If you have libvips installed globally (common on macOS via Homebrew) and sharp fails, force prebuilt binaries:

SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latest

If you see sharp: Please add node-gyp to your dependencies, either install build tooling (macOS: Xcode CLT + npm install -g node-gyp) or use the env var above.

pnpm

pnpm add -g openclaw@latest
pnpm approve-builds -g        # approve openclaw, node-llama-cpp, sharp, etc.
openclaw onboard --install-daemon

Note: pnpm requires explicit approval for packages with build scripts. After the first install shows the “Ignored build scripts” warning, run pnpm approve-builds -g and select the listed packages.

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

Clone and build

Clone the OpenClaw repo and build:

git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build
pnpm build

Link the CLI

Make the openclaw command available globally:

pnpm link --global

Alternatively, skip the link and run commands via pnpm openclaw ... from inside the repo.

Run onboarding

openclaw onboard --install-daemon

For deeper development workflows, see Setup.

Other install methods

  • Docker — Containerized or headless deployments.
  • Podman — Rootless container: run setup-podman.sh once, then the launch script.
  • Nix — Declarative install via Nix.
  • Ansible — Automated fleet provisioning.
  • Bun — CLI-only usage via the Bun runtime.

After install

Verify everything is working:

openclaw doctor         # check for config issues
openclaw status         # gateway status
openclaw dashboard      # open the browser UI

If you need custom runtime paths, use:

  • OPENCLAW_HOME for home-directory based internal paths
  • OPENCLAW_STATE_DIR for mutable state location
  • OPENCLAW_CONFIG_PATH for config file location

See Environment vars for precedence and full details.

Troubleshooting: openclaw not found

PATH diagnosis and fix

Quick diagnosis:

node -v
npm -v
npm prefix -g
echo "$PATH"

If $(npm prefix -g)/bin (macOS/Linux) or $(npm prefix -g) (Windows) is not in your $PATH, your shell can’t find global npm binaries (including openclaw).

Fix — add it to your shell startup file (~/.zshrc or ~/.bashrc):

export PATH="$(npm prefix -g)/bin:$PATH"

On Windows, add the output of npm prefix -g to your PATH.

Then open a new terminal (or rehash in zsh / hash -r in bash).

Update / uninstall