Desktop app: review & edit a thread's granted command-approval rules

Open 💬 0 comments Opened Jun 9, 2026 by MiquelRForgeFlow

What variant of Codex are you using?

App

What feature would you like to see?

What I'm trying to do

When the agent asks for permission to run a command in the desktop app, I sometimes
answer "Yes, and don't ask again for commands starting with …". This persists an
allow rule. But the desktop app currently offers no way to review, audit, or remove
the approval rules I've already granted
. Once I approve a prefix, I can't undo it
from the UI — I either have to remember every rule I ever approved, or hand-edit
~/.codex/rules/default.rules outside the app.

Why it matters

  • I lose track of which prefixes I've auto-approved over time.
  • If I approve something too broad by accident (e.g. a git or rm-adjacent prefix),

there's no in-app way to walk it back.

  • It's a trust/safety gap: granting is one click, revoking requires leaving the app

and editing a config file by hand.

Proposed feature

A simple "Permissions" / "Approved commands" panel in the desktop app that lets me:

  • List the currently active command-approval prefix rules.
  • Remove individual rules.
  • Ideally, show which scope a rule has (persistent global rule vs. session-only),

since today "don't ask again for prefix X" writes a global rule
(prefix_rule(pattern=[...], decision="allow") in ~/.codex/rules/default.rules)
while session approvals live only in memory — and that distinction isn't visible
in the UI.

Notes from the open-source side

The persistence already lives in the open-source engine:

  • Rules are written to ~/.codex/rules/default.rules

(codex-rs/core/src/exec_policy.rs, default_policy_path
codex-rs/execpolicy/src/amend.rs, blocking_append_allow_prefix_rule).

  • The app talks to the engine via the app-server JSON-RPC protocol, which has a

method registry in codex-rs/app-server-protocol/src/protocol/common.rs
(e.g. permissionProfile/list), but there's currently no method to
list/remove these exec-policy rules.

So this likely needs (a) new app-server methods such as execPolicy/rules/list
and execPolicy/rules/remove, plus (b) the corresponding UI in the (closed-source)
desktop app.

Workaround today

Editing ~/.codex/rules/default.rules by hand works, but it's global (not per-thread)
and not discoverable for most users.

Additional information

_No response_

View original on GitHub ↗