Telegram plugin: inbound MCP notifications not delivered to session (Windows)

Resolved 💬 2 comments Opened Mar 21, 2026 by Nicolasdcnv Closed Apr 18, 2026

Bug description

The Telegram plugin (plugin:telegram:telegram) connects successfully and outbound tools (reply, react, edit_message) work correctly. However, inbound messages from Telegram never reach the Claude Code session.

Symptoms

  1. Plugin shows ✔ connected in /mcp
  2. Sending a message to the bot on Telegram triggers the "typing" indicator (confirming the bot receives the message and passes the access gate)
  3. The mcp.notification({ method: 'notifications/claude/channel', ... }) in server.ts fires (line 580-593)
  4. But the notification never arrives in the Claude Code conversation
  5. Outbound works fine — calling reply tool successfully sends messages to Telegram

Environment

  • OS: Windows 11 Pro 10.0.26200
  • Shell: Git Bash
  • Bun: 1.3.11
  • Claude Code session: Opus 4.6
  • Plugin: claude-plugins-official/telegram/0.0.1

Reproduction steps

  1. Install Telegram plugin, configure bot token, pair a user
  2. Verify plugin shows ✔ connected in /mcp
  3. Use reply tool to send a test message → works ✅
  4. Send a message FROM Telegram TO the bot → "typing" appears, but no notification reaches Claude Code ❌

Investigation done

  • Bot token is valid (getMe returns OK)
  • access.json is correctly configured (allowlist policy, user ID present)
  • Server starts correctly when launched manually
  • MCP stdio handshake works when tested directly (initialize request/response OK)
  • No webhook set on the bot (confirmed via getWebhookInfo)
  • The void mcp.notification(...) call is fire-and-forget — if it fails, the error is silently swallowed

Suspected cause

The MCP notification path (notifications/claude/channel) from the stdio server to the Claude Code session may not be working on Windows. The outbound tool call path works, but the inbound notification path does not. This could be a stdio buffering issue specific to Windows + Bun, or a problem with how the experimental claude/channel capability handles notifications.

Additional context

  • Initially there was also a stale HTTP MCP entry (https://mcp.telegram.claudeplugins.com) configured as a local MCP server — this was removed but did not fix the issue
  • Orphaned bun processes from previous sessions were also found and killed — also did not fix the issue

View original on GitHub ↗

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