[FEATURE] Telegram channel plugin: pass reply-to context on inbound messages

Status Open
Maintainer reply None cached
Activity 0 comments · opened Oct 4, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

With the official Telegram channel plugin, an inbound message reaches Claude as a <channel> tag with chat_id, message_id, user and ts. When the user replies to an earlier bot message in Telegram (swipe-to-reply), that context is lost: Claude cannot see which message was replied to.

In practice the bot often has several open questions in separate messages ("1/2/3?", "y/n?"). A short answer like "1", "y" or "it's fine" sent as a reply to one of them has to be guessed, which leads to wrong interpretations or extra clarification rounds. This matters most for approvals (merging, deploying, sending), where Claude rightly refuses to act on an ambiguous answer.

Proposed Solution

When the inbound Telegram message is a reply, add the reply context to the channel tag, for example:

  • reply_to_message_id="223"
  • reply_to_text="...first ~200 characters of the replied-to message..." (or a nested element)

so Claude can match the answer to the right question without guessing.

Alternative Solutions

Asking users to prefix answers with a keyword ("merge 34", "q2: y") works but is easy to forget on a phone. Inline buttons (separate request) would solve part of it, but free-text replies to a specific message would still lack context.

Priority

Medium - Would be very helpful

Feature Category

Other

Use Case Example

  1. Bot sends message A: "Merge PR #77? (y/n)" and message B: "Switch background tasks to a cheaper model? (y/n)".
  2. User swipe-replies "y" to message A.
  3. Today Claude receives only "y" and must guess or ask again.
  4. With reply_to_message_id / reply_to_text, Claude knows the "y" is for the merge.

Additional Context

I run Claude Code on a Mac mini as my always-on assistant for my company WAMELINK (process automation for Dutch SMBs) and work with it almost entirely through the Telegram plugin. It has replaced my previous agent setup and made me much more productive; reply context is the main remaining friction.

View original on GitHub ↗