#Openclaw telegram stopped answering

1 messages · Page 1 of 1 (latest)

frozen needle
#

Hi. I already ran doctor, update, restart gateway and mac, openclaw doesnt answer my msgs but Its receiving

wraith martenBOT
river lakeBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

wraith martenBOT
brittle anchorBOT
#

If it’s receiving Telegram messages but not replying, the Telegram connection is probably fine. The usual culprits are:

  1. pairing / allowlist / mention gating
  2. model run failing after inbound
  3. group privacy mode / requireMention if this is in a group

First, please paste these 4 outputs together:

openclaw --version
openclaw status --all
openclaw channels status --probe
openclaw pairing list telegram

Then run:

#
openclaw logs --follow

Send the bot one test message, and paste the log lines from that moment.

A couple quick checks while you do that:

  • If this is a DM: Telegram defaults to pairing, so check whether your sender is still approved.
  • If this is a group: check whether the bot now requires a mention, or Telegram privacy mode is hiding non-command messages.
  • If logs show inbound but no reply attempt: that often means policy/gating.
  • If logs show reply attempt but error: that’s usually model/provider/auth/runtime failure.

Docs:

#

Paste the outputs and I’ll help narrow it down fast.

frozen needle
#

when I tried status --all it says: FATAL ERROR: Reached heap limit Allocation failed

brittle anchorBOT
#

Yep, that’s useful. I’d treat the status --all heap crash as a separate bug, and use the lighter checks for now.

Please paste these instead:

openclaw --version
openclaw status
openclaw gateway status
openclaw channels status --probe
openclaw pairing list telegram

Then do the most important step:

openclaw logs --follow
#

While that’s running, send the bot one test Telegram message, then paste the log lines from that moment.

Also tell me one thing: is this happening in a DM or in a group?

Why I’m asking:

  • DM → most likely pairing / allowlist / auth after inbound
  • group → most likely mention gating or Telegram privacy mode
  • inbound seen but no reply → often policy/gating
  • inbound seen, then error → usually model/provider/runtime failure

If openclaw status or channels status --probe also crash, say that too, because then we’re probably looking at a broader runtime issue, not just Telegram.

frozen needle
#

veo errores: error gateway/channels/telegram: Telegram polling runner stopped

brittle anchorBOT
#

Bien, eso ya apunta bastante más.

Telegram polling runner stopped normalmente es el sĂ­ntoma, no la causa raĂ­z. El poller se cayĂł y OpenClaw intentĂł reiniciarlo.

Lo importante ahora es ver las lĂ­neas justo antes de ese error. Pega por favor:

openclaw --version
openclaw gateway status
openclaw channels status --probe

y del log, unas 10-20 lĂ­neas alrededor de:

error gateway/channels/telegram: Telegram polling runner stopped

Especialmente si ves alguna de estas justo antes:

#
  • getUpdates conflict
    Suele significar que otro proceso/webhook está usando el mismo bot token.
  • fetch failed o Network request for 'getUpdates' failed!
    Suele ser red, DNS, proxy o a veces IPv6 raro hacia api.telegram.org.
  • BOT_COMMANDS_TOO_MUCH
    Menos probable para “no responde”, pero rompe parte del startup si el menú nativo se desborda.

Si quieres ir adelantando, revisa si tienes una de estas dos situaciones:

  1. Dos instancias usando el mismo bot de Telegram
    por ejemplo otro OpenClaw, otro script, o webhook activo.

  2. Problema de red hacia Telegram
    aunque reciba algunos eventos, el poller puede reiniciarse por fallos de getUpdates.

Docs:

frozen needle
#

22:43:26+00:00 error - channels.telegram: channels.telegram.streamMode, channels.telegram.streaming (scalar), chunkMode, blockStreaming, draftChunk, and blockStreamingCoalesce are legacy; use channels.telegram.streaming.{mode,chunkMode,preview.chunk,block.enabled,block.coalesce} instead. Run "openclaw doctor --fix".

  • channels.telegram: channels.telegram.streamMode, channels.telegram.streaming (scalar), chunkMode, blockStreaming, draftChunk, and blockStreamingCoalesce are legacy; use channels.telegram.streaming.{mode,chunkMode,preview.chunk,block.enabled,block.coalesce}.
    22:43:26+00:00 error {"0":"","_meta":{"runtime":"node","runtimeVersion":"24.13.0","hostname":"unknown","name":"openclaw","date":"2026-04-17T22:43:26.122Z","logLevelId":5,"logLevelName":"ERROR","path":{"fullFilePath":"file:///Users/diegobit/.nvm/versions/node/v24.13.0/lib/node_modules/openclaw/dist/subsystem-Cgmckbux.js:155:68","fileName":"subsystem-Cgmckbux.js","fileNameWithLine":"subsystem-Cgmckbux.js:155","fileColumn":"68","fileLine":"155","filePath":"Users/diegobit/.nvm/versions/node/v24.13.0/lib/node_modules/openclaw/dist/subsystem-Cgmckbux.js","filePathWithLine":"Users/diegobit/.nvm/versions/node/v24.13.0/lib/node_modules/openclaw/dist/subsystem-Cgmckbux.js:155","method":"console.error"}},"time":"2026-04-17T18:43:26.122-04:00"}
    22:43:26+00:00 error Run: openclaw doctor --fix
    22:43:40+00:00 error Config invalid
    22:43:40+00:00 error File: ~/.openclaw/openclaw.json
    22:43:40+00:00 error Problem:
    22:43:40+00:00 error - plugins.load.paths: plugin: plugin path not found: /Users/diegobit/.nvm/versions/node/v24.13.0/lib/node_modules/openclaw/extensions/acpx
    22:43:40+00:00 error Legacy config keys detected:
    22:43:40+00:00 error - channels.telegram: channels.telegram.streamMode, channels.telegram.streaming (scalar), chunkMode, blockStreaming, draftChunk, and blockStreamingCoalesce are legacy; use channels.telegram.streaming.{mode,chunkMode,preview.chunk,block.enabled,block.coalesce} instead. Run "openclaw doctor --fix".
  • channels.telegram: channels.telegram.streamMode, channels.telegram.streaming (scalar), chunkMode, blockStreaming, draftChunk, and blockStreamingCoalesce are legacy; use channels.telegram.streaming.{mode,chunkMode,preview.chunk,block.enabled,block.coalesce}.
    22:43:40+00:00 error {"0":"","_meta":{"runtime":"node","runtimeVersion":"24.13.0","hostname":"unknown","name":"openclaw","date":"2026-04-17T22:43:40.297Z","logLevelId":5,"logLevelName":"ERROR","path":{"fullFilePath":"file:///Users/diegobit/.nvm/versions/node/v24.13.0/lib/node_modules/openclaw/dist/subsystem-Cgmckbux.js:155:68","fileName":"subsystem-Cgmckbux.js","fileNameWithLine":"subsystem-Cgmckbux.js:155","fileColumn":"68","fileLine":"155","filePath":"Users/diegobit/.nvm/versions/node/v24.13.0/lib/node_modules/openclaw/dist/subsystem-Cgmckbux.js","filePathWithLine":"Users/diegobit/.nvm/versions/node/v24.13.0/lib/node_modules/openclaw/dist/subsystem-Cgmckbux.js:155","method":"console.error"}},"time":"2026-04-17T18:43:40.298-04:00"}
brittle anchorBOT
#

Ah, ahí está la causa raíz.

El problema fuerte no es Telegram. Es este:

Config invalid
plugins.load.paths: plugin path not found: /Users/diegobit/.nvm/versions/node/v24.13.0/lib/node_modules/openclaw/extensions/acpx

Eso significa que tu config tiene un plugin acpx apuntando a una ruta vieja/inexistente, y con la config inválida el gateway queda inestable.

La parte de Telegram streaming legacy es secundaria. Primero arregla el plugin roto.

Haz esto, en este orden

  1. Quita la ruta rota de plugins.load.paths
    • abre ~/.openclaw/openclaw.json
#
  • busca esta ruta:
/Users/diegobit/.nvm/versions/node/v24.13.0/lib/node_modules/openclaw/extensions/acpx
  • borra esa entrada de plugins.load.paths
  1. Reinicia el gateway
openclaw gateway restart
  1. Luego corre la migraciĂłn de config
#
openclaw doctor --fix
  1. Reinicia otra vez
openclaw gateway restart

Importante

  • El error de acpx es el bloqueante.
  • Las keys legacy de Telegram (streamMode, chunkMode, etc.) doctor --fix deberĂ­a migrarlas, pero probablemente no puede mientras la config siga inválida.

Si sĂ­ usas ACP / Codex / Claude Code

Después de limpiar la ruta rota, puedes reinstalar acpx bien con:

frozen needle
#

it suddenly started working

brittle anchorBOT
#

Nice, glad it’s answering again. 🎉

I’d still clean this up though, because your logs showed a real config problem and it can come back on the next restart/update:

  • remove the stale plugins.load.paths entry pointing at .../openclaw/extensions/acpx
  • run openclaw doctor --fix
  • restart the gateway once more

That should clear both:

  • the missing acpx plugin path
  • the legacy Telegram streaming keys

Docs:

If it stays working after that, please right-click the solution message → Apps → ✅ Mark Solution so Answer Overflow can index it.

frozen needle
#

ahora dice: warning: failed to load the es module: save daily plan/handler

brittle anchorBOT
#

Sí, eso ya suena a otro problema distinto: un hook/plugin custom que no está cargando bien, no Telegram.

failed to load the es module: save daily plan/handler suena a que hay un hook llamado save daily plan y su handler.ts/js no se puede importar.

ProbarĂ­a esto:

openclaw hooks list
openclaw hooks info "save daily plan"

Si aparece, para aislarlo:

openclaw hooks disable "save daily plan"
openclaw gateway restart
#

Si no sale en hooks list, entonces probablemente viene de un plugin. En ese caso:

openclaw plugins list --verbose

Qué significa normalmente:

  • archivo handler.ts/js roto o faltante
  • mĂłdulo CommonJS/ESM incompatible
  • hook/plugin viejo despuĂ©s de update

Si no necesitas ese hook, deshabilitarlo suele ser suficiente.
Si quieres, pega la salida de openclaw hooks info "save daily plan" y te digo exactamente qué está fallando.

Docs:

frozen needle
#

tambien veo algo como "telegram menu text exceeded the consrevative 5700-character payload"

brittle anchorBOT
#

Sí, ese warning es bastante más benigno.

telegram menu text exceeded the conservative 5700-character payload significa que el menĂş nativo de comandos de Telegram quedĂł demasiado largo, asĂ­ que OpenClaw:

  • acorta descripciones, y si hace falta
  • registra menos comandos visibles en el menĂş

Eso normalmente no rompe las respuestas del bot. Afecta sobre todo al menĂş (setMyCommands), no al chat normal.

Si quieres limpiarlo, tienes 2 opciones:

  1. Reducir comandos de plugins / skills / custom commands
  2. Desactivar el menĂş nativo de Telegram:
{
#
  channels: {
    telegram: {
      commands: {
        native: false
      }
    }
  }
}

Yo dirĂ­a que ahora tienes tres cosas separadas en logs:

  • acpx path roto → sĂ­ es importante
  • save daily plan/handler → hook/plugin custom roto
  • telegram menu text exceeded... → warning del menĂş, no grave
frozen needle
#

tambiien veo: error hooks:loader Failed to load hook save-daily-plan

brittle anchorBOT
#

SĂ­, ese es el mismo problema. Ya quedĂł identificado:

  • Failed to load hook save-daily-plan
  • failed to load the es module: save daily plan/handler

Eso significa que el hook save-daily-plan está roto al cargar.

Si no lo necesitas ahora, yo lo deshabilitarĂ­a para limpiar el arranque:

openclaw hooks info save-daily-plan
openclaw hooks disable save-daily-plan
openclaw gateway restart

Si hooks disable te dice que es plugin-managed, entonces toca deshabilitar el plugin dueño en vez del hook.

frozen needle
#

no hice nada y llegaron msgs por telegram, es como que demoran mucho

brittle anchorBOT
#

Ah, eso cambia bastante el diagnĂłstico.

Si sí llegan, pero muy tarde, entonces ya no parece un bloqueo total de Telegram. Suena más a una de estas:

  1. el poller de Telegram se reinicia y entra en backoff
  2. el modelo/proveedor tarda mucho
  3. la sesión está pesada / en cola

Lo más útil ahora es medir dónde se pierde el tiempo.

Haz una prueba con un mensaje corto (ping) y mira openclaw logs --follow:

  • hora en que entra el mensaje de Telegram
  • hora en que empieza el run del agente
  • hora en que sale la respuesta

Si ves cosas como:

#
  • Telegram polling runner stopped ... restarting in ...
    → hay retraso del lado de Telegram polling/reintentos

  • el inbound entra rápido pero la respuesta sale mucho despuĂ©s
    → es más bien modelo/agent latency, no Telegram

También pásame:

openclaw --version
openclaw models status

Porque si el bot responde al final, yo pondrĂ­a el foco ahora en latencia del modelo y en los restarts del poller, no en pairing ni permisos.

Y sĂ­, los errores del hook save-daily-plan conviene limpiarlos, pero no parecen ser la causa principal de esta demora.

frozen needle
#

mande un ping y ahora contesto enseguida

brittle anchorBOT
#

Perfecto, entonces suena a que estaba atascado/reintentando y terminó recuperándose.

Mi lectura ahora:

  • Telegram no está roto en sĂ­
  • probablemente hubo un stall / restart / backlog temporal
  • los warnings que viste siguen valiendo, pero son más de limpieza/estabilidad que del problema principal

Yo igual arreglarĂ­a estas dos cosas para que no vuelva:

  1. quitar la ruta rota de acpx en plugins.load.paths
  2. deshabilitar o arreglar el hook save-daily-plan

El warning del menú de Telegram es más bien cosmético.

Si vuelve a pasar, la mejor captura es:

  • hora del mensaje enviado
#
  • hora del inbound en openclaw logs --follow
  • hora de la respuesta

Eso nos dirĂ­a enseguida si fue poller, cola o modelo.

Si con esto ya quedó bien, please right-click the solution message → Apps → ✅ Mark Solution para que quede indexado en Answer Overflow.