> ## Documentation Index
> Fetch the complete documentation index at: https://labs.prompthon.io/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenClaw Windows Setup

> Prepare WSL2, Node 22, npm, and Codex before continuing to OpenClaw onboarding.

<div className="not-prose my-4 rounded-md border border-gray-200 bg-gray-50 p-2 text-sm dark:border-gray-800 dark:bg-gray-900/40">
  <div className="mb-2 px-1 text-xs font-semibold uppercase tracking-wide text-gray-500 dark:text-gray-400">Need help?</div>

  <div className="flex flex-wrap gap-2">
    <a className="inline-flex items-center gap-2 rounded-md border border-gray-200 bg-white px-3 py-1.5 font-medium text-gray-700 no-underline shadow-sm hover:border-gray-300 hover:bg-gray-50 dark:border-gray-800 dark:bg-gray-950/60 dark:text-gray-200 dark:hover:bg-gray-900" href="https://discord.gg/sDE2HhGTg4" target="_blank" rel="noreferrer">
      <Icon icon="discord" iconType="brands" size={14} />

      <span>Ask in Discord</span>
    </a>

    <a className="inline-flex items-center gap-2 rounded-md border border-gray-200 bg-white px-3 py-1.5 font-medium text-gray-700 no-underline shadow-sm hover:border-gray-300 hover:bg-gray-50 dark:border-gray-800 dark:bg-gray-950/60 dark:text-gray-200 dark:hover:bg-gray-900" href="https://github.com/Prompthon-IO/agent-systems-handbook/issues/new/choose" target="_blank" rel="noreferrer">
      <Icon icon="github" iconType="brands" size={14} />

      <span>Open a GitHub issue</span>
    </a>

    <a className="inline-flex items-center gap-2 rounded-md border border-gray-200 bg-white px-3 py-1.5 font-medium text-gray-700 no-underline shadow-sm hover:border-gray-300 hover:bg-gray-50 dark:border-gray-800 dark:bg-gray-950/60 dark:text-gray-200 dark:hover:bg-gray-900" href="https://github.com/Prompthon-IO/agent-systems-handbook/blob/main/SUPPORT.md" target="_blank" rel="noreferrer">
      <Icon icon="life-ring" size={14} />

      <span>Support guide</span>
    </a>
  </div>
</div>

This setup path is for Windows users. OpenClaw workshop commands should run
inside Ubuntu on WSL2 unless a later step explicitly says otherwise.

## Install Or Verify WSL2

Open PowerShell and check your current WSL status:

```powershell theme={null}
wsl --status
wsl -l -v
```

You should see Ubuntu running on WSL version 2:

```text theme={null}
  NAME      STATE           VERSION
* Ubuntu    Running         2
```

If Ubuntu is installed but still on WSL1, convert it:

```powershell theme={null}
wsl --set-version Ubuntu 2
```

If WSL is missing, run PowerShell as Administrator and install it:

```powershell theme={null}
wsl --install
```

## Enter Ubuntu

Open Ubuntu from your Windows terminal.

<img src="https://mintcdn.com/agentizeai/ntzh5biAzyfS_g8Q/assets/openclaw-workshop/windows/open-ubuntu-terminal.png?fit=max&auto=format&n=ntzh5biAzyfS_g8Q&q=85&s=3f0effdd3520e916f6f668071fae8352" alt="Open Ubuntu from the Windows terminal" width="560" height="183" data-path="assets/openclaw-workshop/windows/open-ubuntu-terminal.png" />

Prepare local binary folders and npm's global prefix:

```bash theme={null}
mkdir -p ~/.local ~/.local/bin ~/.npm-global/bin
npm config set prefix "$HOME/.npm-global"
```

## Install Node.js With NVM

In the Ubuntu terminal, install and load `nvm`:

```bash theme={null}
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
```

Install and use Node 22:

```bash theme={null}
nvm install 22
nvm use 22
```

Verify Node and npm:

```bash theme={null}
node -v
npm -v
```

## Install Codex CLI

Install Codex globally inside WSL:

```bash theme={null}
npm i -g @openai/codex
codex --version
```

Then continue to [Accounts And Onboarding](/workshops/openclaw/accounts-and-onboarding).
