docs/install/index.md
pnpm is only needed if you build from sourceThe fastest way to install. It detects your OS, installs Node if needed, installs OpenClaw, and launches onboarding.
<Tabs> <Tab title="macOS / Linux / WSL2"> ```bash curl -fsSL https://openclaw.ai/install.sh | bash ``` </Tab> <Tab title="Windows (PowerShell)"> ```powershell iwr -useb https://openclaw.ai/install.ps1 | iex ``` </Tab> </Tabs>To install without running onboarding:
<Tabs> <Tab title="macOS / Linux / WSL2"> ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard ``` </Tab> <Tab title="Windows (PowerShell)"> ```powershell & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard ``` </Tab> </Tabs>For all flags and CI/automation options, see Installer internals.
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.
If you already manage Node yourself:
<Tabs> <Tab title="npm"> ```bash npm install -g openclaw@latest openclaw onboard --install-daemon ``` </Tab> <Tab title="pnpm"> ```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>
<Note>
Bun is supported for the global CLI install path. For the Gateway runtime, Node remains the recommended daemon runtime.
</Note>
SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latest
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.
npm install -g github:openclaw/openclaw#main
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:
openclaw onboard --install-daemon or openclaw gateway installDeploy OpenClaw on a cloud server or VPS:
<CardGroup cols={3}> <Card title="VPS" href="/vps">Any Linux VPS</Card> <Card title="Docker VM" href="/install/docker-vm-runtime">Shared Docker steps</Card> <Card title="Kubernetes" href="/install/kubernetes">K8s</Card> <Card title="Fly.io" href="/install/fly">Fly.io</Card> <Card title="Hetzner" href="/install/hetzner">Hetzner</Card> <Card title="GCP" href="/install/gcp">Google Cloud</Card> <Card title="Azure" href="/install/azure">Azure</Card> <Card title="Railway" href="/install/railway">Railway</Card> <Card title="Render" href="/install/render">Render</Card> <Card title="Northflank" href="/install/northflank">Northflank</Card> </CardGroup>openclaw not foundIf 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.