[BUG] Telegram channel plugin: inbound notifications/claude/channel silently dropped by client

Resolved 💬 3 comments Opened Apr 6, 2026 by mixologystudiosonline Closed Apr 6, 2026

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_

View original on GitHub ↗

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