Skip to content

Install

  • 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.
  • pnpm is only needed if you build from source

The fastest way to install. It detects your OS, installs Node if needed, installs OpenClaw, and launches onboarding.

Terminal window
curl -fsSL https://openclaw.ai/install.sh | bash

To install without running onboarding:

Terminal window
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard

For all flags and CI/automation options, see Installer internals.

Use this when you want OpenClaw and Node kept under a local prefix such as ~/.openclaw, without depending on a system-wide Node install:

Terminal window
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.

Already installed? Switch between package and git installs with openclaw update --channel dev and openclaw update --channel stable. See Updating.

If you already manage Node yourself:

Terminal window
npm install -g openclaw@latest
openclaw onboard --install-daemon

For contributors or anyone who wants to run from a local checkout:

Terminal window
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install && pnpm build && pnpm ui: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.

Terminal window
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git --version main
Docker

Containerized or headless deployments.

Podman

Rootless container alternative to Docker.

Nix

Declarative install via Nix flake.

Ansible

Automated fleet provisioning.

Bun

CLI-only usage via the Bun runtime.

Terminal window
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-daemon or openclaw 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

Deploy OpenClaw on a cloud server or VPS:

VPS

Any Linux VPS.

Docker VM

Shared Docker steps.

Kubernetes

K8s deployment.

Fly.io

Deploy on Fly.io.

Hetzner

Hetzner deployment.

GCP

Google Cloud deployment.

Azure

Azure deployment.

Railway

Railway deployment.

Render

Render deployment.

Northflank

Northflank deployment.

Updating

Keep OpenClaw up to date.

Migrating

Move to a new machine.

Uninstall

Remove OpenClaw completely.

If the install succeeded but openclaw is not found in your terminal:

Terminal window
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):

Terminal window
export PATH="$(npm prefix -g)/bin:$PATH"

Then open a new terminal. See Node setup for more details.