Telegram channel plugin: inbound messages not delivered to session
Resolved 💬 4 comments Opened Mar 20, 2026 by jojopas Closed Apr 20, 2026
Description
The Telegram channel plugin (telegram@claude-plugins-official) can send outbound messages via the reply tool, but inbound messages from Telegram never reach the Claude Code session. The MCP notification (notifications/claude/channel) appears to fire in server.ts but is not delivered to the host.
Environment
- Claude Code version: 2.1.80
- Platform: macOS (Darwin 24.3.0)
- Shell: zsh
Setup (all verified correct)
- Bot token is valid (
getMereturns successfully) access.jsonhas correct user ID inallowFrom(verified via @userinfobot)dmPolicyis set toallowlist- All three Telegram tools (
reply,react,edit_message) are auto-allowed insettings.json - Single plugin process running (
bun run ... start) - No webhook set on the bot (
getWebhookInforeturns empty URL)
Reproduction
- Enable
telegram@claude-plugins-officialinsettings.json - Configure bot token and allowlist a user
- Send a message from Claude to the user via
replytool → works - User sends a message back to the bot on Telegram → never arrives in the Claude Code session
Troubleshooting already attempted
- Restarted Claude Code 7+ times
- Verified only one plugin process is running
- Confirmed bot token validity via Telegram Bot API (
getMe,getWebhookInfo) - Confirmed user ID in allowlist matches actual Telegram user ID
getUpdatesreturns empty (expected — plugin is polling)
Likely cause
The mcp.notification() call at server.ts:578 fires after the gate passes, but the notification does not reach the Claude Code host session. The MCP transport (stdio) may not be delivering notifications/claude/channel events correctly.
🤖 Generated with Claude Code
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗