Telegram plugin: inbound channel notifications not delivered to conversation (Linux)
Bug Description
The Telegram plugin (telegram@claude-plugins-official v0.0.4) receives inbound messages correctly but the MCP notification (notifications/claude/channel) never reaches the Claude Code conversation. Outbound messages (reply tool) work perfectly.
Environment
- OS: Ubuntu 24.04.4 LTS (Linux 6.17.0-19-generic)
- Claude Code: latest version
- Plugin:
telegram@claude-plugins-officialv0.0.4 - MCP SDK:
@modelcontextprotocol/sdkvia Bun runtime
Steps to Reproduce
- Configure Telegram plugin with a valid bot token
- Add a user ID to the allowlist in
access.json - Start a Claude Code session
- Send a message to the bot from Telegram
Expected Behavior
The message should appear in the Claude Code conversation as a <channel source="telegram" ...> block.
Actual Behavior
The message never appears in the conversation. However:
- Outbound (reply tool) works — messages sent via
mcp__plugin_telegram_telegram__replyare delivered to Telegram ✅ - Bot polling works — the bot process is running and receiving updates via
getUpdates(confirmed by 409 Conflict when attempting manual polling) ✅ - Gate authorization works — the user passes the allowlist check (confirmed by adding
ackReaction: "👀"to access.json — the bot reacts to messages) ✅ mcp.notification()is called — the code atserver.ts:925fires withmethod: 'notifications/claude/channel'but the notification never reaches the conversation ❌
Diagnostic Details
- The MCP server process is running (
bun server.ts, confirmed viaps aux) - stdio file descriptors (fd 0, 1) are connected via sockets to Claude Code (confirmed via
/proc/<pid>/fd/) - The MCP server declares
experimental: { 'claude/channel': {} }in capabilities - Multiple Claude Code restarts did not resolve the issue
- The bot token is valid (
getMereturns successfully) - No webhook is configured (
getWebhookInforeturns empty URL)
Conclusion
The bot correctly processes inbound messages and calls mcp.notification(), but the notification is not being delivered to or processed by Claude Code on Linux. This suggests an issue in how Claude Code handles notifications/claude/channel from MCP channel servers on this platform.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗