Telegram plugin: inbound channel notifications not delivered to session
Resolved 💬 3 comments Opened Mar 25, 2026 by shah1git Closed May 1, 2026
Description
The Telegram plugin (telegram@claude-plugins-official) can send messages via the reply MCP tool, but inbound messages from Telegram users are never delivered to the Claude Code session as notifications/claude/channel events.
Environment
- Claude Code version: 2.1.83
- OS: Linux (Ubuntu)
- Plugin:
telegram@claude-plugins-official(external plugin) - Runtime: Bun
Steps to reproduce
- Install the Telegram plugin:
claude plugins install telegram@claude-plugins-official - Configure bot token in
~/.claude/channels/telegram/.env - Configure
access.jsonwithdmPolicy: "allowlist"and the user's Telegram ID inallowFrom - Start Claude Code session, verify plugin loads (
/reload-pluginsshows 1 plugin MCP server) - Send a message to the bot from the allowlisted Telegram account
- Observe: no
<channel source="telegram" ...>notification appears in the session
What works
- Bot process starts and polls Telegram successfully (confirmed via
getUpdatesreturning 409 Conflict) - Outbound
mcp__plugin_telegram_telegram__replytool works — messages are delivered to the user access.jsonis correctly configured with the user's ID inallowFrom- The MCP server process is running and connected (tool calls succeed)
What doesn't work
mcp.notification({ method: 'notifications/claude/channel', ... })calls inserver.ts(line 925) never reach the Claude Code session- Restarting Claude Code, killing/restarting the plugin process, reinstalling the plugin — none of these fix the issue
- The
.catch()on notification (line 945) does not log errors to stderr either
Expected behavior
Inbound Telegram messages from allowlisted users should appear in the Claude Code session as <channel source="telegram" ...> notifications.
🤖 Generated with Claude Code
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗