Summary
When approvals.exec.mode: "session" is enabled, and an exec command requires approval, the approval message is sent as plain text with an approval ID. Users must manually reply with /approve <id> allow-once|allow-always|deny.
Request
Add inline Slack buttons (Allow Once / Allow Always / Deny) to exec approval messages when the Slack channel has capabilities: ["inlineButtons"] configured.
Current behavior
Approval required (id a5c4d6cd). Approve to run; updates will arrive after completion. User must then type: /approve a5c4d6cd allow-once
Desired behavior
Message includes interactive buttons:
- Allow Once → resolves approval for this run
- Allow Always → adds to allowlist + resolves
- Deny → blocks the command
This would make the approval UX much smoother, especially on mobile.
Notes
- Slack plugin already declares
inlineButtons capability
- The
message tool supports inline buttons via the buttons parameter
- A similar pattern could be applied to Telegram/Discord channels that support inline keyboards
Summary
When
approvals.exec.mode: "session"is enabled, and an exec command requires approval, the approval message is sent as plain text with an approval ID. Users must manually reply with/approve <id> allow-once|allow-always|deny.Request
Add inline Slack buttons (Allow Once / Allow Always / Deny) to exec approval messages when the Slack channel has
capabilities: ["inlineButtons"]configured.Current behavior
Approval required (id a5c4d6cd). Approve to run; updates will arrive after completion. User must then type:
/approve a5c4d6cd allow-onceDesired behavior
Message includes interactive buttons:
This would make the approval UX much smoother, especially on mobile.
Notes
inlineButtonscapabilitymessagetool supports inline buttons via thebuttonsparameter