Skip to content

Telegram channel plugin: MCP connection silently drops, zombie processes pile up #45852

Description

@gueysito

Summary

The Telegram channel plugin (plugin:telegram:telegram) has two critical issues that make it unusable in practice:

  1. 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.

  2. 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

  1. Open multiple Claude Code sessions over a few days (terminal + VS Code)
  2. Observe ps aux | grep telegram — multiple bun run processes accumulate, one per session
  3. Send a DM to the bot — "typing" indicator appears but no reply ever comes
  4. Kill all zombie processes except the current session's
  5. 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions