Channels plugin: inbound notifications not surfaced to session

Resolved 💬 3 comments Opened Apr 9, 2026 by onelowxb Closed May 23, 2026

Bug

Telegram channel plugin receives inbound messages, passes gate/access control, and the MCP notifications/claude/channel notification resolves successfully (notification sent OK in debug.log) — but the message is never surfaced to the model in the active session.

Outbound works fine — calling the reply tool from the session successfully sends messages to Telegram.

Environment

  • Claude Code v2.1.94 and v2.1.97 (tested both)
  • Windows 11 Pro
  • Telegram plugin v0.0.4 (official, from claude-plugins-official)
  • Plugin loads correctly, tools are available (reply, react, edit_message, download_attachment)

Steps to reproduce

  1. Enable Telegram plugin, start claude session
  2. Verify plugin is connected (telegram tools appear in tool list)
  3. Send a message from Telegram to the bot
  4. Bot receives message, gate=deliver, notification sent OK (confirmed via debug.log at ~/.claude/channels/telegram/debug.log)
  5. Expected: Message appears in session as <channel source="telegram" ...> tag
  6. Actual: Nothing happens. Session never sees the message.

Debug log showing successful delivery

[2026-04-09T02:48:39.574Z] from=XXXXXXX chat=XXXXXXX text=Test123
  gate=deliver
  sending notification for: Test123
  notification sent OK

Additional context

  • This worked earlier in the day on the same version (v2.1.94), then stopped
  • Fresh sessions exhibit the same behavior — not a stale session issue
  • No zombie bun processes — both bun PIDs started at the same time as the session
  • The mcp.notification() promise resolves, meaning the JSON-RPC notification was written to stdout successfully
  • Claude Code just isn't reading/processing those notifications from the MCP stdio transport

View original on GitHub ↗

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