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.
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:
Each button would trigger the corresponding
/approve <id> <action>via callback query, so the user just taps once.Context
channels/discord.md#L713InlineKeyboardMarkup)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.