Files
openclaw/docs/install/index.md
2026-05-27 11:54:12 -05:00

6.4 KiB

summary, read_when, title
summary read_when title
Install OpenClaw - installer script, npm/pnpm/bun, from source, Docker, and more
You need an install method other than the Getting Started quickstart
You want to deploy to a cloud platform
You need to update, migrate, or uninstall
Install

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.
  • 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.

```bash curl -fsSL https://openclaw.ai/install.sh | bash ``` ```powershell iwr -useb https://openclaw.ai/install.ps1 | iex ```

To install without running onboarding:

```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard ``` ```powershell & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard ```

For 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 | 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.

npm, pnpm, or bun

If you already manage Node yourself:

```bash npm install -g openclaw@latest openclaw onboard --install-daemon ```
<Note>
The hosted installer clears npm freshness filters such as `min-release-age`
for the OpenClaw package install. If you install manually with npm, your own
npm policy still applies.
</Note>
```bash pnpm add -g openclaw@latest pnpm approve-builds -g openclaw onboard --install-daemon ```
<Note>
pnpm requires explicit approval for packages with build scripts. Run `pnpm approve-builds -g` after the first install.
</Note>
```bash bun add -g openclaw@latest openclaw onboard --install-daemon ```
<Note>
Bun is supported for the global CLI install path. For the Gateway runtime, Node remains the recommended daemon runtime.
</Note>

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

Install from the GitHub main checkout

curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git --version 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-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

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.