Telegram channel plugin: inbound messages never delivered to session
Resolved 💬 3 comments Opened Mar 22, 2026 by Johnny3116 Closed Mar 26, 2026
Bug Description
The Telegram channel plugin (claude-channel-telegram v0.0.1) successfully sends outbound messages but inbound messages from Telegram never reach the Claude Code session.
Environment
- Claude Code: v2.1.81
- OS: Windows 11 (10.0.26200)
- Plugin:
claude-channel-telegramv0.0.1 (installed via official marketplaceclaude-plugins-official) - Grammy version: ^1.21.0
- Shell: Git Bash
Steps to Reproduce
- Install telegram plugin, configure bot token, pair via
/telegram:access - Pairing completes successfully — user ID appears in
access.jsonallowlist - Send an outbound message via
mcp__plugin_telegram_telegram__reply→ works, user receives it - User replies on Telegram → bot shows "typing..." indicator (proving the channel server receives the message)
- Message never arrives in the Claude Code session — no
<channel>tag, no notification, nothing
What's Working
- Outbound messages (session → Telegram): ✅
- Pairing and access control: ✅
- Bot receives webhook/poll (typing indicator appears): ✅
What's Broken
- Inbound delivery (Telegram → session): ❌
- The channel server receives the message but fails to inject it into the active Claude Code REPL session
- No error messages or logs visible
Diagnosis
- Tested across multiple fresh sessions — same behavior
access.jsonis correct: user ID in allowlist, dmPolicy set to "pairing"- No logs found in
~/.claude/channels/telegram/(onlyaccess.jsonandapproved/exist) - The break appears to be in the "inject message into Claude session" step, not in Telegram API communication
Expected Behavior
When a paired/allowed user sends a message on Telegram, it should appear in the active Claude Code session as a <channel source="telegram"> block.
Additional Context
This is on Windows 11. The plugin was installed on 2026-03-21. The issue has been consistent since first install — inbound has never worked.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗