Telegram plugin: inbound channel notifications not delivered to session

Resolved 💬 3 comments Opened Mar 24, 2026 by Tim-Feng Closed Mar 28, 2026

Description

The Telegram plugin (v0.0.4) can send messages to Telegram (outbound reply tool works), but inbound messages from Telegram never appear in the Claude Code session.

Environment

  • Claude Code: 2.1.81
  • Telegram plugin: 0.0.4
  • MCP SDK: 1.27.1 (@modelcontextprotocol/sdk)
  • Runtime: Bun 1.3.11
  • OS: macOS Darwin 24.6.0

Steps to Reproduce

  1. Install telegram plugin (/plugin install telegram)
  2. Configure bot token in ~/.claude/channels/telegram/.env
  3. Pair a Telegram user (user is in access.jsonallowFrom)
  4. Send a message from Telegram to the bot

Expected

Message appears in the Claude Code session as a <channel source="telegram" ...> notification.

Actual

  • Bot receives the message (Telegram shows "typing..." indicator)
  • No notification appears in the Claude Code session
  • Outbound direction works: calling the reply MCP tool successfully sends messages to Telegram

Debugging Details

  • mcp.notification({ method: 'notifications/claude/channel', params: {...} }) is called by the server (code path confirmed in server.ts:925)
  • The MCP stdio transport is connected (tool calls work both ways)
  • Manual server start (bun server.ts) shows "polling as @BotName" on stderr — under Claude Code plugin management, bot polling behavior is inconsistent
  • When bot IS polling (confirmed via 409 Conflict on getUpdates), notifications still don't arrive
  • Tested across multiple session restarts, plugin reinstalls, and cache clears — same result
  • The server declares experimental: { 'claude/channel': {} } capability during MCP initialization

Hypothesis

Claude Code's MCP client may not be processing/surfacing notifications/claude/channel notifications from plugin MCP servers, even though the transport is functioning (tool request/response works fine).

View original on GitHub ↗

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