Install overview
Install
System requirements
- Node 24 (recommended) or Node 22.19+ - the installer script handles this automatically
- macOS, Linux, or Windows - Windows users can start with the native Windows Hub app, the PowerShell CLI installer, or a WSL2 Gateway. See Windows.
pnpmis only needed if you build from source
Recommended: installer script
The fastest way to install. It detects your OS, installs Node if needed, installs OpenClaw, and launches onboarding.
macOS / Linux / WSL2
curl -fsSL https://openclaw.ai/install.sh | bashWindows (PowerShell)
iwr -useb https://openclaw.ai/install.ps1 | iexTo install without running onboarding:
macOS / Linux / WSL2
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboardWindows (PowerShell)
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardFor all flags and CI/automation options, see Installer internals.
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 | bashIt supports npm installs by default, plus git-checkout installs under the same prefix flow. Full reference: Installer internals.
Already installed? Switch between package and git installs with
openclaw update --channel dev and openclaw update --channel stable. See
Updating.
npm, pnpm, or bun
If you already manage Node yourself:
npm
npm install -g openclaw@latestopenclaw onboard --install-daemonpnpm
pnpm add -g openclaw@latestpnpm approve-builds -gopenclaw onboard --install-daemonbun
bun add -g openclaw@latestopenclaw onboard --install-daemonFrom source
For contributors or anyone who wants to run from a local checkout:
git clone https://github.com/openclaw/openclaw.gitcd openclawpnpm install && pnpm build && pnpm ui:buildpnpm link --globalopenclaw onboard --install-daemonOr skip the link and use pnpm openclaw ... from inside the repo. See Setup for full development workflows.
Install from the GitHub main checkout
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git --version mainContainers 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 availableopenclaw doctor # check for config issuesopenclaw gateway status # verify the Gateway is runningIf 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:
Any Linux VPS.
Shared Docker steps.
K8s deployment.
Deploy on Fly.io.
Hetzner deployment.
Google Cloud deployment.
Azure deployment.
Railway deployment.
Render deployment.
Northflank deployment.
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.