Preflight Checklist
What's Wrong?
When the Telegram plugin is installed, every claude -c session (without --channels flag) automatically spawns a Telegram bun process that polls for messages. This causes multiple consumers competing for the same Telegram bot token, resulting in dropped/lost messages.
Steps to reproduce:
- Install Telegram plugin:
claude plugin add telegram@claude-plugins-official
- Start session A:
claude --channels plugin:telegram@claude-plugins-official
- Start session B:
claude -c (no --channels flag)
- Both sessions spawn separate Telegram bun processes polling the same bot token
- Messages are randomly delivered to either session — ~50% message loss on the intended session
What Should Happen?
Expected behavior:
Only sessions explicitly started with --channels plugin:telegram@claude-plugins-official should spawn the Telegram plugin process. Plain claude -c sessions should not load channel plugins.
Actual behavior:
All sessions load installed plugins regardless of --channels flag. Each spawns its own bun server.ts process for the Telegram plugin, creating competing consumers on the same bot token.
Workaround:
Manually kill the extra bun/server.ts processes spawned by non-channel sessions.
Impact: Critical for Telegram users — messages are silently lost with no error indication.
Error Messages/Logs
Steps to Reproduce
- Install Telegram plugin: /install telegram@claude-plugins-official
- Start terminal A: claude --channels plugin:telegram@claude-plugins-official
- Start terminal B: claude -c (no --channels flag)
- Run: ps aux | grep "server.ts" — shows TWO telegram bun processes
- Send a Telegram message — it randomly goes to terminal A or B
- ~50% of messages silently lost on the intended session
Claude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
No response
Claude Code Version
2.1.81 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
No response
Preflight Checklist
What's Wrong?
When the Telegram plugin is installed, every
claude -csession (without --channels flag) automatically spawns a Telegram bun process that polls for messages. This causes multiple consumers competing for the same Telegram bot token, resulting in dropped/lost messages.Steps to reproduce:
claude plugin add telegram@claude-plugins-officialclaude --channels plugin:telegram@claude-plugins-officialclaude -c(no --channels flag)What Should Happen?
Expected behavior:
Only sessions explicitly started with
--channels plugin:telegram@claude-plugins-officialshould spawn the Telegram plugin process. Plainclaude -csessions should not load channel plugins.Actual behavior:
All sessions load installed plugins regardless of --channels flag. Each spawns its own
bun server.tsprocess for the Telegram plugin, creating competing consumers on the same bot token.Workaround:
Manually kill the extra bun/server.ts processes spawned by non-channel sessions.
Impact: Critical for Telegram users — messages are silently lost with no error indication.
Error Messages/Logs
Steps to Reproduce
Claude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
No response
Claude Code Version
2.1.81 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
No response