Telegram plugin: inbound MCP notifications not surfacing in conversation

Resolved 💬 2 comments Opened Mar 22, 2026 by carlfung1003 Closed Mar 22, 2026

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

  1. Install the Telegram plugin (telegram@claude-plugins-official)
  2. Configure bot token via /telegram:configure
  3. Approve a user via /telegram:access pair <code>
  4. Start a Claude Code session — /mcp shows plugin:telegram:telegram as connected
  5. Send a message to the bot from the approved Telegram user
  6. Message never appears in the Claude Code conversation

Debugging Performed

  • Outbound works: mcp__plugin_telegram_telegram__reply sends messages to Telegram successfully
  • Bot receives messages: Telegram typing indicator fires on every inbound message (confirms handleInbound is reached and gate passes)
  • Notification sends OK: Added writeFileSync debug logging around mcp.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: /mcp shows plugin: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

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗