Telegram channel plugin: inbound notifications/claude/channel ignored by Claude Code
Resolved 💬 4 comments Opened Mar 25, 2026 by jsj972 Closed Mar 25, 2026
Bug
Inbound Telegram messages are never delivered to the Claude Code conversation, even though the official Telegram channel plugin sends the MCP notification correctly.
Claude Code version: 2.1.83
OS: Linux (Ubuntu) aarch64
Plugin: claude-channel-telegram (official marketplace plugin)
Evidence
Ran the bot manually with stdout/stderr captured to a file. When a Telegram message is sent to the bot:
- Bot receives and processes the message (
gate()returnsdeliver) mcp.notification()resolves successfully (no error in.catch())- The JSON-RPC notification is well-formed on stdout:
{"method":"notifications/claude/channel","params":{"content":"Testtt","meta":{"chat_id":"1578900524","message_id":"13","user":"Lujinsun","user_id":"1578900524","ts":"2026-03-25T19:04:49.000Z"}},"jsonrpc":"2.0"}
- Claude Code never surfaces the message in the conversation.
What works
- Outbound tools (
reply,react,edit_message) work correctly - The bot polls correctly (confirmed via Telegram API 409 Conflict test)
access.jsonis correctly configured (user ID inallowFrom)- Restarting Claude Code does not fix the issue
- Plugin process is alive and parented to the Claude Code process
Expected behavior
Messages sent to the Telegram bot should appear in the Claude Code conversation as <channel source="telegram" ...> tags, as described in the plugin's system instructions.
Steps to reproduce
- Install the official Telegram channel plugin from the marketplace
- Configure a bot token via
/telegram:configureand pair a user - Send a message to the bot from the paired Telegram user
- Observe that the message never appears in the Claude Code session
Diagnostic steps already attempted
- Verified bot token is valid (
getMereturns OK) - Verified no webhook is set (
getWebhookInforeturns empty) - Verified bot is actively polling (409 Conflict when calling
getUpdateswhile bot runs) - Verified
access.jsonhas correctallowFromentry - Killed and restarted the plugin process
- Restarted Claude Code entirely
- Confirmed MCP SDK version 1.27.1
- Ran bot standalone with stdout capture — confirmed the JSON-RPC notification is emitted correctly and the promise resolves without error
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗