Telegram channel plugin: MCP notifications not surfacing in conversation

Resolved 💬 3 comments Opened Mar 23, 2026 by apaddock Closed Mar 23, 2026

Summary

The Telegram channel plugin's MCP server connects successfully (tools work — can send outbound messages), and the bot receives inbound messages (typing indicator appears in Telegram), but notifications/claude/channel events never surface as <channel> tags in the conversation.

Environment

  • Claude Code version: 2.1.81
  • Platform: macOS (Darwin 25.3.0)
  • Plugin: telegram@claude-plugins-official v0.0.2
  • Shell: zsh

Steps to Reproduce

  1. Install and enable the Telegram plugin (telegram@claude-plugins-official)
  2. Configure bot token via /telegram:configure <token> — token validates successfully via getMe
  3. Pair user — user ID is in access.json allowlist
  4. Start a Claude Code session
  5. Send a message to the bot from Telegram

Expected Behavior

Inbound Telegram messages should appear in the Claude Code conversation as <channel source="telegram" ...> tags.

Actual Behavior

  • Bot shows a "typing" indicator in Telegram (confirming the MCP server receives and processes the message through the access gate)
  • Outbound messages via the reply tool work (confirmed — bot sends messages to user successfully)
  • getUpdates returns 409 Conflict, confirming the MCP server is actively long-polling
  • No <channel> tag ever appears in the conversation
  • Restarting Claude Code sessions (5+ attempts) does not resolve the issue

Diagnosis

The MCP server is connected for tool calls but notifications/claude/channel events are not being delivered to the conversation. This may be gated behind a feature flag that is not enabled for this account.

Relevant feature flags from .claude.json:

  • tengu_glacier_2xr: false
  • tengu_coral_whistle: false
  • tengu_bridge_poll_interval_ms: 0
  • tengu_ccr_bridge: true
  • tengu_ccr_bridge_multi_session: true
  • tengu_copper_bridge: true

View original on GitHub ↗

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