In This Article
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:
- Message @BotFather on Telegram
- Send
/newbotand follow the prompts - Copy the token BotFather provides
- Add it to your config.yaml under channels.telegram.token
- 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.