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
- Enable Telegram plugin, start
claudesession - Verify plugin is connected (telegram tools appear in tool list)
- Send a message from Telegram to the bot
- Bot receives message, gate=deliver, notification sent OK (confirmed via debug.log at
~/.claude/channels/telegram/debug.log) - Expected: Message appears in session as
<channel source="telegram" ...>tag - 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
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗