Telegram channel plugin: MCP notifications not delivered on Windows
Environment
- Platform: Windows 11 Pro 10.0.26200
- Claude Code: v2.1.81 (latest)
- Plugin: telegram@claude-plugins-official v0.0.2
- Runtime: bun (via ~/.bun/bin/bun)
Description
The Telegram channel plugin's MCP server starts correctly and polls for updates, but notifications/claude/channel notifications are never delivered to the conversation. Outbound tools (reply, react) work fine.
Symptoms
- Bot token valid (
getMereturns OK) - Bot can send messages (the
replyMCP tool works — messages arrive in Telegram) - Bot receives messages (Telegram client shows "typing" indicator, confirming
sendChatActionfires) - MCP server is actively polling (
getUpdatesreturns 409 Conflict when called externally) - The MCP notification (
notifications/claude/channel) is never delivered to the conversation - No error logs accessible
Steps to Reproduce
- Install and configure the Telegram plugin (
telegram@claude-plugins-official) - Set bot token in
~/.claude/channels/telegram/.env - Add user ID to allowlist in
~/.claude/channels/telegram/access.json - Open a new Claude Code session
- Send a DM to the bot from Telegram
- Bot shows "typing" indicator but message never appears in the Claude Code conversation
- Using the
replytool to send a message back to Telegram works — confirming the MCP server is running and connected
Diagnosis
The MCP server receives the inbound message, passes the gate() check (user is in allowlist), fires sendChatAction("typing"), and calls mcp.notification({ method: 'notifications/claude/channel', params: { ... } }). The notification is sent over stdio transport but Claude Code does not surface it in the conversation.
This was verified by:
- Stopping the MCP server's polling (confirmed no 409) and manually calling
getUpdatesvia curl — messages from the user were received successfully - Reloading plugins (
/reload-plugins) — MCP server restarts and resumes polling, but notifications still don't arrive
Expected Behavior
Messages sent to the Telegram bot should appear in the Claude Code conversation as <channel source="telegram" ...> blocks.
Workaround
None found. The channel is effectively one-way (outbound only).
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗