On this page

How to Install OpenClaw on Windows 11 (Without Docker Headaches)

Windows gets a bad reputation in the developer world — “just use Linux” is the common refrain. But most people use Windows. Your work laptop runs Windows. Your home PC runs Windows. And you want OpenClaw running on your computer, not some hypothetical Linux machine you don’t actually have.

This guide shows you how to install OpenClaw on Windows 11 without Docker, without WSL complexity (unless you want it), and without the usual “it works on my machine” frustrations. Two paths: native Windows install (straightforward, some quirks) or WSL2 (Linux on Windows, cleaner but more steps).

Why Windows Install Is Different (And Why That’s Fine)

  • The Linux assumption — most OpenClaw docs assume Bash, Unix permissions, systemd. None of that works on Windows.
  • The Docker cop-out — Docker Desktop on Windows has its own quirks, eats resources, and adds complexity.
  • The native approach — install Node.js, run OpenClaw directly. Node runs fine on Windows; you just need the gotchas.
  • The WSL2 option — real Linux on Windows. More setup, then all Linux docs just work.

Path 1, Step 1: Install Node.js (Windows Edition)

Download the Windows Installer (.msi) from nodejs.org. Pick the LTS 64-bit build. During install, check “Automatically install necessary tools” — this pulls Python and Visual Studio Build Tools, needed for native npm modules. Verify in PowerShell:

node --version
npm --version
# v20.11.1
# 10.5.0

Step 2: Install Git for Windows

Download from git-scm.com/download/win. Accept defaults except for “Adjusting your PATH” — choose “Git from the command line and also from 3rd-party software”. Use “Checkout Windows-style, commit Unix-style” for line endings. Verify with git --version.

Step 3: Handle the PATH Issue (Critical)

Windows handles PATH differently than Linux. The Node installer adds itself, but it sometimes doesn’t “stick.” Check it:

$env:PATH -split ';'

Look for C:\Program Files\nodejs\ and %APPDATA%\npm. If missing: Win+X → System → Advanced system settings → Environment Variables → edit User Path → add both. Restart PowerShell — PATH only updates in new shells.

Step 4: Clone OpenClaw

mkdir C:UsersYourUsernameProjects
cd C:UsersYourUsernameProjects
git clone https://github.com/openclaw/openclaw.git
cd openclaw

Why this path? No spaces, under your user dir (no admin), and short — Windows has a 260-character path limit (next section).

Step 5: Handle the Long Path Bug

Node dependencies create deeply nested folders. Combine with a long install path and you’ll hit Windows’ 260-character cap with cryptic errors. Open PowerShell as Administrator:

New-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetControlFileSystem" `
  -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force

Or via Group Policy: gpedit.msc → Computer Configuration → Administrative Templates → System → Filesystem → “Enable Win32 long paths” → Enabled. Reboot (yes, really). If you still hit limits, move OpenClaw to C:\openclaw.

Step 6: Install Dependencies

cd C:UsersYourUsernameProjectsopenclaw
npm install

Takes 3-5 minutes. If you see node-gyp errors, install build tools (admin):

npm install --global windows-build-tools
npm install

Step 7: Configure & First Run

Copy-Item .env.example .env
notepad .env

Minimal config:

OPENAI_API_KEY=sk-proj-your-key
# or ANTHROPIC_API_KEY=sk-ant-your-key
AGENT_NAME=MyWindowsAgent
PORT=3000
PLATFORM=win32
? Tip:Windows path gotcha — in .env, use forward slashes (C:/logs/openclaw.log) or escaped backslashes (C:\\logs\\openclaw.log). Single backslashes break.

Run it with npm start, open http://localhost:3000, and try a prompt like “What’s 2+2?”. Ctrl+C to stop.

Step 8: Run as Background Service

Option A — PM2 (cross-platform)

npm install -g pm2
cd C:UsersYourUsernameProjectsopenclaw
pm2 start npm --name "openclaw" -- start
pm2 status
pm2 startup   # outputs a command — run it as admin
pm2 save

Useful: pm2 logs openclaw, pm2 restart openclaw, pm2 stop openclaw.

Option B — Task Scheduler (native)

Open taskschd.msc, Create Basic Task → trigger “When I log on” → Start a program → C:\Program Files\nodejs\node.exe with arg C:\Users\YourUsername\Projects\openclaw\src\index.js. Confirm with Get-Process node.

Step 9: Verify the Agent Loop

The agent loop is OpenClaw’s heartbeat. Tail logs:

pm2 logs openclaw --lines 50
# [INFO] Agent loop: tick
# [INFO] Checking for new messages...
# [INFO] Processing 0 pending tasks

Test with “Remind me to check this in 1 minute” — if the reminder fires after a minute, the loop is healthy.

Path 2: WSL2 Install (Linux on Windows)

WSL2 runs a real Linux kernel inside Windows. Install OpenClaw inside WSL2 and every Linux doc just works. Choose this if you’re comfortable with Linux, want consistent behavior with cloud deploys, or the native install isn’t cooperating.

Install WSL2 + Ubuntu

# PowerShell as Administrator
wsl --install
# Reboot, then create username + password in Ubuntu

Install Node.js & OpenClaw

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

cd ~ && mkdir projects && cd projects
git clone https://github.com/openclaw/openclaw.git
cd openclaw && npm install
cp .env.example .env && nano .env
npm start

Open http://localhost:3000 in your Windows browser — WSL2 forwards ports automatically. For background use, PM2 works the same as on Windows, or write a systemd unit at /etc/systemd/system/openclaw.service.

WSL2 ↔ Windows file access

  • From WSL: cd /mnt/c/Users/YourUsername/Documents
  • From Windows Explorer: \wsl$Ubuntuhomeyourusernameprojectsopenclaw

PowerShell vs CMD

Use PowerShell. Modern, Unix-ish commands, better scripting. CMD is legacy. Even better: install Windows Terminal from the Microsoft Store for tabs and split panes.

  • List files — PowerShell: ls or dir; CMD: dir
  • Env variable — PowerShell: $env:PATH; CMD: %PATH%
  • Clear screen — PowerShell: Clear-Host or cls; CMD: cls

Common Windows-Specific Issues

“npm: command not found” (but Node is installed)

PATH didn’t update in your current shell. Close PowerShell, reopen. If still broken, reload PATH:

$env:PATH = [System.Environment]::GetEnvironmentVariable("PATH","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("PATH","User")

“ENOENT: no such file or directory”

Path has spaces or special characters. Move OpenClaw to a clean path like C:\Users\JohnSmith\Projects\openclaw.

“Cannot find module” after npm install

Long path issue. Move OpenClaw closer to root: C:\openclaw.

Web interface won’t load

Port 3000 is in use. Find and kill, or change PORT:

netstat -ano | findstr :3000
taskkill /PID 12345 /F

“Access denied”

Install in your user directory, not C:\Program Files.

npm install fails with “gyp ERR!”

Missing build tools. Run npm install --global windows-build-tools (admin), then retry.

Firewall and Antivirus Considerations

Windows Defender

Defender may scan OpenClaw on first run (slow startup) or false-positive on dynamic Node code. Whitelist the folder: Windows Security → Virus & threat protection → Manage settings → Exclusions → Add → Folder → pick your OpenClaw directory.

Windows Firewall

On first run Windows will ask whether Node.js can communicate. Click Allow access for both private and public if you need external access. Missed the prompt? Windows Security → Firewall & network protection → Allow an app → Change settings → enable Node.js for Private + Public.

Performance Tuning for Windows

# In .env
NODE_OPTIONS=--max-old-space-size=2048
POLL_INTERVAL=5000
  • Install OpenClaw on SSD; keep large logs/data on HDD if you split disks
  • Disable unused skills in config/skills.yml — fewer skills, less RAM

The “Skip All of This” Option: PaioClaw

Native install runs 30-60 minutes, WSL2 closer to 45-90 minutes — you’ve handled PATH, the long-path bug, build tools, PowerShell vs CMD, firewall prompts, and background services. Ongoing maintenance: Windows updates occasionally break Node paths, PM2 sometimes needs a restart, skill updates are manual.

The PaioClaw Windows app: download the .exe, install, paste API keys — about 2 minutes. No PATH issues, no long-path bugs, no build tools, no service config. Auto-updates, system tray, starts on boot, pre-configured skills. Starts free, paid plans from $4/mo.

DIY when: learning OpenClaw internals, customizing source, developing skills, or you enjoy Windows troubleshooting. Use PaioClaw when: you just want OpenClaw working, your time is worth more than $4/month, you want auto-updates and support.

Native vs WSL2 vs PaioClaw: Decision Matrix

  • Setup time — Native: 30-60 min · WSL2: 45-90 min · PaioClaw: 2 min
  • Compatibility — Native: most things work · WSL2: Linux-grade · PaioClaw: everything
  • Performance — Native: good · WSL2: very good · PaioClaw: optimized
  • Updates — Native/WSL2: manual · PaioClaw: automatic
  • Resource usage — Native: moderate · WSL2: higher (virtualization) · PaioClaw: low
  • Best for — Native: learning/custom dev · WSL2: Linux familiarity · PaioClaw: just works

The Bottom Line

You can absolutely run OpenClaw on Windows 11. Native works with some quirks (PATH, long paths, build tools). WSL2 sidesteps most of those by giving you real Linux on Windows, at the cost of more setup. Either way, you now have OpenClaw running, verified, and starting on boot.

Honest math: ~60 min setup at $50/hr = $50, plus ~15 min/month debugging Windows-specific issues. PaioClaw runs $0-4/month. For Windows specifically, “just download an app” makes a lot of sense — but if you went DIY you now own the stack and know exactly how it works.

Join Our Community

Connect with other PaioClaw users, share tips, and stay up to date.