Telegram channel plugin silently stops receiving messages after period of inactivity
Resolved 💬 3 comments Opened Mar 21, 2026 by vatsalj Closed Apr 18, 2026
Description
The Telegram channel plugin (plugin:telegram@claude-plugins-official) silently stops receiving messages after a period of inactivity (~20-30 minutes). The Claude Code session remains fully alive, MCP connection shows as connected, no errors are logged, but notifications/claude/channel events stop flowing. New Telegram messages are never delivered to the session.
Environment
- Claude Code v2.1.81
- macOS (Apple Silicon, Darwin 25.3.0)
- Running in tmux with
--channels plugin:telegram@claude-plugins-official --permission-mode bypassPermissions--debug mcp --debug-file /tmp/exec-assistant-debug.log
Steps to Reproduce
- Start Claude Code with Telegram channel:
claude --channels plugin:telegram@claude-plugins-official --permission-mode bypassPermissions - Send messages via Telegram — they arrive correctly as
notifications/claude/channel - Wait ~20-30 minutes with no inbound Telegram messages
- Send a new message via Telegram
- Message never arrives — no channel notification in debug log
Debug Log Evidence
Instance 1: Tool becomes unavailable, auto-reconnect works but delayed
06:24:16 [DEBUG] MCP server "plugin:telegram:telegram": Tool 'reply' completed successfully in 412ms
06:25:15 [DEBUG] MCP server "plugin:telegram:telegram": notifications/claude/channel: <message received>
06:25:37 [WARN] Filtering out tool_reference for unavailable tool: mcp__plugin_telegram_telegram__reply
06:26:05 [ERROR] Error: Error: Tool mcp__plugin_telegram_telegram__reply not found
06:26:06 [DEBUG] MCP server "plugin:telegram:telegram": Starting connection with timeout of 30000ms
06:26:06 [DEBUG] MCP server "plugin:telegram:telegram": Successfully connected (148ms)
06:26:06 [DEBUG] MCP server "plugin:telegram:telegram": Channel notifications registered
06:30:10 [DEBUG] MCP server "plugin:telegram:telegram": Tool 'reply' completed successfully (371ms) ← recovered
Instance 2: Complete silence, no reconnection attempt
06:30:10 [DEBUG] MCP server "plugin:telegram:telegram": Tool 'reply' completed successfully in 371ms
06:30:40 [DEBUG] Stopped caffeinate, allowing sleep
... (25+ minutes of silence — no errors, no warnings, no Telegram activity)
... session alive at ❯ prompt, /mcp shows telegram as "connected"
... messages sent via Telegram at 12:37 and 12:38 IST never arrive
Instance 3 (earlier session, no debug): Tool unavailable for hours
04:05:14 — Last successful reply
04:25:27 — First WARN: Filtering out tool_reference for unavailable tool: mcp__plugin_telegram_telegram__reply
04:25 - 05:50 — Same warning every 5 minutes on cron tick. No reconnection attempt. No error.
Key Observations
- The MCP stdio connection stays alive — no crash, no disconnect logged
/mcpshowsplugin:telegram:telegram · ✔ connectedeven when messages aren't flowing- grammy's long-polling appears to silently stop receiving updates
- In Instance 1, the auto-reconnect worked when Claude tried to call the reply tool and got an error. But in Instance 2, since nothing triggered a tool call, the silent failure was never detected.
- CronCreate jobs fire normally during the failure period — only the channel notification path is broken
- This is NOT a sleep issue — confirmed Mac was awake (Amphetamine running, pmset assertions active, other tools working)
Expected Behavior
The Telegram channel plugin should either:
- Maintain the long-polling connection reliably, or
- Detect when long-polling stops receiving and reconnect automatically, or
- Implement a heartbeat/health check that detects silent failures
Workaround
Currently no reliable workaround. The heartbeat script only detects if the tmux session / claude process dies, not if the Telegram plugin is silently broken.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗