claude-code - 💡(How to fix) Fix [BUG] Telegram plugin: inbound messages no longer delivered to session (outbound reply still works) [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#45331Fetched 2026-04-09 08:07:49
View on GitHub
Comments
1
Participants
2
Timeline
6
Reactions
0
Timeline (top)
labeled ×5commented ×1

Error Message

Error Messages/Logs

Fix Action

Fix / Workaround

Workaround
None — outbound-only is unusable for an interactive bot.

RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

Environment

  • Claude Code: 2.1.96
  • Plugin: telegram@claude-plugins-official v0.0.4
  • OS: macOS (Darwin 25.4.0)
  • Scope: local (project)

Symptom
Messages sent to the Telegram bot no longer appear in the Claude Code session as <channel source="telegram"> blocks. This worked yesterday with no version
change on either side.

What works

  • Bot token valid (getMe returns the bot).
  • Allowlist correct: access.json has dmPolicy: "allowlist" and my Telegram
    user ID in allowFrom.
  • The bun MCP server respawns correctly on /reload-plugins.
  • The server does consume incoming updates: after sending a message, getUpdates returns [] (confirming long-polling drained it).
  • Outbound works: calling mcp__plugin_telegram_telegram__reply from the
    session successfully delivers a message to Telegram.

What's broken

  • After the server consumes the update, no <channel> notification ever
    surfaces in the Claude Code session.
  • Tested by stopping the server, sending a message, and inspecting getUpdates directly: the raw payload is correct, sender ID matches the allowlist exactly, gate logic should return deliver.
  • Suspect: the mcp.notification({ method: 'notifications/claude/channel', ... }) call in server.ts is no longer surfaced by the harness.

What I tried

  • /reload-plugins (multiple times)
  • Full Claude Code restart
  • Killing the bun server process to force respawn
  • claude update (already on latest 2.1.96)
  • claude plugin update telegram@claude-plugins-official --scope local (already at 0.0.4, latest)

Workaround
None — outbound-only is unusable for an interactive bot.

What Should Happen?

When a Telegram user on the allowlist sends a DM to the bot, the message
should appear in the active Claude Code session as a <channel source="telegram" chat_id="..." message_id="..." user="..." ts="...">...</channel> block, so I can read it and respond via the reply tool. This is how it worked until yesterday.

Error Messages/Logs

Steps to Reproduce

Reproduction

  1. Configure telegram plugin with valid token + allowlist containing own user ID.
  2. Send a DM to the bot.
  3. Observe: server consumes update (getUpdates empty), but no <channel> block appears in the session.

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

No response

Claude Code Version

2.1.9

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

No response

extent analysis

TL;DR

The issue can likely be resolved by investigating the mcp.notification call in server.ts to ensure it is correctly surfacing the notification to the Claude Code session.

Guidance

  • Verify that the mcp.notification call is being executed correctly and that the notification is being sent to the Claude Code session.
  • Check the server.ts file to ensure that the mcp.notification call is not being blocked or filtered out.
  • Test the mcp__plugin_telegram_telegram__reply function to see if it is working correctly and if the issue is specific to incoming messages.
  • Review the allowlist configuration to ensure that the Telegram user ID is correctly configured and matches the sender ID.

Example

No code snippet is provided as the issue does not include specific code details.

Notes

The issue seems to be related to a regression, and the user has already tried restarting the server and updating the plugin. The fact that outgoing messages work correctly suggests that the issue is specific to incoming messages.

Recommendation

Apply workaround: Investigate the mcp.notification call in server.ts to ensure it is correctly surfacing the notification to the Claude Code session, as this is the most likely cause of the issue.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING