Telegram channel: inbound MCP notifications resolve OK but never surface in conversation
Bug description
The Telegram channel plugin receives messages and sends MCP notifications via notifications/claude/channel that resolve successfully, but the messages never appear in the Claude Code conversation.
Outbound works: Using the reply tool sends messages to Telegram successfully.
Inbound broken: Messages sent from Telegram are received by the bot, pass the access gate, and the MCP notification resolves OK — but nothing appears in the conversation.
Debug log
2026-03-25T10:23:08.121Z bot.on(message:text) fired: from=3516095 text="Can we add for this trading app local session usin"
2026-03-25T10:23:08.124Z handleInbound: gate result=deliver from=3516095
2026-03-25T10:23:08.124Z handleInbound: about to send mcp.notification for chat_id=3516095 text="Can we add for this trading app local session usin"
2026-03-25T10:23:08.125Z handleInbound: mcp.notification resolved OK for chat_id=3516095
The notification promise resolves without error every time, but no <channel source="telegram" ...> message ever appears in the active session.
Environment
- Claude Code version: 2.1.83
- Platform: macOS Darwin 25.2.0
- Telegram plugin version: 0.0.4
- MCP transport: stdio (via
bun run --silent start)
Steps to reproduce
- Configure the Telegram channel plugin with a valid bot token
- Start Claude Code (plugin connects and MCP tools are available)
- Send a message from an allowed Telegram user to the bot
- Debug log shows notification resolved OK
- No channel message appears in the Claude Code conversation
Expected behavior
Inbound Telegram messages should appear in the conversation as <channel source="telegram" ...> blocks after the MCP notification resolves.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗