Telegram channel plugin: MCP connection silently drops, zombie processes pile up
Resolved 💬 4 comments Opened Apr 9, 2026 by gueysito Closed May 28, 2026
Summary
The Telegram channel plugin (plugin:telegram:telegram) has two critical issues that make it unusable in practice:
- Zombie process pile-up: Every Claude Code session (terminal or VS Code) auto-spawns a Telegram plugin process. When sessions end, these processes are never cleaned up. They accumulate and compete for the same bot token via Telegram's long-polling API, causing message delivery to randomly route to dead sessions.
- MCP connection silently drops: Even after killing all zombie processes and isolating a single instance, the MCP pipe between the plugin and Claude Code disconnects silently. The plugin process stays alive (still polling Telegram), receives messages, sends the "typing" indicator to the user, but the
mcp.notification()call fails because the pipe is dead. The user sees "typing..." forever with no response. No error is surfaced.
Steps to Reproduce
- Open multiple Claude Code sessions over a few days (terminal + VS Code)
- Observe
ps aux | grep telegram— multiplebun runprocesses accumulate, one per session - Send a DM to the bot — "typing" indicator appears but no reply ever comes
- Kill all zombie processes except the current session's
- Send another DM — MCP pipe has already disconnected, same result
Expected Behavior
- Plugin processes should be cleaned up when their parent session ends
- Only one instance should poll per bot token at any time
- If the MCP connection drops, the plugin should either reconnect or exit so the user gets a clear signal
Environment
- macOS Darwin 25.4.0 (M4 Mini)
- Claude Code CLI + VS Code extension
- Plugin version: 0.0.4
- Multiple terminal sessions + VS Code running concurrently
Outcome
I ended up fully removing the plugin because it caused more problems than the benefit it provides. The auto-start behavior with no cleanup, combined with silent MCP disconnections, made it completely unreliable.
---
Filed via Claude Code
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗