Telegram plugin: inbound channel notifications never surface in Claude Code (outbound works)
Summary
The official telegram@0.0.6 plugin's inbound message flow is broken on Claude Code 2.1.128. The bot receives Telegram messages correctly, but notifications/claude/channel notifications never surface as <channel source="telegram"> blocks in the conversation. Outbound (the reply tool) works fine.
Environment
- Claude Code: 2.1.128
- Plugin:
telegram@claude-plugins-officialv0.0.6 - OS: macOS (Darwin 25.4.0)
- Bot runtime: bun
Reproduction
- Install and configure
telegramplugin via/telegram:configure - Pair a Telegram user via
/telegram:access pair <code>— sender ID added toallowFrom - From Claude Code, call
mcp__plugin_telegram_telegram__reply→ message arrives on Telegram ✅ - From Telegram, send any message back to the bot → nothing happens in Claude Code ❌
Evidence
claude mcp listreportsplugin:telegram:telegram: ✓ Connected- Bot polling confirmed (TCP
ESTABLISHEDto149.154.166.110:443) - Sender ID present in
~/.claude/channels/telegram/access.jsonallowFrom - Photos sent from Telegram are downloaded to
~/.claude/channels/telegram/inbox/(proves bot receives messages and gate passes) grep '<channel source="telegram"'across all~/.claude/projects/-Users-chunghsutsai/*.jsonlreturns zero matches — no session has ever received the notification
Hypothesis
Claude Code 2.1.128 may not implement a handler for the experimental notifications/claude/channel method that the plugin's MCP server emits (server.ts:957). Tool RPCs work because they use standard MCP request/response, but channel notifications are fire-and-forget — without a client-side handler, they're silently dropped.
Expected
Telegram messages from allowlisted senders should appear in the active Claude Code session as <channel source="telegram" chat_id="..." ...> user-message blocks.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗