Telegram plugin: inbound channel notifications silently dropped

Resolved 💬 3 comments Opened Apr 7, 2026 by apten-fors Closed Apr 11, 2026

Description

The Telegram plugin's mcp.notification({ method: 'notifications/claude/channel', ... }) resolves successfully on the MCP server side, but Claude Code never surfaces the notification to the conversation. Outbound tools (reply, react, edit_message) work fine — only inbound message delivery is broken.

Steps to reproduce

  1. Install and configure the Telegram plugin (telegram@claude-plugins-official v0.0.4)
  2. Set up bot token, pair a user via /telegram:access
  3. Confirm access.json has the user in allowFrom and policy is allowlist
  4. Start a Claude Code session
  5. Verify plugin is connected (/mcp shows plugin:telegram:telegram · ✔ connected)
  6. Send a message to the bot from Telegram

Expected: The message appears in the Claude Code session as a <channel source="telegram" ...> block.

Actual: Nothing appears. The bot shows "typing" indicator but Claude Code never receives/displays the message.

Debugging done

  • Polling works: A standalone test script using the same bot token and grammy receives messages and replies correctly.
  • Outbound works: Calling the reply MCP tool from Claude Code successfully sends messages to Telegram.
  • Gate passes: Added debug logging to server.tsgate() returns deliver for the allowlisted user.
  • Notification succeeds: mcp.notification() promise resolves without error (confirmed via appendFileSync logging to a debug file). No .catch() is triggered.
  • Process is connected: The bun process is a direct child of the Claude Code process (verified via ps and lsof — stdin/stdout/stderr connected via unix sockets).

Debug log sample

[2026-04-07T12:12:49.653Z] handleInbound called: from=31874147 text="ping"
[2026-04-07T12:12:49.653Z] gate result: deliver
[2026-04-07T12:12:49.654Z] sending mcp.notification: {"method":"notifications/claude/channel","params":{"content":"ping","meta":{"chat_id":"31874147","message_id":"62","user":"apten_fors","user_id":"31874147","ts":"2026-04-07T12:12:49.000Z"}}}
[2026-04-07T12:12:49.655Z] mcp.notification sent successfully

All 8 test messages show sent successfully — none reach the Claude Code session.

Environment

  • Claude Code version: 2.1.92
  • Platform: macOS (Darwin 25.3.0, arm64)
  • Telegram plugin: telegram@claude-plugins-official v0.0.4
  • Runtime: Bun 1.3.11
  • MCP SDK: @modelcontextprotocol/sdk ^1.0.0

View original on GitHub ↗

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