Telegram plugin: channel notifications not injected into session

Resolved 💬 3 comments Opened Mar 22, 2026 by d3draw Closed Mar 25, 2026

Description

The official Telegram plugin (telegram@claude-plugins-official) successfully receives messages and sends notifications/claude/channel via MCP, but these notifications are never injected into the Claude Code session.

Environment

  • Claude Code version: 2.1.81 (latest)
  • OS: Linux (Ubuntu)
  • Plugin: telegram@claude-plugins-official v0.0.1
  • Transport: StdioServerTransport

Steps to Reproduce

  1. Enable the Telegram plugin (enabledPlugins: { "telegram@claude-plugins-official": true })
  2. Pair with a Telegram bot and send a message
  3. Observe that the message never appears in the Claude Code session

Evidence

The plugin debug log (/tmp/telegram-debug.log) shows:

[2026-03-22T07:34:52.322Z] sending notification: {"method":"notifications/claude/channel","params":{"content":"하이","meta":{"chat_id":"...","message_id":"1000","user":"d3draw","user_id":"...","ts":"2026-03-22T07:34:51.000Z"}}}
[2026-03-22T07:34:52.322Z] notification sent OK
  • Messages are received by the bot ✅
  • mcp.notification() resolves successfully (stdout write OK) ✅
  • Notification appears in Claude Code session ❌

Analysis

  • The plugin registers experimental: { 'claude/channel': {} } as a capability (server.ts:349)
  • mcp.notification() writes to stdout via StdioServerTransport and resolves — but this only confirms the write to stdout buffer, not that Claude Code read or processed it
  • Multiple session restarts have not resolved the issue
  • Manual tool calls (e.g., reply, react) work fine — only the notification/injection path is broken

Expected Behavior

When a Telegram message arrives and the plugin sends notifications/claude/channel, the message should be injected into the active Claude Code session as a <channel source="telegram" ...> tag.

Actual Behavior

Notifications are silently dropped. The session never receives the message. No error is logged on either side.

View original on GitHub ↗

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