Telegram channel plugin: inbound notifications not delivered to conversation on Windows

Resolved 💬 3 comments Opened Mar 26, 2026 by aux2m Closed Mar 30, 2026

Summary

The Telegram channel plugin (telegram@claude-plugins-official) can send messages outbound via the reply tool, but inbound messages from Telegram never appear in the conversation as <channel> blocks. The mcp.notification({ method: 'notifications/claude/channel', ... }) call in the plugin's server.ts executes without error, but Claude Code does not surface the notification.

Environment

  • Claude Code: 2.1.84 (latest as of 2026-03-26)
  • Platform: Windows 11 Pro 10.0.26200 (MINGW64/Git Bash)
  • Bun: 1.3.11
  • Node: v24.13.0
  • Terminal: Git Bash (not VS Code extension — standalone CLI claude session)

Steps to Reproduce

  1. Install and enable telegram@claude-plugins-official
  2. Configure bot token in ~/.claude/channels/telegram/.env
  3. Pair a Telegram user via /telegram:access pair <code> — user is added to allowFrom
  4. Start a claude CLI session
  5. Confirm outbound works: call the reply tool with chat_id — message arrives in Telegram ✅
  6. Send a message FROM Telegram to the bot
  7. Expected: <channel source="telegram" ...> block appears in the conversation
  8. Actual: nothing appears

Debugging Done

  • Bot is polling: getWebhookInfo shows pending_update_count: 0 — updates are being consumed
  • Gate passes: the bot sends a "typing" chat action (line 908 of server.ts) when a message is received — this is visible in Telegram, confirming handleInbound() runs and gate() returns deliver
  • access.json is correct: sender ID is in allowFrom, dmPolicy is pairing
  • No 409 Conflict: only one bun process is polling (verified via tasklist + wmic)
  • Plugin is registered: enabledPlugins in settings.json includes telegram@claude-plugins-official
  • Server declares capability: experimental: { 'claude/channel': {} } is set in the MCP server capabilities

Hypothesis

The mcp.notification() call at line 925 of server.ts fires successfully (no error caught at line 946), but Claude Code either:

  1. Does not subscribe to notifications/claude/channel from plugin MCP servers on Windows
  2. Has a stdio buffering issue between bun and Claude Code on Windows (MINGW64)
  3. Does not support notifications/claude/channel in the current release despite the plugin declaring it

Expected Behavior

Inbound Telegram messages should appear in the conversation as <channel source="telegram" ...> blocks, allowing Claude to read and reply to them — as described in the plugin's own instructions field.

🤖 Generated with Claude Code

View original on GitHub ↗

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