Symptom
After auto-update from v2026.4.24 → v2026.4.27, Telegram bot threw ERR_MODULE_NOT_FOUND on every inbound update for ~5 hours. No messages were delivered to the agent until a manual gateway restart pulled fresh dist files.
Logs
Apr 30 12:15:51 [telegram] bot error: Error [ERR_MODULE_NOT_FOUND]: Cannot find module
'/home/openclaw/.npm-global/lib/node_modules/openclaw/dist/inbound.runtime-DEk_2xSV.js'
imported from '/home/openclaw/.npm-global/lib/node_modules/openclaw/dist/conversation-runtime-DZww4kYq.js'
at finalizeResolution (node:internal/modules/esm/resolve:275:11)
Recurred at 14:54:25, 14:54:42, 14:55:06 UTC. Each timestamp = an inbound user message that was silently dropped.
Root cause (suspected)
conversation-runtime-DZww4kYq.js was emitted with a hard-coded import to chunk inbound.runtime-DEk_2xSV.js, but the v2026.4.27 build only contains:
inbound.runtime-B7N1Yxh6.js
inbound.runtime-LSHe2Sau.js
Chunk-hash mismatch — either the bundler emitted stale references, or auto-update did not atomically replace all chunks.
Resolution observed
Manual gateway restart reloaded fresh dist files. Telegram inbound recovered immediately.
Environment
- Host: Ubuntu, Node 22.22.1
- OpenClaw: v2026.4.27 (auto-updated from 2026.4.24 same day)
- Channel: telegram
- Install: npm global
Impact
High. Auto-update is supposed to be safe; this leaves the agent silently unable to receive any Telegram messages until something else triggers a restart. No alert path catches it unless something is specifically watching for bot error in the journal.
Suggested fixes
- After auto-update, validate all dist chunk imports resolve before swapping the symlink / version.
- On Telegram
ERR_MODULE_NOT_FOUND from a runtime chunk, force a gateway restart automatically.
- Treat any inbound-channel runtime error as a P0 alert (out-of-band, not just a journal line).
Symptom
After auto-update from v2026.4.24 → v2026.4.27, Telegram bot threw
ERR_MODULE_NOT_FOUNDon every inbound update for ~5 hours. No messages were delivered to the agent until a manual gateway restart pulled fresh dist files.Logs
Recurred at 14:54:25, 14:54:42, 14:55:06 UTC. Each timestamp = an inbound user message that was silently dropped.
Root cause (suspected)
conversation-runtime-DZww4kYq.jswas emitted with a hard-coded import to chunkinbound.runtime-DEk_2xSV.js, but the v2026.4.27 build only contains:inbound.runtime-B7N1Yxh6.jsinbound.runtime-LSHe2Sau.jsChunk-hash mismatch — either the bundler emitted stale references, or auto-update did not atomically replace all chunks.
Resolution observed
Manual gateway restart reloaded fresh dist files. Telegram inbound recovered immediately.
Environment
Impact
High. Auto-update is supposed to be safe; this leaves the agent silently unable to receive any Telegram messages until something else triggers a restart. No alert path catches it unless something is specifically watching for
bot errorin the journal.Suggested fixes
ERR_MODULE_NOT_FOUNDfrom a runtime chunk, force a gateway restart automatically.