#New update broken
1 messages · Page 1 of 1 (latest)
Yep — this one is real, and your output matches a 2026.4.5 breaking change.
agents.defaults.cliBackends was removed in 2026.4.5, so that key now fails schema validation.
Release notes: https://github.com/openclaw/openclaw/releases/tag/v2026.4.5 (look for “Providers/CLI: remove … agents.defaults.cliBackends surface”).
Also, openclaw doctor --fix not removing unknown keys is a known issue in some cases: https://github.com/openclaw/openclaw/issues/22272
Quick fix (Windows)
- Open your config file:
C:\Users\<you>\.openclaw\openclaw.json - Remove the whole
cliBackendsblock underagents.defaults. - Save.
- Run:
openclaw doctor
openclaw gateway restart
openclaw status
If you want, paste your agents section here and I’ll point to the exact lines to delete so you don’t fight commas/braces.
fixed. I have another issue. oopenclaw gateway start doesn't work for me, always I have to do openclaw gateway run
Nice, good save ✅
What you’re seeing is usually this:
openclaw gateway run= starts Gateway in the current terminal (foreground).openclaw gateway start= starts the installed background service (Windows Scheduled Task / fallback startup mode).
So if service install is missing/broken (common on native Windows), start won’t behave like run.
Try this exact repair flow:
openclaw gateway status --json
openclaw gateway uninstall
openclaw gateway install --force
openclaw gateway start
openclaw gateway status --deep
If install says Scheduled Task couldn’t be created, OpenClaw may fall back to Startup-folder mode — in that case gateway run can still work fine, and auto-start happens on login.
If you paste the outputs of gateway status --json and gateway install --force, I can tell you exactly which mode you’re in and what to do next.
Docs:
Ok, fixed! New error with te update:
15:55:03+02:00 [telegram] connect error: gateway closed (1000):
15:55:03+02:00 gateway connect failed: Error: gateway closed (1000):
15:55:03+02:00 [telegram] connect error: gateway closed (1000):
15:55:04+02:00 gateway connect failed: Error: gateway closed (1000):
15:55:04+02:00 [bonjour] watchdog detected non-announced service; attempting re-advertise (gateway fqdn=DESKTOP-S7EON2I (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)
15:55:09+02:00 [plugins] embedded acpx runtime backend ready
15:55:09+02:00 [discord] gateway metadata lookup failed transiently; using default gateway url (Failed to get gateway information from Discord: fetch failed)
15:55:09+02:00 [discord] client initialized as 1488514786726645800 (Nanami); awaiting gateway readiness
15:55:10+02:00 [discord] logged in to discord as 1490455810407403710 (Fumi)
15:55:10+02:00 [discord] client initialized as 1489889563475316827 (Sora); awaiting gateway readiness
15:55:48+02:00 [tools] read failed: ENOENT: no such file or directory, access 'C:\Users\Adrián.openclaw\workspace\memory\2026-04-06.md' raw_params={"path":"C:\Users\Adrián\.openclaw\workspace\memory\2026-04-06.md"}
15:59:14+02:00 [openclaw] Uncaught exception: Error: Attempted to reconnect zombie connection after disconnecting first (this shouldn't be possible)
at Object.reconnectCallback (file:///C:/Users/Adri%C3%A1n/AppData/Roaming/npm/node_modules/openclaw/dist/provider-DR2mO1YM.js:13811:26)
at sendHeartbeat (file:///C:/Users/Adri%C3%A1n/AppData/Roaming/npm/node_modules/openclaw/dist/provider-DR2mO1YM.js:13462:12)
at Timeout._onTimeout (file:///C:/Users/Adri%C3%A1n/AppData/Roaming/npm/node_modules/openclaw/dist/provider-DR2mO1YM.js:13472:3)
at listOnTimeout (node:internal/timers:605:17)
at processTimers (node:internal/timers:541:7)
PS C:\Users\Adrián>
Yep — this log points to a real crash path, not just noise.
The key line is:
Uncaught exception: Attempted to reconnect zombie connection after disconnecting first
That’s a Discord reconnect race. When Gateway crashes, Telegram then reports gateway closed (1000) because its connection got dropped.
What’s harmless vs real
telegram connect error: gateway closed (1000)→ usually a symptom of gateway restart/crashENOENT ... workspace\memory\2026-04-06.md→ usually non-fatal (missing optional memory file)Attempted to reconnect zombie connection...→ actual crash trigger
Fast workaround (to confirm)
Disable Discord temporarily and restart:
openclaw config set channels.discord.enabled false
openclaw gateway restart
If crashes stop, we’ve confirmed Discord reconnect is the culprit.
If you still need Discord immediately, try reducing to one Discord account/token first (your log shows multiple Discord clients initializing).
If this still happens on latest, please open a fresh GitHub issue with these logs + openclaw status --all output:
https://github.com/openclaw/openclaw/issues
Useful refs:
https://docs.openclaw.ai/gateway/troubleshooting
https://docs.openclaw.ai/cli/gateway
If you paste openclaw status --all, I can help you write a clean issue report in one go.
podemos hablar en catellano?
¡Sí, claro! Podemos hablar en castellano 🇪🇸🙂
Si quieres, seguimos ahora con el error del Gateway y te doy los pasos en español.
si, porfa
Perfecto 👌 vamos en español.
Por lo que pegaste, lo importante es esto:
gateway closed (1000)en Telegram → síntoma (se cae/reinicia el gateway).ENOENT ... memory\2026-04-06.md→ no suele ser fatal.Attempted to reconnect zombie connection...→ este sí es el error real (reconexión de Discord).
Paso rápido para confirmar
Desactiva Discord temporalmente y reinicia:
openclaw config set channels.discord.enabled false
openclaw gateway restart
openclaw gateway status --deep
Si así deja de caerse, ya confirmamos que viene de Discord/reconexión.
Si quieres, luego te ayudo a reactivar Discord de forma segura (dejando solo 1 cuenta primero y probando).
Y si sigue pasando en la última versión, toca abrir issue con logs aquí:
https://github.com/openclaw/openclaw/issues
Si me pegas salida de openclaw status --all, te digo exactamente el siguiente paso.
He intentado reinstalar gateway, pero salta esto:
🦞 OpenClaw 2026.4.5 (3e72c03) — iMessage green bubble energy, but for everyone.
Gateway restart failed: Error: schtasks run failed: ERROR: no se pudo ejecutar la tarea programada "OpenClaw Gateway" porque est� deshabilitada.
Tip: openclaw gateway install
Tip: openclaw gateway
Tip: schtasks /Run /TN "OpenClaw Gateway"
PS C:\Users\Adrián> openclaw gateway install
🦞 OpenClaw 2026.4.5 (3e72c03) — Ah, the fruit tree company! 🍎
Gateway service already registered.
Reinstall with: openclaw gateway install --force
PS C:\Users\Adrián> openclaw gateway install --force
🦞 OpenClaw 2026.4.5 (3e72c03) — Deployed locally, trusted globally, debugged eternally.
Gateway install failed: Error: schtasks create failed: Error: Acceso denegado.
PS C:\Users\Adrián>
Perfecto, aquí ya está clarísimo el problema 👇
No es OpenClaw en sí: es Task Scheduler de Windows.
- La tarea
OpenClaw Gatewayestá deshabilitada - y al reinstalar te da “Acceso denegado” (falta permisos para recrearla)
Opción A (recomendada): arreglar tarea con PowerShell como Administrador
- Abre PowerShell como Admin y ejecuta:
schtasks /Change /TN "OpenClaw Gateway" /ENABLE
schtasks /Run /TN "OpenClaw Gateway"
- Si sigue fallando, en ese mismo PowerShell Admin:
schtasks /Delete /TN "OpenClaw Gateway" /F
- Luego (puede ser en terminal normal):
openclaw gateway install --force
openclaw gateway start
openclaw gateway status --deep
Opción B (si tu Windows bloquea tareas programadas por política)
Usa modo foreground:
openclaw gateway run
(En Windows nativo esto es bastante común; WSL2 suele ir más fino para daemon/startup.)
Docs:
- https://docs.openclaw.ai/platforms/windows
- https://docs.openclaw.ai/cli/gateway
- https://docs.openclaw.ai/gateway/troubleshooting
Si quieres, cuando ejecutes la Opción A me pegas el output y te digo exactamente el siguiente paso.
Pero tngo windows 10, puedo correr wsl2?
Sí, totalmente — WSL2 funciona en Windows 10 ✅
Solo necesitas:
- Windows 10 64-bit versión 2004 o superior (build 19041+)
- Virtualización activada (BIOS/UEFI)
Comprobación rápida
winver(te muestra versión/build)
Instalación (PowerShell como Admin)
wsl --install
Luego reinicia y verifica:
wsl --status
wsl -l -v
Si te deja, pon WSL2 por defecto:
wsl --set-default-version 2
OpenClaw va bastante mejor en WSL2 que en Windows nativo para daemon/startup.
Si quieres, te paso el mini checklist exacto para migrarlo sin perder tu config.
Docs:
Vale, ya lo haré. Estoy forzando instalación con permisos elevados
Perfecto, vas por buen camino 👍
Cuando termines con permisos elevados, prueba este orden:
openclaw gateway install --force
openclaw gateway start
openclaw gateway status --deep
openclaw status --all
Si algo falla, pégame solo esos outputs y te digo exactamente el siguiente paso (sin vueltas).
tiro con openclaw gateway rtun y ya migraré a wsl2 mas tarde, seguimos con el error del discord
Perfecto, buena jugada usar openclaw gateway run por ahora 👌
Vamos con Discord.
Por tus logs, el crash viene de la reconexión de Discord (“zombie connection”), y además veo varias cuentas Discord inicializándose. Eso suele dispararlo más.
Plan rápido (estable hoy)
- Deja solo 1 cuenta Discord activa (desactiva las demás).
- Arranca con
openclaw gateway runy prueba 10-15 min.
Si quieres, te doy los comandos exactos, pero necesito ver cómo tienes las cuentas configuradas:
openclaw config get channels.discord.accounts --json
openclaw config get channels.discord.defaultAccount --json
⚠️ Antes de pegar aquí, reemplaza cualquier token/secret por ***.
Si incluso con 1 sola cuenta sigue cayendo, ya es bug para issue nuevo con logs frescos:
https://github.com/openclaw/openclaw/issues
Y te ayudo a redactarlo en 2 minutos.
"default": {
"token": "OPENCLAW_REDACTED",
"groupPolicy": "allowlist",
"guilds": {
"1488510104041947218": {
"requireMention": true,
"users": [
"428654591421317123",
"1489889563475316827",
"1490455810407403710"
]
}
}
},
"fumi": {
"token": "OPENCLAW_REDACTED",
"groupPolicy": "allowlist",
"dmPolicy": "allowlist",
"allowFrom": [
"discord:428654591421317123",
"discord:1488514786726645800",
"discord:1489889563475316827"
],
"guilds": {
"1488510104041947218": {
"requireMention": true,
"users": [
"428654591421317123",
"1488514786726645800",
"1489889563475316827"
]
}
}
},
"sora": {
"token": "OPENCLAW_REDACTED",
"groupPolicy": "allowlist",
"dmPolicy": "allowlist",
"allowFrom": [
"discord:428654591421317123",
"discord:1488514786726645800",
"discord:1490455810407403710"
],
"guilds": {
"1488510104041947218": {
"requireMention": true,
"users": [
"428654591421317123",
"1488514786726645800",
"1490455810407403710"
]
}
}
}
}
PS C:\Users\Adrián> openclaw config get channels.discord.defaultAccount --json
Config path not found: channels.discord.defaultAccount
Genial, gracias por pegarlo (y bien redacted 👌).
Sí, con eso confirmamos que tienes 3 cuentas Discord activas (default, fumi, sora).
Para aislar el crash, deja solo default:
openclaw config set channels.discord.accounts.fumi.enabled false
openclaw config set channels.discord.accounts.sora.enabled false
openclaw config set channels.discord.accounts.default.enabled true
openclaw config set channels.discord.defaultAccount "default"
openclaw config validate
Luego arranca:
openclaw gateway run
Y observa 10-15 min.
Lo de Config path not found: channels.discord.defaultAccount era normal: simplemente no lo tenías definido aún.
Si después de dejar 1 sola cuenta sigue el “zombie connection”, ya lo tratamos como bug puro y abrimos issue con ese repro mínimo (1 account + logs).
16:35:54+02:00 [gateway] loading configuration…
16:35:54+02:00 [gateway] resolving authentication…
16:35:54+02:00 [gateway] starting...
16:36:26+02:00 [gateway] starting HTTP server...
16:36:26+02:00 [canvas] host mounted at http://127.0.0.1:18789/__openclaw__/canvas/ (root C:\Users\Adrián.openclaw\canvas)
16:36:26+02:00 [gateway] MCP loopback server listening on http://127.0.0.1:61285/mcp
16:36:27+02:00 [heartbeat] started
16:36:27+02:00 [health-monitor] started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
16:36:27+02:00 [gateway] agent model: claude-cli/claude-sonnet-4-6
16:36:27+02:00 [gateway] ready (7 plugins, 32.7s)
16:36:27+02:00 [gateway] log file: C:\Users\ADRIN~1\AppData\Local\Temp\openclaw\openclaw-2026-04-06.log
16:36:27+02:00 [gateway] security warning: dangerous config flags enabled: gateway.controlUi.allowInsecureAuth=true. Run openclaw security audit.
16:36:27+02:00 [gateway] starting channels and sidecars...
16:36:29+02:00 [hooks] loaded 4 internal hook handlers
16:36:37+02:00 [bonjour] watchdog detected non-announced service; attempting re-advertise (gateway fqdn=DESKTOP-S7EON2I (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)
16:39:23+02:00 [bonjour] restarting advertiser (service stuck in probing for 166695ms (gateway fqdn=DESKTOP-S7EON2I (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing))
llevamos ya un buen rato arrancando
Tranquilo: ya está arrancado ✅
La línea clave es esta:
[gateway] ready (7 plugins, 32.7s)
Con openclaw gateway run el proceso se queda en primer plano (no vuelve al prompt), así que parece “atascado” pero está sirviendo.
Lo de Bonjour (state=probing) no bloquea el gateway; es solo el anunciante mDNS reiniciando.
Cómo comprobarlo
En otra terminal, ejecuta:
openclaw status
openclaw channels status --probe
Si quieres quitar el ruido de Bonjour en Windows
(temporal, sesión actual)
$env:OPENCLAW_DISABLE_BONJOUR="1"
openclaw gateway run
Si te va bien así, luego lo dejamos permanente.
¿Seguimos luego reactivando Discord solo con default para validar que no crashea?
o
Gateway reachable.
- Telegram default: enabled, configured, running, in:3m ago, mode:polling, bot:@cedar crownbot, token:config, works
- Telegram fumi: enabled, configured, running, mode:polling, bot:@fumisleyvennbot, token:config, works
- Telegram sora: enabled, configured, running, mode:polling, bot:@sorasleyvennbot, token:config, works
Tip: status --deep adds gateway health probes to status output (requires a reachable gateway).
PS C:\Users\Adrián>
¡Buenísimo! Eso confirma que el gateway está estable y Telegram va bien ✅
Entonces el siguiente paso es aislar Discord sin romper lo que ya funciona:
- Mantén solo 1 cuenta Discord (
default) - Deja
fumiysoradesactivadas - Reinicia
gateway runy prueba
openclaw config set channels.discord.enabled true
openclaw config set channels.discord.accounts.default.enabled true
openclaw config set channels.discord.accounts.fumi.enabled false
openclaw config set channels.discord.accounts.sora.enabled false
Luego reinicia el proceso (Ctrl+C y openclaw gateway run) y mira si aguanta 10-15 min.
Si aguanta, vamos activando fumi y sora una por una para encontrar cuál dispara el crash.
Eso ya lo hemos hecho antes
Tienes razón, perdona — no te hago repetir más 🙏
Si ya probaste solo default y aún aparece el crash de “zombie connection”, entonces estamos en bug real de Discord reconnect en esta versión/entorno.
Recomendación práctica ahora
- Mantén Discord desactivado en Windows (
gateway run) para estabilidad. - Sigue con Telegram (que ya te va OK).
- Migra a WSL2 y re-prueba Discord ahí.
Y en paralelo: abrir issue (vale la pena)
https://github.com/openclaw/openclaw/issues
Si quieres, te dejo un texto listo para pegar en el issue con tus logs y lo enviamos limpio en un mensaje.
No, hay que deshacer lo que has hecho, el problema no era ese. Es otro el que tengo, dime como revertir esos cambios
Tienes razón — vamos a dejarlo como antes.
Perdón por la vuelta 🙏
Revertir los cambios que hicimos en Discord
Ejecuta esto:
openclaw config set channels.discord.enabled true
openclaw config set channels.discord.accounts.default.enabled true
openclaw config set channels.discord.accounts.fumi.enabled true
openclaw config set channels.discord.accounts.sora.enabled true
openclaw config unset channels.discord.defaultAccount
openclaw config validate
Si llegaste a poner la variable de Bonjour
(temporal/permanente)
Remove-Item Env:OPENCLAW_DISABLE_BONJOUR -ErrorAction SilentlyContinue
[Environment]::SetEnvironmentVariable("OPENCLAW_DISABLE_BONJOUR",$null,"User")
⚠️ Importante: lo único que no conviene revertir es agents.defaults.cliBackends, porque en 2026.4.5 esa clave da config inválida.
Si quieres, después de correr eso te ayudo a comprobar en 1 comando que quedó exactamente como antes.
Vale, el verdadero problema que tengo es que cuando llamo a uno de los agentes (fumi) desde script node, salta gateway_unavailable
Perfecto, ahora sí vamos al problema real 👌
gateway_unavailable casi siempre significa: tu script Node no está pudiendo abrir/auth al WebSocket del gateway.
Checklist rápido (2 minutos)
- Deja corriendo
openclaw gateway runen una terminal. - En otra terminal, prueba:
openclaw gateway status --require-rpc --json
openclaw gateway probe --json
openclaw config get gateway.mode
openclaw config get gateway.auth.mode
Si ahí falla, el problema es gateway/auth.
Si ahí funciona, el problema está en la conexión del script.
En el script Node (importante)
Conecta explícitamente a local:
- URL:
ws://127.0.0.1:18789 - Auth: token/password correcto según
gateway.auth.mode
No uses openclaw.local para esto.
Y ojo: fumi suele ser accountId de canal, no necesariamente agentId (a menos que lo tengas bindado).
Si me pegas:
- salida de esos 4 comandos, y
- bloque de inicialización del cliente en tu script (sin secretos),
te digo exactamente qué línea cambiar para quitar el gateway_unavailable.
o
{
"logFile": "C:\Users\ADRIN~1\AppData\Local\Temp\openclaw\openclaw-2026-04-06.log",
"service": {
"label": "Scheduled Task",
"loaded": true,
"loadedText": "registered",
"notLoadedText": "missing",
"command": {
"programArguments": [
"C:\Program Files\nodejs\node.exe",
"C:\Users\Adrián\AppData\Roaming\npm\node_modules\openclaw\dist\index.js",
"gateway",
"--port",
"18789"
],
"environment": {
"OPENCLAW_GATEWAY_PORT": "18789"
},
"sourcePath": "C:\Users\Adrián\.openclaw\gateway.cmd"
},
"runtime": {
"status": "unknown"
},
"configAudit": {
"ok": true,
"issues": []
}
},
"config": {
"cli": {
"path": "C:\Users\Adrián\.openclaw\openclaw.json",
"exists": true,
"valid": true,
"controlUi": {
"allowInsecureAuth": true
}
},
"daemon": {
"path": "C:\Users\Adrián\.openclaw\openclaw.json",
"exists": true,
"valid": true,
"controlUi": {
"allowInsecureAuth": true
}
}
},
"gateway": {
"bindMode": "loopback",
"bindHost": "127.0.0.1",
"port": 18789,
"portSource": "service args",
"probeUrl": "ws://127.0.0.1:18789",
"probeNote": "Loopback-only gateway; only local clients can connect."
},
"port": {
"port": 18789,
"status": "busy",
"listeners": [
{
"pid": 5628,
"address": "127.0.0.1:18789",
"commandLine": ""C:\Program Files\nodejs\node.exe" --disable-warning=ExperimentalWarning C:\Users\Adri�n\AppData\Roaming\npm\node_modules\openclaw\openclaw.mjs gateway run"
}
],
"hints": [
"Gateway already running locally. Stop it (openclaw gateway stop) or use a different port."
]
},
"rpc": {
"ok": false,
"error": "gateway timeout after 10000ms\nGateway target: ws://127.0.0.1:18789\nSource: cli --url\nConfig: C:\Users\Adrián\.openclaw\openclaw.json",
"url": "ws://127.0.0.1:18789"
},
"health": {
"healthy": false,
"staleGatewayPids": [
5628
]
},
"extraServices": []
Gracias, este output ya lo explica 🔍
El problema ahora no es tu script, es que el gateway está en estado stale/hung:
rpc.ok: false+gateway timeouthealth.staleGatewayPids: [5628]- puerto 18789 ocupado por un proceso que no responde
Arreglo inmediato (limpieza total)
En PowerShell:
openclaw gateway stop
taskkill /PID 5628 /F
openclaw gateway status --deep
openclaw gateway run --force
Luego, en otra terminal:
openclaw gateway status --require-rpc --json
👉 Tiene que salir rpc.ok: true.
Cuando eso pase, tu script Node debería dejar de lanzar gateway_unavailable.
Si sigue fallando, entonces ya miramos solo la conexión del script (URL/token/auth), pero primero hay que sacar al gateway del estado stale.
17:00:08+02:00 [health-monitor] [telegram:sora] health-monitor: restarting (reason: stopped)
17:00:08+02:00 [telegram] fetch fallback: enabling sticky IPv4-only dispatcher (codes=UND_ERR_SOCKET)
17:00:15+02:00 [gateway] startup model warmup failed for claude-cli/claude-sonnet-4-6: Error: Unknown model: claude-cli/claude-sonnet-4-6
17:00:16+02:00 [telegram] [default] starting provider
17:00:17+02:00 [telegram] [fumi] starting provider
17:00:17+02:00 [telegram] [sora] starting provider
17:00:17+02:00 [bonjour] restarting advertiser (service stuck in announcing for 10364ms (gateway fqdn=DESKTOP-S7EON2I (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=announcing))
17:00:17+02:00 [plugins] embedded acpx runtime backend registered (cwd: C:\Users\Adrián.openclaw\workspace)
17:00:17+02:00 (node:5628) [DEP0190] DeprecationWarning: Passing args to a child process with shell option true can lead to security vulnerabilities, as the arguments are not escaped, only concatenated.
(Use node --trace-deprecation ... to show where the warning was created)
17:00:17+02:00 [browser] control listening on http://127.0.0.1:18791/ (auth=token)
17:00:29+02:00 [ws] handshake timeout conn=851b6368-14c8-4335-8dcf-4ba38d902330 remote=127.0.0.1
17:00:59+02:00 [ws] handshake timeout conn=c159fb72-2d62-4f0f-aaaa-6e422c25bf73 remote=127.0.0.1
17:00:59+02:00 [plugins] embedded acpx runtime backend ready
17:00:59+02:00 [bonjour] restarting advertiser (service stuck in probing for 32380ms (gateway fqdn=DESKTOP-S7EON2I (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing))
17:00:59+02:00 [telegram] connect error: gateway request timeout for connect
17:00:59+02:00 gateway connect failed: Error: gateway request timeout for connect
17:00:59+02:00 [telegram] connect error: gateway request timeout for connect
17:00:59+02:00 gateway connect failed: Error: gateway request timeout for connect
17:00:59+02:00 [ws] closed before connect conn=c159fb72-2d62-4f0f-aaaa-6e422c25bf73 remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1000 reason=n/a
17:00:59+02:00 [ws] closed before connect conn=851b6368-14c8-4335-8dcf-4ba38d902330 remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1000 reason=n/a
17:01:19+02:00 [ws] ⇄ res ✓ status 152ms conn=f22ccbda…488d id=6f7e9e58…65a0
17:01:33+02:00 [ws] closed before connect conn=618815df-4de9-4134-aae5-438dd6ff179b remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1006 reason=n/a
17:15:44+02:00 [telegram] fetch fallback: enabling sticky IPv4-only dispatcher (codes=UND_ERR_SOCKET)
que está pasando aquí?
Buen log — aquí sí se ve el origen 👇
Lo importante de verdad
startup model warmup failed ... Unknown model: claude-cli/claude-sonnet-4-6
Eso significa que tu modelo por defecto sigue apuntando a un modelo ya no válido en esta versión.
Cuando arranca, intenta calentarlo, falla, y durante ese tramo ves timeouts de handshake/connect (gateway request timeout for connect).
El resto
bonjour ... probing/announcing→ ruido de anuncio mDNS (no crítico)UND_ERR_SOCKETen Telegram → fallback de red a IPv4 (normal en algunas redes Windows)
Qué hacer ahora (fix real)
- Ver qué modelos tienes realmente disponibles:
openclaw models status
- Cambiar
agents.defaults.modela uno válido de esa lista:
openclaw config set agents.defaults.model "<provider/model válido>"
-
Si en tu config queda cualquier referencia
claude-cli/..., elimínala delopenclaw.json. -
Reinicia gateway (
Ctrl+Cyopenclaw gateway run).
Si quieres, pega solo:
openclaw config get agents.defaults.model --json
openclaw models status
y te digo el comando exacto para dejarlo fino sin tocar nada más.
Es que funciona un rato, y de golpe peta. E incluso tengo que cerrar el powershell por admin task kill
Sí, eso cuadra con un proceso que se queda “zombie”: va un rato bien y luego se bloquea.
Vamos a dejarte un modo estable para que no tengas que matar PowerShell a mano cada vez:
1) Corrige el modelo inválido (clave)
openclaw models status
openclaw config set agents.defaults.model "<provider/model válido de esa lista>"
2) Si no necesitas Discord para este flujo, apágalo (evita el crash de reconexión)
openclaw config set channels.discord.enabled false
3) Mata solo el proceso colgado (sin cerrar toda la consola)
$pid = (Get-NetTCPConnection -LocalPort 18789 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1 -ExpandProperty OwningProcess)
if ($pid) { Stop-Process -Id $pid -Force }
4) Arranca limpio
openclaw gateway run --force
5) Verifica que RPC responde
openclaw gateway status --require-rpc
Si quieres, te ayudo a dejar un script .ps1 de “restart limpio” (stop stale + run) para no volver a sufrir esto manualmente.
Si gemma 4 te sale como available en openclaw models status, te sirve 👍
El fallo era usar un modelo inválido (claude-cli/...) en esa versión.
Para recomendaciones de modelo actualizadas, mejor en #models + docs:
https://docs.openclaw.ai/concepts/models#model-discussions-community-notes
18:34:06+02:00 gateway connect failed: Error: gateway closed (1000):
18:34:16+02:00 [gateway] parse/handle error: Error: EPERM: operation not permitted, rename 'C:\Users\Adrián.openclaw\devices\paired.json.fd84d6e1-83f3-449c-836a-a31d7bd93c07.tmp' -> 'C:\Users\Adrián.openclaw\devices\paired.json'
18:34:16+02:00 [ws] ✗ parse-error error=Error: EPERM: operation not permitted, rename 'C:\Users\Adrián.openclaw\devices\paired.json.fd84d6e1-83f3-449c-836a-a31d7bd93c07.tmp' -> 'C:\Users\Adrián.openclaw\devices\paired.json': code=EPERM conn=dd0a2baf…1674
18:34:16+02:00 [ws] closed before connect conn=dd0a2baf-aa8e-4636-a5e8-bafcb97d1674 remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1000 reason=n/a
18:34:16+02:00 [telegram] connect error: gateway closed (1000):
18:34:16+02:00 gateway connect failed: Error: gateway closed (1000):
18:39:55+02:00 Config was last written by a newer OpenClaw (2026.4.5); current version is 2026.4.2.
18:41:03+02:00 [discord] gateway: Gateway websocket closed: 1000
18:41:03+02:00 [discord] gateway: Gateway reconnect scheduled in 1056ms (close, resume=true)
18:41:03+02:00 [discord] gateway: Gateway websocket closed: 1000
18:41:03+02:00 [discord] gateway: Gateway reconnect scheduled in 1079ms (close, resume=true)
18:41:03+02:00 [discord] gateway: Gateway websocket closed: 1000
18:41:03+02:00 [discord] gateway: Gateway reconnect scheduled in 1033ms (close, resume=true)
18:41:03+02:00 [diagnostic] lane task error: lane=main durationMs=66190 error="FailoverError: Unknown model: claude-cli/claude-sonnet-4-6"
18:41:03+02:00 [diagnostic] lane task error: lane=session:agent:fumi:openai:2e2da7ac-5b4f-4375-96f5-22dc076103f1 durationMs=66196 error="FailoverError: Unknown model: claude-cli/claude-sonnet-4-6"
18:41:03+02:00 [model-fallback/decision] model fallback decision: decision=candidate_failed requested=claude-cli/claude-sonnet-4-6 candidate=claude-cli/claude-sonnet-4-6 reason=model_not_found next=none
18:41:03+02:00 [openai-compat] chat completion failed: FailoverError: Unknown model: claude-cli/claude-sonnet-4-6
18:41:04+02:00 Config was last written by a newer OpenClaw (2026.4.5); current version is 2026.4.2.
18:41:08+02:00 [diagnostic] lane task error: lane=main durationMs=1130 error="FailoverError: Unknown model: claude-cli/claude-sonnet-4-6"
18:41:08+02:00 [diagnostic] lane task error: lane=session:agent:fumi:openai:a8d6454e-08dc-4fe9-afb5-fde11bfbff6a durationMs=1136 error="FailoverError: Unknown model: claude-cli/claude-sonnet-4-6"
18:41:08+02:00 [model-fallback/decision] model fallback decision: decision=candidate_failed requested=claude-cli/claude-sonnet-4-6 candidate=claude-cli/claude-sonnet-4-6 reason=model_not_found next=none
18:41:08+02:00 [openai-compat] chat completion failed: FailoverError: Unknown model: claude-cli/claude-sonnet-4-6
18:42:16+02:00 [discord] gateway: Gateway websocket closed: 1000
18:42:16+02:00 [discord] gateway: Gateway reconnect scheduled in 1010ms (close, resume=true)
18:42:16+02:00 [discord] gateway: Gateway websocket closed: 1000
18:42:16+02:00 [discord] gateway: Gateway reconnect scheduled in 1109ms (close, resume=true)
18:42:16+02:00 [discord] gateway: Gateway websocket closed: 1000
18:42:16+02:00 [discord] gateway: Gateway reconnect scheduled in 1011ms (close, resume=true)
he hecho downgrade a la versión 4 de openclaw y ahroa salta esto
Sí, aquí se ve clarísimo: tienes 3 problemas mezclados.
-
Version mismatch
Config was last written by a newer OpenClaw (2026.4.5); current version is 2026.4.2.
➡️ Bajaste versión y tu config ya es de la nueva. -
Modelo inválido
Unknown model: claude-cli/claude-sonnet-4-6
➡️ Ese modelo ya no te está resolviendo. -
Bloqueo de archivo (EPERM) en
paired.json
➡️ Suele pasar por proceso duplicado/colgado o lock de antivirus.
Recuperación limpia (haz esto en orden)
A) Vuelve a la misma versión (2026.4.5 o latest)
No uses 2026.4.2 con esa config.
B) Deja un solo gateway corriendo
Cierra todo y mata listeners colgados:
$pid = (Get-NetTCPConnection -LocalPort 18789 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1 -ExpandProperty OwningProcess)
if ($pid) { Stop-Process -Id $pid -Force }
C) Limpia temporales de devices
Remove-Item "$HOME\.openclaw\devices\paired.json.*.tmp" -ErrorAction SilentlyContinue
D) Corrige el modelo por uno válido
openclaw models status
openclaw config set agents.defaults.model "<provider/model válido de esa lista>"
E) Arranca y valida
openclaw gateway run --force
openclaw gateway status --require-rpc
Si quieres, te ayudo a hacerlo “copy/paste exacto” según el output de openclaw --version y openclaw models status.
Necesito que funcione con esta versión
Perfecto, entonces lo enfocamos a que funcione sí o sí en 2026.4.2.
Se puede, pero hay que dejarla en “modo limpio” para esa versión:
1) Un solo gateway (sin procesos zombis)
$pid = (Get-NetTCPConnection -LocalPort 18789 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1 -ExpandProperty OwningProcess)
if ($pid) { Stop-Process -Id $pid -Force }
2) Corregir el modelo inválido (claude-cli/...)
openclaw models status
openclaw config set agents.defaults.model "<provider/model válido que salga ahí>"
3) Limpiar lock de paired.json (EPERM)
attrib -R "$HOME\.openclaw\devices\paired.json" 2>$null
Remove-Item "$HOME\.openclaw\devices\paired.json.*.tmp" -ErrorAction SilentlyContinue
4) Validar + arrancar
openclaw config validate
openclaw gateway run --force
openclaw gateway status --require-rpc
El aviso “Config was last written by a newer OpenClaw” puede seguir saliendo, pero mientras config validate pase y el modelo sea válido, debería funcionar.
Si te falla alguno de estos 4 bloques, pégame exactamente cuál y te doy el parche puntual.
el modelo debe ser claude cli sonnet 4-6
Perfecto, entonces sí: si debe ser claude-cli/claude-sonnet-4-6, quédate en 2026.4.2 y configúralo explícitamente.
En 2026.4.5 ese surface se rompió para tu caso; en 4.2 todavía lo puedes montar.
Config mínima (en ~\.openclaw\openclaw.json)
Añade/asegura esto en agents.defaults:
{
agents: {
defaults: {
cliBackends: {
"claude-cli": {
command: "claude" // mejor ruta absoluta si hay problemas de PATH
}
},
models: {
"claude-cli/claude-sonnet-4-6": {}
},
model: "claude-cli/claude-sonnet-4-6"
}
}
}
Luego
openclaw config validate
openclaw gateway run --force
Importante
- Verifica que
claudeexista:claude --version - Si ejecutas como servicio/schtasks, usa ruta absoluta al binario
claude.exeencommand.
Si quieres, te reviso el bloque exacto de tu agents.defaults y te digo qué línea tocar sin romper nada.
tenia un backup de antes de la update, creo que ahora si va