Skip to content

[Bug]: "Always Allow" fails silently and does not persist allowlist for unresolved short commands (basenames) #43988

@cbcbq

Description

@cbcbq

Bug type

Behavior bug (incorrect output/state without crash)

Summary

When a user clicks the "Always Allow" button on an interactive execution approval prompt (e.g., in Discord or Telegram) for a short command (like id, jq, or sed), the system fails to persist the command to the exec-approvals.json allowlist. As a result, subsequent executions of the same command still require manual approval, rendering the "Always Allow" button ineffective for these commands.

Additionally, there is no UI feedback informing the user that the persistence failed.

Steps to reproduce

  1. Ensure the agent attempts to run a short command without an absolute path (e.g., id or jq -r ...).
  2. Receive the execution approval prompt in Discord/Telegram.
  3. Click the "Always Allow" button.
  4. Attempt to run the exact same command via the agent again.
  5. Observed: The system prompts for approval again.
  6. Check ~/.openclaw/exec-approvals.json, the command is missing from the allowlist.

Expected behavior

When a user clicks "Always Allow":

  • The system should attempt to resolve the absolute path of the command (e.g., equivalent to which <command>) and persist the resolved absolute path to the allowlist.

Actual behavior

"Always Allow" fails silently and behaving exactly like "Allow once" without any warning or feedback to user

OpenClaw version

2026.3.8 (3caab92)

Operating system

Ubuntu 24.04

Install method

npm global

Model

gemini-3-pro

Provider / routing chain

openclaw -> apikey

Config file / key location

No response

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingbug:behaviorIncorrect behavior without a crash

    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