[FEATURE] Telegram channel plugin: inline buttons for choices and approvals

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

The official Telegram channel plugin lets Claude send text, files and reactions, but not tappable choices. Every approval or multiple-choice question has to be answered by typing ("1", "y", "merge 34"). On a phone this is slow and error-prone, and with several open questions it is ambiguous which one a typed answer belongs to.

Proposed Solution

Let the reply tool attach inline keyboard buttons (Telegram inline_keyboard), e.g.:

reply(chat_id, text, buttons=[["Merge ✅", "Not now"]])

When the user taps a button, deliver it to Claude as a channel event that includes the original message_id and the button value, so the choice is unambiguous. Optionally edit the original message to show the chosen option and remove the buttons, so a button can't be tapped twice.

Alternative Solutions

Typed numbered options (what I use now) work but are slower. A third-party fork of the plugin with buttons exists, but switching broke my bot setup twice, so I'd much rather have this in the official plugin.

Priority

Medium - Would be very helpful

Feature Category

Other

Use Case Example

  1. Claude finishes a pull request and asks: "Merge PR #34 and put the site live?" with buttons [Merge] [Not yet].
  2. I tap [Merge] on my phone.
  3. Claude receives button="merge" tied to that message and proceeds, with no guessing and no typing.

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 approve merges, deploys and outgoing emails from Telegram many times a day. Buttons would make those approvals faster and safer. Related: #99447 (reply-to context on inbound messages).

View original on GitHub ↗