Install
System requirements
Section titled “System requirements”- Node 24 (recommended) or Node 22.19+ - 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
Recommended: installer script
Section titled “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 | bashiwr -useb https://openclaw.ai/install.ps1 | iexTo install without running onboarding:
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardFor all flags and CI/automation options, see Installer internals.
Alternative install methods
Section titled “Alternative install methods”Local prefix installer (install-cli.sh)
Section titled “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
Section titled “npm, pnpm, or bun”If you already manage Node yourself:
npm install -g openclaw@latestopenclaw onboard --install-daemonpnpm add -g openclaw@latestpnpm approve-builds -gopenclaw onboard --install-daemonbun add -g openclaw@latestopenclaw onboard --install-daemonTroubleshooting: sharp build errors (npm)
If sharp fails due to a globally installed libvips:
SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latestFrom source
Section titled “From 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
Section titled “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
Section titled “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
Section titled “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
Section titled “Hosting and deployment”Deploy OpenClaw on a cloud server or VPS:
Any Linux VPS
Shared Docker steps
K8s
Fly.io
Hetzner
Google Cloud
Azure
Railway
Render
Northflank
Update, migrate, or uninstall
Section titled “Update, migrate, or uninstall”Keep OpenClaw up to date.
Move to a new machine.
Remove OpenClaw completely.
Troubleshooting: openclaw not found
Section titled “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.