Telegram channel plugin: bun server self-kills / fails to spawn on Windows (v2.1.174)
Environment
- OS: Windows 10 Pro 19045
- Claude Code VS Code extension: 2.1.174 (win32-x64)
- Plugin: telegram@claude-plugins-official (0.0.6)
- Launch:
claude.exe --channels plugin:telegram@claude-plugins-official --strict-mcp-config --mcp-config telegram-mcp.json(CMD window)
Summary
On Windows, a claude.exe --channels plugin:telegram window does not keep its plugin bun process (server.ts) alive. Two failure modes observed:
- Self-kill ~15-60s after spawn. The plugin spawns its bun child, polling starts (
polling as @Obaidian_Bot), then the bun process exits. Root cause: the channel subsystem drops the plugin's stdin pipe shortly after spawn, soprocess.stdin.readableEnded === true. The plugin's own orphan-watchdog (it watches stdin to detect a severed parent) then self-terminates viashutdown(). Removing the instantstdin.on('end'/'close', shutdown)handlers does not help — the debounced watchdog still fires onreadableEnded. - bun child never spawns at all. Sometimes the
claude.exe --channelswindow is alive but spawns zero bun children for 90s+; noserver.tsprocess appears.
Net effect: the bot can SEND (Bot API sendMessage works) but in-session MCP tools die, so it cannot receive/answer messages live. It worked reliably on earlier extension versions. Forcing the window onto 2.1.173 instead, the --channels window does not start at all.
Repro
- Windows. Launch
claude.exe --channels plugin:telegram@claude-plugins-official. - Observe the spawned bun
server.tschild process. - It exits within ~1 minute (orphan-watchdog on dead stdin), or never spawns.
Expected
The channel subsystem keeps the plugin's stdin alive (or signals shutdown only on real parent death), so the plugin bun process stays alive and serves MCP tools for the session lifetime.
Notes
Running the same server.ts manually with bun (outside the channel) polls and stays alive fine — the issue is specific to how --channels spawns/manages the plugin process on Windows.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗