Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Install

Already followed Getting Started? You’re all set — this page is for alternative install methods, platform-specific instructions, and maintenance.

System requirements

  • Node 22+ (the installer script will install it if missing)
  • macOS, Linux, or Windows
  • pnpm only if you build from source

📝 Note:

On Windows, we strongly recommend running OpenClaw under WSL2.

Install methods

💡 Tip:

The installer script is the recommended way to install OpenClaw. It handles Node detection, installation, and onboarding in one step.

Installer script

Downloads the CLI, installs it globally via npm, and launches the onboarding wizard.

  **macOS / Linux / WSL2:**
        curl -fsSL https://openclaw.ai/install.sh | bash
        ```
      **Windows (PowerShell):**

```powershell
        iwr -useb https://openclaw.ai/install.ps1 | iex
        ```
    

    That's it — the script handles Node detection, installation, and onboarding.

    To skip onboarding and just install the binary:

    
      **macOS / Linux / WSL2:**

```bash
        curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard
        ```
      **Windows (PowerShell):**

```powershell
        & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
        ```
    

    For all flags, env vars, and CI/automation options, see [Installer internals](./install/installer.md).

</details>

  <details>
<summary>npm / pnpm</summary>

If you already have Node 22+ and prefer to manage the install yourself:

    
      **npm:**

```bash
        npm install -g openclaw@latest
        openclaw onboard --install-daemon
        ```

        <details>
<summary>sharp build errors?</summary>

If you have libvips installed globally (common on macOS via Homebrew) and `sharp` fails, force prebuilt binaries:

          ```bash
          SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latest
          ```

          If you see `sharp: Please add node-gyp to your dependencies`, either install build tooling (macOS: Xcode CLT + `npm install -g node-gyp`) or use the env var above.

</details>
      **pnpm:**

```bash
        pnpm add -g openclaw@latest
        pnpm approve-builds -g        # approve openclaw, node-llama-cpp, sharp, etc.
        openclaw onboard --install-daemon
        ```

        > **📝 Note:**
>
> pnpm requires explicit approval for packages with build scripts. After the first install shows the "Ignored build scripts" warning, run `pnpm approve-builds -g` and select the listed packages.

</details>

  <details>
<summary>From source</summary>

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

    
      **Step 1: Clone and build**

Clone the [OpenClaw repo](https://github.com/openclaw/openclaw) and build:

        ```bash
        git clone https://github.com/openclaw/openclaw.git
        cd openclaw
        pnpm install
        pnpm ui:build
        pnpm build
        ```
      **Step 2: Link the CLI**

Make the `openclaw` command available globally:

        ```bash
        pnpm link --global
        ```

        Alternatively, skip the link and run commands via `pnpm openclaw ...` from inside the repo.
      **Step 3: Run onboarding**

```bash
        openclaw onboard --install-daemon
        ```
    

    For deeper development workflows, see [Setup](./start/setup.md).

</details>

## Other install methods

  - [**Docker**](./install/docker.md): Containerized or headless deployments.
  - [**Podman**](./install/podman.md): Rootless container: run `setup-podman.sh` once, then the launch script.
  - [**Nix**](./install/nix.md): Declarative install via Nix.
  - [**Ansible**](./install/ansible.md): Automated fleet provisioning.
  - [**Bun**](./install/bun.md): CLI-only usage via the Bun runtime.

## After install

Verify everything is working:

```bash
openclaw doctor         # check for config issues
openclaw status         # gateway status
openclaw dashboard      # open the browser UI

If you need custom runtime paths, use:

  • OPENCLAW_HOME for home-directory based internal paths
  • OPENCLAW_STATE_DIR for mutable state location
  • OPENCLAW_CONFIG_PATH for config file location

See Environment vars for precedence and full details.

Troubleshooting: openclaw not found

PATH diagnosis and fix

Quick diagnosis:

node -v
npm -v
npm prefix -g
echo "$PATH"

If $(npm prefix -g)/bin (macOS/Linux) or $(npm prefix -g) (Windows) is not in your $PATH, your shell can’t find global npm binaries (including openclaw).

Fix — add it to your shell startup file (~/.zshrc or ~/.bashrc):

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

On Windows, add the output of npm prefix -g to your PATH.

Then open a new terminal (or rehash in zsh / hash -r in bash).

Update / uninstall