[BUG] Telegram channel plugin: inbound notifications/claude/channel silently dropped by client
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Environment:
Claude Code CLI: 2.1.81 and 2.1.92
Claude Code VSCode extension: 2.1.92
macOS Darwin 24.6.0 (Apple Silicon)
Telegram plugin: 0.0.4 (from claude-plugins-official)
MCP SDK: @modelcontextprotocol/sdk ^1.0.0
Description:
The Telegram channel plugin's MCP server correctly receives messages from Telegram and emits notifications/claude/channel JSON-RPC notifications on stdout, but they never appear in the conversation. Outbound tool calls (reply, react, edit_message) work perfectly.
Steps to reproduce:
Install and configure the Telegram plugin with a valid bot token
Add a Telegram user to the allowlist via /telegram:access
Start a Claude Code session (CLI or VSCode)
Send a DM to the bot from the allowlisted Telegram account
Expected: message appears in the conversation as a <channel> tag
Actual: nothing happens — message is silently consumed
Diagnostic proof that the server works:
Ran the server manually with stdout captured:
mkfifo /tmp/tg-stdin
(cat /tmp/tg-stdin | bun server.ts) 2>/tmp/tg-stderr 1>/tmp/tg-stdout &
After sending a Telegram message, stdout contained the correct notification:
{"method":"notifications/claude/channel","params":{"content":"WTF","meta":{"chat_id":"1503555974","message_id":"80","user":"JohnWooMF","user_id":"1503555974","ts":"2026-04-06T12:12:32.000Z"}},"jsonrpc":"2.0"}
The server emits the notification. The Claude Code client drops it.
Tested across:
CLI 2.1.81 — inbound dropped
CLI 2.1.92 — inbound dropped
VSCode extension 2.1.92 — inbound dropped
All three handle outbound tool calls (reply) correctly
Additional context:
Confirmed only one Claude Code session and one Telegram server running during tests (eliminated 409 conflict as a cause)
Bot token valid, bot can send messages via API
Server has active TCP connections to Telegram API (149.154.166.110)
getUpdates returns empty after sending messages, confirming the server consumes them
What Should Happen?
Environment:
Claude Code CLI: 2.1.81 and 2.1.92
Claude Code VSCode extension: 2.1.92
macOS Darwin 24.6.0 (Apple Silicon)
Telegram plugin: 0.0.4 (from claude-plugins-official)
MCP SDK: @modelcontextprotocol/sdk ^1.0.0
Description:
The Telegram channel plugin's MCP server correctly receives messages from Telegram and emits notifications/claude/channel JSON-RPC notifications on stdout, but they never appear in the conversation. Outbound tool calls (reply, react, edit_message) work perfectly.
Steps to reproduce:
Install and configure the Telegram plugin with a valid bot token
Add a Telegram user to the allowlist via /telegram:access
Start a Claude Code session (CLI or VSCode)
Send a DM to the bot from the allowlisted Telegram account
Expected: message appears in the conversation as a <channel> tag
Actual: nothing happens — message is silently consumed
Diagnostic proof that the server works:
Ran the server manually with stdout captured:
mkfifo /tmp/tg-stdin
(cat /tmp/tg-stdin | bun server.ts) 2>/tmp/tg-stderr 1>/tmp/tg-stdout &
After sending a Telegram message, stdout contained the correct notification:
{"method":"notifications/claude/channel","params":{"content":"WTF","meta":{"chat_id":"1503555974","message_id":"80","user":"JohnWooMF","user_id":"1503555974","ts":"2026-04-06T12:12:32.000Z"}},"jsonrpc":"2.0"}
The server emits the notification. The Claude Code client drops it.
Tested across:
CLI 2.1.81 — inbound dropped
CLI 2.1.92 — inbound dropped
VSCode extension 2.1.92 — inbound dropped
All three handle outbound tool calls (reply) correctly
Additional context:
Confirmed only one Claude Code session and one Telegram server running during tests (eliminated 409 conflict as a cause)
Bot token valid, bot can send messages via API
Server has active TCP connections to Telegram API (149.154.166.110)
getUpdates returns empty after sending messages, confirming the server consumes them
Error Messages/Logs
Steps to Reproduce
Environment:
Claude Code CLI: 2.1.81 and 2.1.92
Claude Code VSCode extension: 2.1.92
macOS Darwin 24.6.0 (Apple Silicon)
Telegram plugin: 0.0.4 (from claude-plugins-official)
MCP SDK: @modelcontextprotocol/sdk ^1.0.0
Description:
The Telegram channel plugin's MCP server correctly receives messages from Telegram and emits notifications/claude/channel JSON-RPC notifications on stdout, but they never appear in the conversation. Outbound tool calls (reply, react, edit_message) work perfectly.
Steps to reproduce:
Install and configure the Telegram plugin with a valid bot token
Add a Telegram user to the allowlist via /telegram:access
Start a Claude Code session (CLI or VSCode)
Send a DM to the bot from the allowlisted Telegram account
Expected: message appears in the conversation as a <channel> tag
Actual: nothing happens — message is silently consumed
Diagnostic proof that the server works:
Ran the server manually with stdout captured:
mkfifo /tmp/tg-stdin
(cat /tmp/tg-stdin | bun server.ts) 2>/tmp/tg-stderr 1>/tmp/tg-stdout &
After sending a Telegram message, stdout contained the correct notification:
{"method":"notifications/claude/channel","params":{"content":"WTF","meta":{"chat_id":"1503555974","message_id":"80","user":"JohnWooMF","user_id":"1503555974","ts":"2026-04-06T12:12:32.000Z"}},"jsonrpc":"2.0"}
The server emits the notification. The Claude Code client drops it.
Tested across:
CLI 2.1.81 — inbound dropped
CLI 2.1.92 — inbound dropped
VSCode extension 2.1.92 — inbound dropped
All three handle outbound tool calls (reply) correctly
Additional context:
Confirmed only one Claude Code session and one Telegram server running during tests (eliminated 409 conflict as a cause)
Bot token valid, bot can send messages via API
Server has active TCP connections to Telegram API (149.154.166.110)
getUpdates returns empty after sending messages, confirming the server consumes them
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.92
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
VS Code integrated terminal
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗