--- summary: "Install OpenClaw — installer script, npm/pnpm, from source, Docker, and more" read_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 title: "Install" --- # Install Already followed [Getting Started](/start/getting-started)? You're all set — this page is for alternative install methods, platform-specific instructions, and maintenance. ## System requirements - **[Node 22+](/install/node)** (the [installer script](#install-methods) will install it if missing) - macOS, Linux, or Windows - `pnpm` only if you build from source On Windows, we strongly recommend running OpenClaw under [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install). ## Install methods 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. ```bash curl -fsSL https://openclaw.ai/install.sh | bash ``` ```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: ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard ``` ```powershell & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard ``` For all flags, env vars, and CI/automation options, see [Installer internals](/install/installer). If you already have Node 22+ and prefer to manage the install yourself: ```bash npm install -g openclaw@latest openclaw onboard --install-daemon ``` If you have libvips installed globally (common on macOS via Homebrew) and `sharp` fails, force prebuilt binaries: ```bash 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. ```bash pnpm add -g openclaw@latest pnpm approve-builds -g # approve openclaw, node-llama-cpp, sharp, etc. openclaw onboard --install-daemon ``` 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 the [OpenClaw repo](https://github.com/openclaw/openclaw) and build: ```bash git clone https://github.com/openclaw/openclaw.git cd openclaw pnpm install pnpm ui:build pnpm build ``` Make the `openclaw` command available globally: ```bash pnpm link --global ``` Alternatively, skip the link and run commands via `pnpm openclaw ...` from inside the repo. ```bash openclaw onboard --install-daemon ``` For deeper development workflows, see [Setup](/start/setup). ## Other install methods Containerized or headless deployments. Declarative install via Nix. Automated fleet provisioning. CLI-only usage via the Bun runtime. ## After install Verify everything is working: ```bash openclaw doctor # check for config issues openclaw status # gateway status openclaw dashboard # open the browser UI ``` ## Troubleshooting: `openclaw` not found Quick diagnosis: ```bash 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`): ```bash 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 Keep OpenClaw up to date. Move to a new machine. Remove OpenClaw completely.