Telegram channel plugin: inbound notifications/claude/channel silently dropped
Resolved 💬 6 comments Opened Mar 25, 2026 by InquiringMinion Closed May 23, 2026
Summary
The Telegram channel plugin (claude-plugins-official/telegram v0.0.4) successfully sends notifications/claude/channel via the MCP stdio transport, but Claude Code never surfaces inbound messages in the conversation. Outbound tools (reply, react, edit_message) work fine.
Reproduction
- Enable Telegram plugin, configure bot token and allowlist
- Start Claude Code — plugin connects, MCP tools available
- Send a message from the allowlisted Telegram user
- Message never appears as a
<channel>tag in the conversation - Reproduced across 4+ restarts of Claude Code
Debug evidence
Added logging to server.ts to confirm the plugin side is working correctly:
[2026-03-25T04:11:10.237Z] connecting MCP stdio transport...
[2026-03-25T04:11:10.238Z] MCP stdio transport connected
[2026-03-25T04:12:02.594Z] gate result: deliver for <user_id> in chat <chat_id>
[2026-03-25T04:12:02.595Z] gate passed, delivering "Test" to Claude
[2026-03-25T04:12:02.595Z] notification payload: {"method":"notifications/claude/channel","params":{"content":"Test","meta":{...}}}
[2026-03-25T04:12:02.595Z] notification sent successfully
The MCP notification resolves without error — the transport accepts it — but Claude Code does not inject it into the conversation.
What works
- Bot token is valid (
getMeandgetUpdatesreturn correctly) - User ID is in
access.jsonallowFrom - Gate check passes (action:
deliver) - Outbound:
telegram/replytool sends messages to Telegram successfully - MCP stdio transport is connected
What doesn't work
- Inbound messages from Telegram never appear in the Claude Code conversation
- No
<channel source="telegram" ...>tags are ever rendered
Environment
- Claude Code v2.1.81
- macOS Darwin 25.3.0
- Plugin runtime: bun
- Plugin version:
claude-plugins-official/telegram0.0.4
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗