Introduction

OpenClaw runs excellently on Windows — but it requires a slightly different setup than macOS or Linux due to Windows' different shell environment and filesystem conventions. Three approaches work well for Windows users: WSL2 (Windows Subsystem for Linux), Docker Desktop, or native Node.js on Windows. Each has tradeoffs. Here's what we're covering: all three so you can choose the approach that fits your existing setup and technical comfort level.

Prerequisites

Regardless of which method you choose, you'll need:

  • Windows 10 (version 2004 or later) or Windows 11
  • At least 8 GB RAM (16 GB recommended for local model support)
  • An API key from at least one LLM provider (OpenAI, Anthropic, or Google)
  • A messaging platform bot token (Telegram is easiest to configure first)
  • Administrator access to your Windows machine

Method 1: WSL2 (Recommended)

WSL2 (Windows Subsystem for Linux 2) runs a genuine Linux kernel inside Windows, giving you full Linux compatibility without a separate virtual machine. This is the recommended approach because OpenClaw is primarily developed and tested on Linux/macOS, and WSL2 gives you that environment with excellent Windows integration.

Step 1: Install WSL2

Open PowerShell as Administrator and run:

wsl --install

This installs WSL2 with Ubuntu as the default distribution. Restart your computer when prompted.

Step 2: Configure Ubuntu

Launch Ubuntu from the Start menu, set your Linux username and password, then update the package manager:

sudo apt update && sudo apt upgrade -y

Step 3: Install Node.js

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

Step 4: Install OpenClaw

npm install -g openclaw
openclaw setup

The setup wizard guides you through API key configuration, channel setup, and memory directory initialization. All your OpenClaw files live in the WSL2 filesystem at ~/.openclaw/.

Step 5: Configure Windows Terminal (optional but recommended)

Install Windows Terminal from the Microsoft Store for a much better command line experience with WSL2. Add Ubuntu as a profile for easy access.

Starting OpenClaw on startup:

Create a Windows Task Scheduler task that runs a WSL2 command on startup:

wsl --exec bash -c "cd ~ && openclaw start --daemon"

Method 2: Docker Desktop

Docker Desktop for Windows provides a containerized OpenClaw environment that's isolated from your Windows system. This is the most secure approach and recommended for enterprise use or if you're concerned about the agent's shell access to your host system.

Step 1: Install Docker Desktop

Download and install Docker Desktop from docker.com. Enable WSL2 integration during installation (Docker Desktop uses WSL2 as its backend on Windows).

Step 2: Pull the OpenClaw image

docker pull openclaw/openclaw:latest

Step 3: Create configuration

Create a configuration directory on your Windows system at C:Users[username]openclaw and create your config.yaml:

channels:
  telegram:
    token: YOUR_BOT_TOKEN
    
llm:
  provider: openai
  model: gpt-4o
  api_key: YOUR_API_KEY

memory:
  path: /memory

Step 4: Run OpenClaw

docker run -d   --name openclaw   -v "C:Users[username]openclaw:/memory"   -e CONFIG_PATH=/memory/config.yaml   openclaw/openclaw:latest

The agent runs in a container with no access to your Windows host filesystem beyond the explicitly mounted memory directory.

Method 3: Native Windows

Running OpenClaw natively on Windows using Node.js for Windows is possible but not recommended as the primary approach. Shell execution Skills work differently on Windows (cmd.exe vs bash) and some community Skills assume a Unix environment.

Step 1: Install Node.js for Windows

Download the Windows installer from nodejs.org (LTS version recommended).

Step 2: Install OpenClaw

npm install -g openclaw
openclaw setup

Step 3: Configure for Windows shell

Add to your config.yaml to use PowerShell instead of bash:

skills:
  shell:
    executable: powershell
    args: ["-Command"]

Some shell-based Skills from ClawHub that assume bash syntax won't work natively on Windows. WSL2 or Docker are better choices if you plan to use shell automation extensively.

First Configuration

After installation, create your first Telegram bot to test the setup:

  1. Message @BotFather on Telegram
  2. Send /newbot and follow the prompts
  3. Copy the token BotFather provides
  4. Add it to your config.yaml under channels.telegram.token
  5. Start OpenClaw and send your bot a message

If the bot responds, your installation is working correctly. Send "help" to see available commands and "status" to see the agent's current state.

Troubleshooting

WSL2 not starting: Run wsl --status in PowerShell to check WSL2 status. If WSL2 isn't enabled, ensure virtualization is enabled in BIOS settings (Intel VT-x or AMD-V).

OpenClaw not connecting to Telegram: Check your Windows Firewall settings. WSL2 networking sometimes requires a firewall exception. Also verify your bot token is correctly copied — the most common error is a whitespace character in the token string.

Node.js version conflicts: OpenClaw requires Node.js 18 or later. Run node --version to check. If you have an older version, use nvm (Node Version Manager) to install the required version without affecting other projects.

Memory directory permissions: If OpenClaw reports permission errors on the memory directory, check that your WSL2 user owns the directory: ls -la ~/.openclaw/. Fix with sudo chown -R $USER:$USER ~/.openclaw/.

Frequently Asked Questions

Can I access my Windows files from OpenClaw running in WSL2? Yes. Your Windows drives are mounted at /mnt/c/, /mnt/d/, etc. in WSL2. You can configure OpenClaw to read Windows files by using these paths in your configuration.

Does OpenClaw run in the background when I close my laptop? Not if the laptop is sleeping. OpenClaw requires an active connection and running system. For continuous operation, run it on a dedicated machine (desktop, mini PC, or cloud VPS) rather than your laptop.

Can I run OpenClaw alongside Windows Defender? Yes. Windows Defender does not interfere with OpenClaw in WSL2 since WSL2 runs in its own virtualized environment. If running natively, you may need to add Node.js to Windows Defender exclusions if it blocks OpenClaw processes.

Wrapping Up

Windows is a fully supported OpenClaw platform. WSL2 provides the best combination of compatibility and integration for most users, Docker provides the strongest security isolation, and native Windows works for users who need to avoid virtualization overhead. Whichever method you choose, the first-time setup takes 20–40 minutes, and the result is a fully functional OpenClaw installation that runs the same capabilities available on macOS and Linux.