[BUG] Telegram plugin: inbound MCP channel notifications (notifications/claude/channel) not displayed in session
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
The Telegram plugin receives inbound messages from Telegram users but they never appear in the Claude Code session.
The bot is running, polling is active, and the sender is on the allowlist — but no <channel source="telegram">
notification shows up in the conversation.
Outbound works fine: the reply tool successfully sends messages to Telegram. Only the inbound direction (server →
Claude Code notifications) is broken.
What Should Happen?
When an allowlisted Telegram user sends a message to the bot, it should appear in the active Claude Code session as a
<channel source="telegram" chat_id="..." message_id="..." user="..." ts="..."> block, allowing Claude to read and
respond to it.
Error Messages/Logs
No visible errors. The bot process does not log any failure to stderr when calling mcp.notification(). The
notification appears to be sent silently without error, but is never received/displayed by Claude Code.
Steps to Reproduce
- Install telegram plugin (telegram@claude-plugins-official 0.0.5)
- Configure bot token via /telegram:configure
- Pair a Telegram account via /telegram:access pair <code>
- Set dmPolicy to "allowlist"
- DM the bot from the paired Telegram account
- Observe: nothing appears in the Claude Code session
- Confirm outbound works: call reply tool → message arrives in Telegram
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.107
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
- Claude Code version: 2.1.107
- OS: macOS Darwin 25.3.0
- Bot process stdio: connected via unix pipes to the claude process (confirmed via lsof)
- Bot has active TCP connections to Telegram servers (149.154.166.110:443)
- /reload-plugins and restarting the bot process do not fix the issue
- MCP capabilities declared: experimental['claude/channel'] and experimental['claude/channel/permission']
- Tool calls from Claude → bot work correctly (reply, react, edit_message all function)
- Only server-initiated notifications (bot → Claude Code) are affected
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗