Telegram plugin: channel notifications not delivered to session

Resolved 💬 2 comments Opened Apr 5, 2026 by rawrence Closed Apr 5, 2026

Description

The Telegram plugin (telegram@claude-plugins-official) receives messages and processes them correctly, but notifications/claude/channel never reaches the Claude Code session. Outbound (reply/react/edit) works fine — only inbound delivery is broken.

Environment

  • Claude Code: 2.1.92
  • OS: macOS (Darwin 25.4.0, Apple Silicon)
  • Plugin runtime: Bun
  • Plugin: telegram@claude-plugins-official (enabled in settings.json)

Diagnosis

| Check | Result |
|-------|--------|
| Bot token valid | ✅ getMe returns bot info |
| Plugin process running | ✅ PID active, TCP connections to 149.154.166.110 (Telegram API) |
| Polling active | ✅ Long-poll connections established |
| access.json correct | ✅ sender ID in allowFrom |
| gate() passes | ✅ confirmed via ackReaction — 👀 emoji appears on sender's message |
| MCP outbound tools (reply/react) | ✅ work correctly |
| notifications/claude/channel delivery | ❌ never received by session |

Steps to reproduce

  1. Install and enable the Telegram plugin
  2. Configure bot token and pair a user (user appears in allowFrom)
  3. Set ackReaction in access.json to verify plugin receives messages
  4. Send a message from Telegram to the bot
  5. Observe: ack reaction appears (plugin processed the message), but Claude Code session receives no channel notification

Expected behavior

Messages should appear in the Claude Code session as <channel source="telegram" ...> blocks.

Actual behavior

Plugin receives and processes inbound messages (confirmed by ackReaction), calls mcp.notification({ method: 'notifications/claude/channel', ... }), but the notification is silently dropped — nothing appears in the session. The .catch() handler on the notification call does not fire (no stderr output), suggesting the MCP write succeeds but the client side ignores it.

View original on GitHub ↗

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