Telegram plugin: inbound MCP notifications not surfacing in conversation
Summary
The Telegram plugin MCP server successfully sends notifications/claude/channel notifications (confirmed via debug logging), but Claude Code does not surface them in the conversation. Outbound MCP tool calls (reply, react, edit_message) work perfectly.
Environment
- Claude Code: v2.1.81 (latest)
- Plugin: telegram@claude-plugins-official v0.0.1
- MCP SDK: @modelcontextprotocol/sdk 1.27.1
- OS: macOS Darwin 24.6.0
- Runtime: Bun
Steps to Reproduce
- Install the Telegram plugin (
telegram@claude-plugins-official) - Configure bot token via
/telegram:configure - Approve a user via
/telegram:access pair <code> - Start a Claude Code session —
/mcpshowsplugin:telegram:telegramas connected - Send a message to the bot from the approved Telegram user
- Message never appears in the Claude Code conversation
Debugging Performed
- Outbound works:
mcp__plugin_telegram_telegram__replysends messages to Telegram successfully - Bot receives messages: Telegram typing indicator fires on every inbound message (confirms
handleInboundis reached and gate passes) - Notification sends OK: Added
writeFileSyncdebug logging aroundmcp.notification()— it resolves successfully (no error/rejection):
````
[2026-03-22T07:22:24.540Z] handleInbound called
text: hiii
gate: deliver
chat_id: 7747329560
sending notification...
payload: {"method":"notifications/claude/channel","params":{"content":"hiii","meta":{"chat_id":"7747329560","message_id":"49","user":"carlfung1003","user_id":"7747329560","ts":"2026-03-22T07:22:24.000Z"}}}
[2026-03-22T07:22:24.543Z] notification sent OK
- Single process confirmed: Only one Claude Code session and one telegram MCP server process running
- MCP status:
/mcpshowsplugin:telegram:telegram · ✅ connected - Fresh sessions don't help: Tried fresh
claude(not--resume),/reload-plugins, killing all processes — same result - Previously worked: The same setup worked in an earlier session on the same day with the same token, same bot, same user ID
Expected Behavior
Inbound Telegram messages should appear in the conversation as <channel source="telegram" ...> blocks when the MCP server sends a notifications/claude/channel notification.
Actual Behavior
The notification is sent and resolves without error, but nothing appears in the conversation. The MCP transport is functional (tools work), but the notification handler on the Claude Code client side does not process notifications/claude/channel.
🤖 Generated with Claude Code
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗