Telegram channel plugin: MCP notifications not delivered to conversation
Bug description
The Telegram channel plugin (telegram@claude-plugins-official v0.0.4) stops delivering inbound messages to the Claude Code conversation. The bot receives messages, processes them, and mcp.notification() resolves successfully — but the <channel source="telegram"> tags never appear in the conversation.
This was working 2–3 hours before the report, in the same Claude Code version, same machine, same bot token. No configuration changes were made.
Environment
- Claude Code: v2.1.84 (latest, confirmed via
claude update) - OS: macOS Darwin 25.3.0
- Bun: 1.3.11
- MCP SDK: @modelcontextprotocol/sdk 1.27.1
- grammy: ^1.21.0
- Plugin version: 0.0.4
Diagnostic steps performed
- Bot polling works —
getWebhookInfoshowspending_update_count: 0, the bot consumes all updates. - Outbound tools work —
mcp__plugin_telegram_telegram__replysends messages to Telegram successfully. - Bot is single-instance — only one
bun server.tsprocess running, no 409 Conflict. - gate() returns
deliver— user ID is inallowFrom, confirmed via debug log. mcp.notification()succeeds — added debug logging tohandleInbound; the promise resolves without error:
````
[2026-03-26T11:43:56.251Z] handleInbound called: text="тест", from=245671573
[2026-03-26T11:43:56.251Z] gate result: deliver
[2026-03-26T11:43:56.252Z] sending mcp.notification for text="тест"
[2026-03-26T11:43:56.252Z] mcp.notification succeeded for text="тест"
- Full reinstall attempted — removed
~/.claude/channels/telegram/and~/.claude/plugins/cache/claude-plugins-official/telegram/, reconfigured token and access from scratch, reloaded plugins. Same result. - Multiple
/reload-pluginsand process kills attempted — no effect. - User reports restarting Claude Code entirely — same result.
Expected behavior
notifications/claude/channel sent by the MCP server should appear in the conversation as <channel source="telegram" ...> tags, as they did ~2 hours prior.
Actual behavior
The notification is sent successfully (no error, promise resolves), but Claude Code silently drops it — no <channel> tag appears in the conversation.
Reproduction
- Install
telegram@claude-plugins-official - Configure bot token and pair a Telegram user
- Send a message from Telegram to the bot
- Observe that no
<channel>tag appears in the Claude Code conversation, despitemcp.notification()succeeding on the server side
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗