- OpenClaw requiere Node.js 24 o superior. Versiones anteriores no son compatibles.
- WSL 2 ofrece mayor compatibilidad con herramientas Unix que el agente puede invocar. Recomendado para producción.
- Windows nativo funciona bien para desarrollo y para agentes que no usan herramientas de sistema Unix.
- PM2 con
pm2-windows-startupes la forma más sencilla de mantener el gateway activo tras reinicios en Windows nativo. - El firewall de Windows Defender bloquea el puerto 18789 por defecto. Necesitas añadir una regla de entrada si usas webhooks externos.
WSL vs instalación nativa en Windows: cuál elegir
La elección entre WSL y Windows nativo depende principalmente de qué herramientas va a usar el agente y del nivel de familiaridad con Linux.
| Aspecto | Windows nativo | WSL 2 |
|---|---|---|
| Compatibilidad de Node.js | Completa | Completa |
| Herramientas Unix del agente | Limitada (algunos comandos no disponibles) | Completa (kernel Linux real) |
| Sandbox de herramientas | Funciona con limitaciones | Funciona completamente |
| Gestión de procesos (PM2) | Requiere pm2-windows-startup |
systemd o pm2 nativo de Linux |
| Acceso a archivos Windows | Directo | Vía /mnt/c/ (más lento) |
| Rendimiento de red | Sin overhead | WSL 2 + network mirroring (Windows 11): sin overhead |
| Curva de aprendizaje | Mínima para usuarios Windows | Requiere conocimientos básicos de Linux |
| Recomendado para | Desarrollo local, agentes simples sin herramientas Unix | Producción, agentes con herramientas de sistema completas |
Recomendación general: usa Windows nativo si eres nuevo en OpenClaw o si el agente no necesita herramientas de sistema Unix. Migra a WSL 2 cuando necesites el ecosistema completo de herramientas o para entornos de producción donde la compatibilidad con el sandbox es importante.
Instalación nativa de OpenClaw en Windows
Instalación directa en Windows sin virtualización. Funciona en Windows 10 versión 1903 o posterior y Windows 11.
Requisitos previos
- Windows 10 versión 1903 o posterior (o Windows 11)
- Node.js 24 LTS instalado (ver sección siguiente)
- PowerShell 5.1 o superior (incluido en Windows 10/11)
- Git para Windows (opcional, para clonar el repositorio)
Instalación paso a paso
# En PowerShell o Terminal de Windows (como administrador no es necesario)
# 1. Verificar la versión de Node.js
node --version
# Debe mostrar v24.x.x o superior
# 2. Instalar OpenClaw globalmente
npm install -g openclaw
# 3. Verificar la instalación
openclaw --version
# 4. Iniciar el asistente de configuración
openclaw setup
# 5. Arrancar el gateway por primera vez
openclaw gateway start
El asistente de configuración (openclaw setup) guía por los pasos
de configuración del primer agente: nombre, SOUL.md, modelo de LLM y canales.
Después del setup, el gateway arranca y la dashboard es accesible en
http://localhost:18789.
Instalación como tarea programada de Windows
Para que el gateway arranque automáticamente al iniciar Windows sin necesidad de PM2, puedes crear una tarea programada en el Programador de tareas:
# PowerShell — Crear tarea programada para OpenClaw
$action = New-ScheduledTaskAction -Execute "node" `
-Argument "C:\Users\TU_USUARIO\AppData\Roaming\npm\node_modules\openclaw\openclaw.mjs gateway start" `
-WorkingDirectory "C:\Users\TU_USUARIO"
$trigger = New-ScheduledTaskTrigger -AtLogOn
$settings = New-ScheduledTaskSettingsSet `
-RestartCount 3 `
-RestartInterval (New-TimeSpan -Minutes 1) `
-ExecutionTimeLimit (New-TimeSpan -Hours 0)
Register-ScheduledTask `
-TaskName "OpenClaw Gateway" `
-Action $action `
-Trigger $trigger `
-Settings $settings `
-RunLevel Limited
Instalación de OpenClaw en WSL 2
WSL 2 proporciona un entorno Linux completo sobre Windows. Es la opción recomendada para usuarios que quieren el ecosistema completo de herramientas.
Paso 1 — Instalar y configurar WSL 2
# PowerShell como administrador
# Habilitar WSL con Ubuntu (recomendado)
wsl --install -d Ubuntu-24.04
# Si ya tienes WSL 1, migrar a WSL 2
wsl --set-default-version 2
# Verificar que estás usando WSL 2
wsl --list --verbose
# Debe mostrar VERSION 2 para Ubuntu-24.04
Reinicia el sistema después de instalar WSL si es la primera vez. Windows 11
tiene WSL 2 preinstalado y solo necesitas ejecutar wsl --install.
En Windows 10, el proceso puede requerir activar la característica
«Virtual Machine Platform» y «Windows Subsystem for Linux» desde «Activar o
desactivar las características de Windows».
Paso 2 — Instalar Node.js 24 en Ubuntu/WSL
# Dentro de la terminal WSL (Ubuntu)
# Instalar nvm (gestor de versiones de Node)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
# Instalar Node.js 24 LTS
nvm install 24
nvm use 24
nvm alias default 24
# Verificar
node --version # v24.x.x
npm --version
Paso 3 — Instalar y configurar OpenClaw en WSL
# Dentro de WSL
# Instalar OpenClaw globalmente
npm install -g openclaw
# Verificar la instalación
openclaw --version
# Ejecutar el asistente de configuración
openclaw setup
# Arrancar el gateway
openclaw gateway start
# Acceder a la dashboard desde el navegador de Windows
# http://localhost:18789 (WSL 2 reenvía puertos automáticamente)
En WSL 2 con Windows 11 y la función de red espejada activada
(networkingMode=mirrored en .wslconfig), los puertos
del proceso Linux son directamente accesibles desde Windows en
localhost sin configuración adicional. En WSL 2 estándar (sin
red espejada), el reenvío de puertos también funciona automáticamente para la
mayoría de los casos.
Activar red espejada en WSL 2 (Windows 11)
# En Windows, crear o editar C:\Users\TU_USUARIO\.wslconfig
# (archivo de configuración global de WSL)
[wsl2]
networkingMode=mirrored
memory=4GB
processors=2
La red espejada hace que la interfaz de red de WSL 2 sea la misma que la de Windows, eliminando la necesidad de reenvío de puertos y facilitando el acceso desde la red local a los servicios que corren en WSL.
Node.js 24 en Windows: instalación y gestión
OpenClaw requiere Node.js 24. Hay varias formas de instalarlo en Windows, desde el instalador oficial hasta gestores de versiones como nvm-windows.
Opción 1 — Instalador oficial de nodejs.org
La forma más sencilla para usuarios nuevos. Descarga el instalador LTS de
nodejs.org
(elige la rama 24.x LTS). El instalador configura automáticamente las variables
de entorno PATH y es la opción recomendada si solo necesitas
una versión de Node.
Opción 2 — nvm-windows (recomendado para developers)
Si trabajas con múltiples proyectos Node.js o necesitas cambiar de versión, usa nvm-windows ( github.com/coreybutler/nvm-windows ):
# PowerShell — después de instalar nvm-windows desde el instalador
# Listar versiones disponibles de Node
nvm list available
# Instalar Node.js 24 LTS
nvm install 24.0.0
# Seleccionar la versión
nvm use 24.0.0
# Verificar
node --version # v24.x.x
Opción 3 — Winget
# PowerShell — Instalar Node.js 24 con winget
winget install OpenJS.NodeJS.LTS
# Reinicia PowerShell para actualizar el PATH
node --version
Verificar que OpenClaw puede ejecutarse
# Verificar Node y npm
node --version # v24.x.x
npm --version # 10.x.x o superior
# Instalar OpenClaw
npm install -g openclaw
# Comprobar el binario
openclaw --version
# Si el comando no se encuentra, verifica el PATH:
# La carpeta de binarios globales de npm debe estar en PATH
npm config get prefix
# El resultado + \bin debe estar en la variable PATH de Windows
PM2 en Windows: mantener OpenClaw activo
PM2 es el gestor de procesos Node.js más popular. Mantiene el gateway de OpenClaw activo, lo reinicia si falla y puede arrancar automáticamente con Windows.
Instalar PM2 en Windows
# PowerShell
npm install -g pm2
# Verificar
pm2 --version
Registrar OpenClaw en PM2
# Iniciar el gateway de OpenClaw con PM2
pm2 start "openclaw gateway start" --name openclaw-gateway
# Ver el estado del proceso
pm2 status
# Ver logs en tiempo real
pm2 logs openclaw-gateway
# Parar el gateway
pm2 stop openclaw-gateway
# Reiniciar el gateway
pm2 restart openclaw-gateway
Arranque automático con Windows usando pm2-windows-startup
PM2 en Linux usa pm2 startup para generar un servicio de sistema.
En Windows este mecanismo no está disponible de forma nativa, pero el paquete
pm2-windows-startup resuelve el problema:
# Instalar pm2-windows-startup
npm install -g pm2-windows-startup
# Configurar el inicio automático con Windows
pm2-startup install
# Guardar la lista de procesos activos
# (esto hace que PM2 recuerde el proceso openclaw-gateway al reiniciar)
pm2 save
# Verificar que el servicio existe
Get-Service -Name "pm2.exe"
Después de ejecutar pm2-startup install, PM2 crea un servicio de
Windows que arranca automáticamente en el inicio del sistema y relanza todos los
procesos guardados con pm2 save. El gateway de OpenClaw estará
activo sin necesidad de iniciar sesión ni abrir una terminal.
PM2 dentro de WSL
Si usas WSL, el mecanismo de arranque es diferente. WSL no usa servicios de
Windows sino que puede configurarse con systemd (disponible en
Ubuntu 22.04+ dentro de WSL 2) o con el script de inicio de WSL:
# Dentro de WSL con systemd activo
# Instalar PM2 y configurar startup
npm install -g pm2
pm2 start "openclaw gateway start" --name openclaw-gateway
pm2 startup systemd
# Ejecutar el comando que pm2 genera (copia y pega el resultado)
# sudo env PATH=$PATH:/home/USER/.nvm/versions/node/v24.0.0/bin \
# /home/USER/.nvm/versions/node/v24.0.0/lib/node_modules/pm2/bin/pm2 \
# startup systemd -u USER --hp /home/USER
pm2 save
Con systemd activo en WSL, el proceso de OpenClaw arrancará cuando se inicie
la distribución WSL. Para que WSL arranque automáticamente con Windows, crea
una tarea programada que ejecute wsl -d Ubuntu-24.04 en el inicio
de sesión.
Configuración de puertos y firewall de Windows
El gateway de OpenClaw usa el puerto 18789 por defecto. Esta sección explica cuándo necesitas abrirlo en el firewall y cómo hacerlo de forma segura.
¿Cuándo necesitas abrir puertos?
Si solo usas el agente desde la misma máquina (accediendo a
http://localhost:18789), no necesitas abrir ningún puerto en el
firewall de Windows. Solo debes abrir puertos si:
- Necesitas que webhooks externos (WhatsApp, Telegram, Discord) lleguen al gateway
- Quieres acceder a la dashboard desde otro dispositivo en tu red local
- Usas OpenClaw en un servidor Windows accesible desde internet
Abrir el puerto 18789 en el Firewall de Windows
# PowerShell como administrador
# Crear regla de entrada para el puerto de OpenClaw
New-NetFirewallRule `
-DisplayName "OpenClaw Gateway" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 18789 `
-Action Allow `
-Profile Private, Domain
# Verificar que la regla existe
Get-NetFirewallRule -DisplayName "OpenClaw Gateway"
El perfil Private, Domain permite el acceso desde la red local
y la red corporativa, pero no desde redes públicas (por ejemplo, una red WiFi
de café). Si necesitas acceso desde internet, cambia a Public,
pero considera añadir autenticación al proxy inverso primero.
Cambiar el puerto del gateway
Si el puerto 18789 está ocupado o prefieres uno diferente, cámbialo en
openclaw.json. Si ejecutas varios gateways en el mismo host,
la documentación oficial recomienda separar al menos 20 puertos entre ellos:
{
"gateway": {
"port": 18789,
"host": "127.0.0.1"
}
}
// Ejemplo con múltiples gateways en el mismo equipo:
// Gateway principal: puerto 18789
// Gateway de rescate: puerto 19789
// Gateway de pruebas: puerto 20789
Usar un proxy inverso con TLS (recomendado)
Para acceso externo, lo más seguro es colocar un proxy inverso (Caddy o nginx) delante del gateway de OpenClaw. Caddy es especialmente fácil en Windows porque gestiona los certificados SSL automáticamente:
# Caddyfile de ejemplo para OpenClaw
# (coloca en el mismo directorio que caddy.exe)
tu-dominio.com {
reverse_proxy localhost:18789
basicauth /* {
admin JDJiJDEyJHRoYXNoZGVsYXBhc3N3b3Jk # hash bcrypt de tu contraseña
}
}
Desarrollo local de agentes en Windows
Configuración recomendada para desarrollar y probar agentes de OpenClaw en un entorno Windows local antes de desplegar en producción.
Estructura de directorios en Windows
OpenClaw almacena su configuración y estado en el directorio home del usuario. En Windows, la ruta por defecto es:
C:\Users\TU_USUARIO\.openclaw\
├── agents\
│ └── mi-agente\
│ ├── agent\
│ │ ├── SOUL.md ← personalidad del agente
│ │ └── auth-profiles.json ← credenciales de servicios
│ └── memory\
│ └── MEMORY.md ← memoria persistente
├── workspace\ ← workspace por defecto del agente
└── openclaw.json ← configuración del gateway
Puedes cambiar la ubicación del estado del gateway con la variable de entorno
OPENCLAW_STATE_DIR y la del workspace con
OPENCLAW_WORKSPACE. Esto es útil si quieres almacenar el estado
en un disco diferente o en una ruta con más espacio.
Variables de entorno en Windows
# PowerShell — Configurar variables de entorno para OpenClaw
# (válidas solo para la sesión actual)
$env:OPENCLAW_STATE_DIR = "D:\openclaw-state"
$env:OPENCLAW_CONFIG_PATH = "D:\openclaw-state\openclaw.json"
# Para hacerlas persistentes (afectan a todas las sesiones del usuario):
[System.Environment]::SetEnvironmentVariable(
"OPENCLAW_STATE_DIR",
"D:\openclaw-state",
"User"
)
# Verificar
Get-ChildItem Env:OPENCLAW_STATE_DIR
Tunnel ngrok para pruebas de webhooks
Para probar webhooks de WhatsApp o Telegram en local sin un servidor, usa ngrok para crear un túnel temporal:
# Instalar ngrok (winget)
winget install ngrok.ngrok
# Crear un túnel al puerto del gateway
ngrok http 18789
# ngrok mostrará una URL pública tipo:
# Forwarding https://abc123.ngrok.io -> http://localhost:18789
# Usa esa URL para configurar el webhook de WhatsApp o Telegram
# Recuerda actualizar la URL en Meta/Telegram cada vez que reinicies ngrok
# (a menos que uses un dominio fijo de pago)
Problemas comunes en Windows y sus soluciones
Lista de los errores más frecuentes al instalar y ejecutar OpenClaw en Windows, con la causa y la solución para cada uno.
«openclaw» no se reconoce como un comando interno
El directorio de binarios globales de npm no está en el PATH de Windows.
Ejecuta npm config get prefix para ver la ruta (normalmente
C:\Users\TU_USUARIO\AppData\Roaming\npm) y añádela a las
variables de entorno del sistema. Reinicia PowerShell.
Error «execution of scripts is disabled on this system»
PowerShell tiene la política de ejecución de scripts bloqueada. Ejecuta
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
en PowerShell como administrador para permitir scripts locales firmados o sin firmar.
El puerto 18789 ya está en uso
Otro proceso está usando el puerto. Identifícalo con
netstat -ano | findstr :18789 y el PID resultante con
tasklist /fi "PID eq <PID>". O cambia el puerto
del gateway en openclaw.json a otro libre.
El gateway no está accesible desde la red local
Verifica que el gateway escucha en 0.0.0.0 y no solo en
127.0.0.1: cambia "host": "0.0.0.0" en
openclaw.json. Comprueba también que el Firewall de Windows
tiene la regla de entrada para el puerto 18789.
Rutas con espacios causan errores en herramientas
Si tu nombre de usuario de Windows contiene espacios (por ejemplo,
«Juan García»), algunas herramientas pueden fallar. Configura
OPENCLAW_STATE_DIR a una ruta sin espacios, como
D:\openclaw, y usa esa ruta en la configuración.
Alto consumo de CPU en Windows (antivirus)
Windows Defender puede escanear intensamente el directorio
.openclaw cuando el agente trabaja con muchos archivos.
Añade la carpeta %USERPROFILE%\.openclaw a las exclusiones
de Windows Defender para reducir el impacto en el rendimiento.
Preguntas frecuentes sobre OpenClaw en Windows
Sí. OpenClaw es un proceso Node.js y funciona de forma nativa en Windows. Sin embargo, algunas herramientas que el agente puede invocar (comandos de shell Unix, utilidades del ecosistema Linux) no están disponibles en Windows nativo. Para agentes sencillos que usan el LLM para chat y tareas de ofimática, Windows nativo es suficiente. Para el ecosistema completo, WSL 2.
Node.js 24 o superior. Versiones anteriores (Node 18, 20 o 22) no son compatibles con las dependencias más recientes de OpenClaw. Instala la versión LTS de la rama 24.x desde nodejs.org o usa nvm-windows para gestionar varias versiones en el mismo equipo.
La opción más robusta es PM2 con el módulo pm2-windows-startup,
que crea un servicio de Windows para el proceso. Alternativas: el Programador
de tareas de Windows (sin dependencias adicionales) o, si usas WSL, systemd
dentro de la distribución Linux. Cualquiera de las tres opciones mantiene
el gateway activo tras reinicios del sistema.
El puerto por defecto es el 18789. Para acceso solo local no necesitas
abrir puertos. Si necesitas acceso externo (webhooks de WhatsApp, Telegram
o acceso desde la red local), añade una regla de entrada en el Firewall de
Windows Defender con PowerShell:
New-NetFirewallRule -DisplayName "OpenClaw" -Direction Inbound -Protocol TCP -LocalPort 18789 -Action Allow.
Se recomienda usar un proxy inverso con TLS en lugar de exponer el puerto directamente.
No actualmente (mayo 2026). OpenClaw se instala mediante
npm install -g openclaw. No hay paquete oficial en winget
ni Chocolatey. La forma más rápida es instalar Node.js 24 desde nodejs.org
y ejecutar el comando npm en PowerShell o Terminal de Windows.
WSL 2 siempre. OpenClaw y sus herramientas de sistema funcionan mejor bajo
WSL 2, que usa un kernel de Linux real con mayor compatibilidad de llamadas
al sistema. WSL 1 tiene limitaciones con inotify, sockets Unix y algunas
operaciones de red que pueden causar problemas con el gateway. Activa WSL 2
con wsl --set-default-version 2.
Guía completa de OpenClaw
Arquitectura, instalación en Linux y macOS, modelos soportados, más de 20 canales de mensajería, sistema de skills, memoria y comparativa con Hermes Agent y OpenSwarm. Todo lo que necesitas para dominar OpenClaw.
Ver guía completa de OpenClaw