Summary
Approval prompts for tools like exec should appear in the same channel where the request originated, not just in Web UI.
Problem to solve
Currently, when a user triggers a tool that requires approval (such as running a shell command) from Discord, Telegram, or Slack, the approval prompt with Approve/Deny buttons only appears in the Web UI. This creates a poor user experience because:
- Users must switch from their chat app to Web UI just to approve/deny
- On mobile, this is particularly cumbersome
- It discourages using chat channels for tasks that require tool execution
- Users may be tempted to disable approvals entirely (removing security guardrails)
Proposed solution
When a user sends a message from any channel (Discord, Telegram, Slack, Web UI) requesting an action that requires approval:
- The approval prompt appears in the same channel where the request came from
- The user can approve/deny directly from that channel using inline buttons
- Security guardrails remain intact — users still explicitly approve/deny
Alternatives considered
Reaction-based approval (#24639)
Use emoji reactions on approval messages:
- 👍 = Allow Once / Always Allow
- 👎 = Deny
This would work across all channels that support reactions.
Impact
Who is affected
Users who interact with OpenClaw via chat channels (Discord, Telegram, Slack) instead of Web UI. This includes:
- Mobile users who prefer chat apps over browser
- Users who have set up Discord/Telegram/Slack as primary interaction channels
- Anyone using OpenClaw on-the-go
Severity
Annoying — Blocks workflow for users who prefer chat channels. Not a crash, but significantly degrades the mobile experience and discourages using chat apps for tasks requiring tool execution.
Frequency
Always — Every time a tool requiring approval is invoked from a chat channel. This is not an edge case; it affects 100% of exec/tool calls from Discord/Telegram/Slack.
Consequence
- Users must manually switch to Web UI to approve/deny
- On mobile, this means opening a browser, logging in, finding the approval, then responding 3. Approval timeouts occur (~120 seconds) because users can't respond in time from chat channels
- Some users may disable approvals entirely (security risk) to avoid the inconvenience
- Poor UX discourages use of chat channels for legitimate tool-using workflows
Evidence/examples
Example (Telegram)
🔒 Exec approval required
Command: echo hello
Agent: main
[Allow Once] [Always Allow] [Deny]
Example (Discord)
🔒 Exec approval required
Command: echo hello
Agent: main
[✅ Allow] [⚠️ Always Allow] [❌ Deny]
Additional information
Related Issues
Acceptance Criteria
Summary
Approval prompts for tools like
execshould appear in the same channel where the request originated, not just in Web UI.Problem to solve
Currently, when a user triggers a tool that requires approval (such as running a shell command) from Discord, Telegram, or Slack, the approval prompt with Approve/Deny buttons only appears in the Web UI. This creates a poor user experience because:
Proposed solution
When a user sends a message from any channel (Discord, Telegram, Slack, Web UI) requesting an action that requires approval:
Alternatives considered
Reaction-based approval (#24639)
Use emoji reactions on approval messages:
This would work across all channels that support reactions.
Impact
Who is affected
Users who interact with OpenClaw via chat channels (Discord, Telegram, Slack) instead of Web UI. This includes:
Severity
Annoying — Blocks workflow for users who prefer chat channels. Not a crash, but significantly degrades the mobile experience and discourages using chat apps for tasks requiring tool execution.
Frequency
Always — Every time a tool requiring approval is invoked from a chat channel. This is not an edge case; it affects 100% of exec/tool calls from Discord/Telegram/Slack.
Consequence
Evidence/examples
Example (Telegram)
Example (Discord)
Additional information
Related Issues
Acceptance Criteria