Skip to content

Telegram: Add inline button support for exec approval prompts #22078

@xrom2863

Description

@xrom2863

Summary

Discord already supports button-based exec approvals (see channels/discord.md), but Telegram approval prompts are text-only, requiring users to manually type/copy /approve <uuid> allow-once|allow-always|deny.

Problem

Copying a UUID on Telegram mobile is painful. The current text-based approval flow works but is a poor UX, especially for non-technical users or mobile-only setups.

Proposed Solution

Add Telegram inline keyboard buttons to exec approval messages, similar to Discord's implementation:

🔒 Exec approval required
Command: gog inbox list
Agent: main

[Allow Once] [Always Allow] [Deny]

Each button would trigger the corresponding /approve <id> <action> via callback query, so the user just taps once.

Context

  • Discord already has this: channels/discord.md#L713
  • Telegram Bot API supports inline keyboards natively (InlineKeyboardMarkup)
  • This is especially important for "set it and forget it" deployments where cron jobs may hit allowlist misses and the user needs to approve from mobile

Additional Info

We're building a macOS companion app (KatClaw) and this came up when testing Moderate security mode with cron jobs. The approval forwarding to Telegram works great — the UX of approving is the bottleneck.

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleMarked as stale due to inactivity

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions