Telegram channel crashes gateway with unhandled promise rejection on fetch failure
Resolved 💬 1 comment Opened Feb 1, 2026 by SpaethBenjamin Closed Feb 1, 2026
Description
The Telegram channel's long-polling causes the entire gateway to crash when a fetch request fails. The promise rejection from the polling fetch is not caught, triggering Node's unhandled rejection handler.
Environment
- OpenClaw version: 2026.1.29
- Node.js: v24.13.0
- OS: Windows 10
Reproduction
- Enable Telegram channel
- Wait for any network blip or timeout during Telegram API polling
- Gateway crashes
Logs
[openclaw] Unhandled promise rejection: TypeError: fetch failed
at node:internal/deps/undici/undici:16416:13
at processTicksAndRejections (node:internal/process/task_queues:103:5)
Crash occurs ~15-60 seconds after gateway becomes idle, even with no agent runs happening. Only Telegram polling is active.
Analysis
- Crashes happen on a semi-regular interval matching Telegram's long-polling behavior
- Third crash in logs occurred with zero agent runs between gateway startup and crash — only Telegram was running
telegram: autoSelectFamily=false (default-node22)in logs may be related (IPv4/IPv6 resolution)
Expected behavior
Telegram polling should catch fetch errors gracefully and retry, not crash the gateway.
Workaround
Disable Telegram channel:
{
channels: { telegram: { enabled: false } },
plugins: { entries: { telegram: { enabled: false } } }
}This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗