Install
Already followed Getting Started? You’re all set — this page is for alternative install methods, platform-specific instructions, and maintenance.
System requirements
- Node 22+ (the installer script will install it if missing)
- macOS, Linux, or Windows
pnpmonly if you build from source
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.
macOS / Linux / WSL2
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bashWindows (PowerShell)
iwr -useb https://openclaw.ai/install.ps1 | iexThat’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-onboardWindows (PowerShell)
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardFor all flags, env vars, and CI/automation options, see Installer internals.
npm
npm install -g openclaw@latest
openclaw onboard --install-daemonsharp 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@latestIf 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-daemonNote: pnpm requires explicit approval for packages with build scripts. After the first install shows the “Ignored build scripts” warning, run
pnpm approve-builds -gand select the listed packages.
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 buildLink the CLI
Make the openclaw command available globally:
pnpm link --globalAlternatively, skip the link and run commands via pnpm openclaw ... from inside the repo.
Run onboarding
openclaw onboard --install-daemonFor deeper development workflows, see Setup.
Other install methods
- Docker — Containerized or headless deployments.
- Podman — Rootless container: run
setup-podman.shonce, 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 UIIf you need custom runtime paths, use:
OPENCLAW_HOMEfor home-directory based internal pathsOPENCLAW_STATE_DIRfor mutable state locationOPENCLAW_CONFIG_PATHfor 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).