Telegram channel plugin: inbound MCP notifications not delivered to active session
Resolved 💬 2 comments Opened Mar 29, 2026 by jahama808 Closed Apr 1, 2026
Description
Inbound Telegram messages received by the official plugin:telegram channel plugin are not delivered to the Claude Code session as <channel> events. Outbound messages (via the reply tool) work correctly.
Environment
- Claude Code version: 2.1.87
- OS: Linux x86_64 (Ubuntu)
- Plugin:
plugin:telegramv0.0.4 (from claude-plugins-official)
Steps to Reproduce
- Configure the Telegram plugin with a valid bot token and allowlisted user
- Start a Claude Code session (plugin auto-starts via MCP)
- Send a message from the allowlisted Telegram user to the bot
- Observe: message never appears as a
<channel>event in the session
What happens
- The bot receives the message (confirmed via Telegram
getUpdatesAPI returning empty — updates are consumed) - The gate check passes (
gate result: deliverin debug logs) mcp.notification({ method: 'notifications/claude/channel', ... })completes without error ("notification sent successfully")- The typing indicator fires on Telegram (user sees "typing...")
- But no
<channel>tag is injected into the Claude Code conversation
What should happen
The inbound message should appear as a <channel source="telegram" chat_id="..." ...> block in the conversation, allowing Claude to process and respond.
Additional context
- Outbound
replytool works perfectly — messages are delivered to Telegram - Tested across session restarts (fresh PID, fresh MCP connection)
- Plugin stderr is routed to MCP socket transport (not a file), so no crash/error logs are visible
- The old process (from
plugins/marketplaces/...) logged to/tmp/telegram-debug.logand showed successful delivery; the new process (fromplugins/cache/...) routes stderr through MCP sockets access.jsonis correctly configured:dmPolicy: "allowlist", user ID inallowFrom
🤖 Generated with Claude Code
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗