Telegram channel: inbound MCP notifications resolve OK but never surface in conversation

Resolved 💬 5 comments Opened Mar 25, 2026 by muzaparoff Closed Apr 24, 2026

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

  1. Configure the Telegram channel plugin with a valid bot token
  2. Start Claude Code (plugin connects and MCP tools are available)
  3. Send a message from an allowed Telegram user to the bot
  4. Debug log shows notification resolved OK
  5. 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.

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗