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.
Installer script
Downloads the CLI, installs it globally via npm, and launches the onboarding wizard.
**macOS / Linux / WSL2:**
curl -fsSL https://openclaw.ai/install.sh | bash
```
**Windows (PowerShell):**
```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:**
```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, env vars, and CI/automation options, see [Installer internals](./install/installer.md).
</details>
<details>
<summary>npm / pnpm</summary>
If you already have Node 22+ and prefer to manage the install yourself:
**npm:**
```bash
npm install -g openclaw@latest
openclaw onboard --install-daemon
```
<details>
<summary>sharp build errors?</summary>
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.
</details>
**pnpm:**
```bash
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.
</details>
<details>
<summary>From source</summary>
For contributors or anyone who wants to run from a local checkout.
**Step 1: Clone and build**
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
```
**Step 2: Link the CLI**
Make the `openclaw` command available globally:
```bash
pnpm link --global
```
Alternatively, skip the link and run commands via `pnpm openclaw ...` from inside the repo.
**Step 3: Run onboarding**
```bash
openclaw onboard --install-daemon
```
For deeper development workflows, see [Setup](./start/setup.md).
</details>
## Other install methods
- [**Docker**](./install/docker.md): Containerized or headless deployments.
- [**Podman**](./install/podman.md): Rootless container: run `setup-podman.sh` once, then the launch script.
- [**Nix**](./install/nix.md): Declarative install via Nix.
- [**Ansible**](./install/ansible.md): Automated fleet provisioning.
- [**Bun**](./install/bun.md): 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
If 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).