Install
Recommended: installer script
The fastest way to install. It detects your OS, installs Node if needed, installs OpenClaw, and launches onboarding.
curl -fsSL https://openclaw.ai/install.sh | bash
iwr -useb https://openclaw.ai/install.ps1 | iex
To install without running onboarding:
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
For all flags and CI/automation options, see Installer internals.
System requirements
- Node 24 (recommended) or Node 22.14+ — the installer script handles this automatically
- macOS, Linux, or Windows — both native Windows and WSL2 are supported; WSL2 is more stable. See Windows.
pnpmis only needed if you build from source
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:
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.
npm, pnpm, or bun
If you already manage Node yourself:
npm install -g openclaw@latest
openclaw onboard --install-daemon
pnpm add -g openclaw@latest
pnpm approve-builds -g
openclaw onboard --install-daemon
pnpm requires explicit approval for packages with build scripts. Run pnpm approve-builds -g after the first install.
bun add -g openclaw@latest
openclaw onboard --install-daemon
Bun is supported for the global CLI install path. For the Gateway runtime, Node remains the recommended daemon runtime.
Troubleshooting: sharp build errors (npm)
If sharp fails due to a globally installed libvips:
SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latest
From source
For contributors or anyone who wants to run from a local checkout:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install && pnpm ui:build && pnpm build
pnpm link --global
openclaw onboard --install-daemon
Or skip the link and use pnpm openclaw ... from inside the repo. See Setup for full development workflows.
Install from GitHub main
npm install -g github:openclaw/openclaw#main
Containers and package managers
Containerized or headless deployments.
Rootless container alternative to Docker.
Declarative install via Nix flake.
Automated fleet provisioning.
CLI-only usage via the Bun runtime.
Verify the install
openclaw --version # confirm the CLI is available
openclaw doctor # check for config issues
openclaw gateway status # verify the Gateway is running
If you want managed startup after install:
- macOS: LaunchAgent via
openclaw onboard --install-daemonoropenclaw 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
Hosting and deployment
Deploy OpenClaw on a cloud server or VPS:
Update, migrate, or uninstall
Keep OpenClaw up to date.
Move to a new machine.
Remove OpenClaw completely.
Troubleshooting: openclaw not found
If the install succeeded but openclaw is not found in your terminal:
node -v # Node installed?
npm prefix -g # Where are global packages?
echo "$PATH" # Is the global bin dir in PATH?
If $(npm prefix -g)/bin is not in your $PATH, add it to your shell startup file (~/.zshrc or ~/.bashrc):
export PATH="$(npm prefix -g)/bin:$PATH"
Then open a new terminal. See Node setup for more details.