Telegram MCP plugin: channel notifications not surfaced in conversation
Description
The Telegram MCP plugin (plugin:telegram) sends notifications/claude/channel via the MCP stdio transport, but Claude Code does not surface these notifications in the conversation. This means the bot can send messages to Telegram (via the reply tool) but cannot receive incoming user messages.
Evidence
Using strace on the bun process running the Telegram MCP server, I confirmed that:
- The bot receives Telegram messages via long polling (grammy
bot.start()) ✅ - The access gate passes the message (user is in
allowFrom) ✅ mcp.notification()writes the JSON-RPC notification to stdout (fd 1 → Unix socket connected to Claude Code) ✅- The write succeeds (208 bytes written, no error) ✅
Example captured notification:
{"method":"notifications/claude/channel","params":{"content":"1","meta":{"chat_id":"7747504063","message_id":"26","user":"7747504063","user_id":"7747504063","ts":"2026-03-20T12:56:27.000Z"}},"jsonrpc":"2.0"}
The Unix socket between the MCP server and Claude Code is established and healthy:
- stdin: socket connected to Claude (pid's fd 27)
- stdout: socket connected to Claude (pid's fd 32)
Expected behavior
Incoming Telegram messages should appear in the Claude Code conversation as <channel source="telegram" ...> blocks, as described in the MCP server's instructions.
Actual behavior
Nothing appears. The notification is written to the socket but Claude Code does not display or process it.
Environment
- Claude Code version: 2.1.80
- OS: Linux (RHEL 8, kernel 4.18.0-553.111.1.el8_10.x86_64)
- Telegram plugin:
claude-plugins-official/telegramv0.0.1 - MCP transport: stdio (bun → Unix socket → claude)
- The plugin is enabled in
settings.jsonunderenabledPlugins
Steps to reproduce
- Install and configure the Telegram plugin (
/telegram:configure) - Pair a Telegram user (
/telegram:access) - Send a message from Claude Code to Telegram via the
replytool → works - Send a message from Telegram to the bot → nothing appears in Claude Code
Workaround
None currently. The bot can only be used for one-way outbound messaging.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗