Install overview
Install
System requirements
- Node 24.16+ or 26.1+ - Node 26 is recommended; the installer provisions Node 26 on macOS and Node 24 LTS on Linux when Node is missing (see Node.js compatibility).
- 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.
Download the desktop app
Prefer a normal app download over the CLI? OpenClaw ships desktop companions:
- Windows: the Windows Hub companion app — a signed installer you download and run like any Windows app, with setup, tray status, chat, and node mode:
- macOS: the macOS menu bar app — download the
OpenClaw-<version>.dmg(preferred) or.zipasset from OpenClaw GitHub releases, then install and launch OpenClaw.app. See the macOS app page for details, including what to do when the newest release ships no macOS asset.
Both desktop apps can provision a local Gateway during first-run setup, or connect to an existing remote Gateway.
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
On npm 12 or npm 11.16+:
npm install -g openclaw@latest --allow-scripts=openclawopenclaw onboard --install-daemonOn npm 11.15 and earlier, use the same command without
--allow-scripts=openclaw.
pnpm
pnpm add -g --allow-build=openclaw openclaw@latestopenclaw onboard --install-daemonbun
bun add -g --trust openclaw@latestbun run --bun openclaw onboard --install-daemon --daemon-runtime bunFrom source
For contributors or anyone who wants to run from a local checkout:
git clone https://github.com/openclaw/openclaw.gitcd openclawcorepack enablepnpm install && pnpm build && pnpm ui:buildpnpm add --global "openclaw@link:$PWD"openclaw onboard --install-daemonpnpm add --global "openclaw@link:$PWD" links the CLI to this checkout without changing its package files. If pnpm reports that its global bin directory is not on PATH, run pnpm setup, reopen your shell, and retry.
Corepack selects the exact pnpm version from package.json (currently pnpm 12).
If Corepack is unavailable, install that version explicitly with
npm install -g [email protected] [email protected]; keep npm install scripts and optional dependencies
enabled so pnpm can provision its native executable.
Or skip the global install 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
Automated fleet provisioning.
Optional dependency installer and package-script runner.
Containerized or headless deployments.
Declarative install via Nix flake.
Rootless container alternative to Docker.
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
Next: run onboarding and connect a channel
Run onboarding, install the Gateway service, and open the dashboard.
Message your agent from Telegram, Discord, Slack, WhatsApp, and more.
Hosting and deployment
Deploy OpenClaw on a cloud server or VPS. See Linux server for the full provider picker (DigitalOcean, Hetzner, Hostinger, Fly.io, GCP, Azure, Railway, Northflank, Oracle Cloud, Raspberry Pi, and more), deploy declaratively on Render, or try the experimental Cloudflare Containers template.
Experimental Worker + Container deployment.
Shared Docker steps.
K8s deployment.
Isolated local or hosted macOS deployment.
Managed Linux host with SSH-tunneled access.
Pick a provider.
Back up, update, migrate, or uninstall
Create, verify, and restore state archives.
Keep OpenClaw up to date.
Move to a new machine.
Remove OpenClaw completely.
Troubleshooting: openclaw not found
Almost always a PATH issue: npm's global bin directory isn't on your shell's PATH. See Node.js troubleshooting for the full fix, including the Windows path.
node -v # Node installed?npm prefix -g # Where are global packages?echo "$PATH" # Is the global bin dir in PATH?