Telegram channel plugin: inbound MCP notifications not surfaced in conversation
Resolved 💬 3 comments Opened Mar 23, 2026 by PotluckProtocol Closed Mar 27, 2026
Bug
The Telegram channel plugin (telegram@claude-plugins-official v0.0.1) sends MCP notifications via notifications/claude/channel on inbound messages, but Claude Code (v2.1.81) never surfaces them as <channel> tags in the conversation.
Symptoms
- Outbound works: calling the
replyMCP tool successfully delivers messages to Telegram - Inbound broken: when a user sends a message to the bot on Telegram:
- The bot receives the message (confirmed via typing indicator appearing in Telegram)
- The server logs
sending notificationandnotification sent OKto stderr - Claude Code never receives the
<channel source="telegram" ...>tag — the message is silently swallowed - The model cannot respond because it never sees the inbound message
Environment
- Claude Code: 2.1.81
- Plugin:
telegram@claude-plugins-officialv0.0.1 (gitCommitSha: b664e152af5742dd11b6a6e5d7a65848a8c5a261) - Platform: Windows 11 Pro (10.0.26200)
- Runtime: bun
- Launch command:
claude --dangerously-skip-permissions --channels plugin:telegram@claude-plugins-official
Investigation done
- Bot token is valid (
getMereturns successfully) - No webhook is set (
getWebhookInforeturns empty URL) access.jsonis correctly configured with the user's ID on the allowlist- Killed duplicate bun processes (two instances were competing for long polling) — did not fix the issue
- Confirmed only one bun server.ts process remains, owned by the current session
- Plugin server code at line 593 calls
mcp.notification()with methodnotifications/claude/channel— the promise resolves successfully (no error) - The MCP server declares
experimental: { 'claude/channel': {} }in its capabilities
Likely cause
Claude Code's MCP client either:
- Does not subscribe to / handle
notifications/claude/channelnotifications from channel plugins - Handles them but does not inject them into the conversation context as
<channel>tags
The plugin side appears to be working correctly — the notification is sent and resolves without error. The gap is between the MCP notification being received by Claude Code and it appearing in the model's conversation.
Workaround
Direct outbound messages work (calling reply tool with the user's chat_id). Users can type messages in the CLI and have them relayed to Telegram, but the bidirectional channel flow is broken.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗