Skip to content

Auto-review reviewer state is not shown with a custom permission profile #38337

Open

Description

@davidkneubuehler

What version of the Codex App are you using (From “About Codex” dialog)?

26.803.61601

What subscription do you have?

plus

What platform is your computer?

Darwin 25.6.0 arm64 arm

What issue are you seeing?

The permissions menu combines reviewer selection with permission-profile selection, but it displays only the custom permission profile as active.

With default_permissions = "personal-workspace", selecting either Approve for me or Ask for approval changes the effective reviewer correctly. However, the composer pill and menu checkmark continue to show only personal-workspace. There is no visible indication whether Auto-review is currently on or off before submitting a task.

This makes unattended execution difficult to use safely because the user cannot verify who will review sandbox escalations.

What steps can reproduce the bug?

  1. Configure approval_policy = "on-request", approvals_reviewer = "user", and default_permissions = "personal-workspace".
  2. Define personal-workspace as a named permission profile extending :workspace.
  3. In the desktop composer permissions menu, select Approve for me.
  4. Reopen the menu. The effective reviewer is Auto-review, but the only checkmark and composer pill still show personal-workspace.
  5. Select Ask for approval.
  6. Reopen the menu. The effective reviewer is now the user, but the UI is visually unchanged and still shows only personal-workspace.
  7. Repeat the two selections. Runtime behavior switches correctly, but the GUI provides no reviewer-state indication.

What is the expected behavior?

The UI should show the permission profile and approval reviewer as two independent active settings, or use a combined label that clearly indicates both.

For example:

  • personal-workspace · Ask for approval
  • personal-workspace · Approve for me

The user must be able to verify whether Auto-review is active before submitting a task without changing or replacing the selected custom sandbox profile.

Additional information

The global default is intentionally approvals_reviewer = "user". Auto-review is selected only for individual unattended tasks.

The reviewer switching itself works: tasks alternately arrived with user review and Auto-review according to the selected menu action. The problem is the missing visual state.

Permission profiles cannot solve this because they define filesystem/network boundaries and do not support a per-profile approvals_reviewer field.

Activity

  1. added
    bugSomething isn't working
    sandboxIssues related to permissions or sandboxing
    on Aug 13, 2026
  2. reika-uharu commented on Sep 20, 2026

    @reika-uharu

    Still reproducible on macOS with Codex Desktop 26.915.31945.

    A named permission profile preserves a hidden, history-dependent reviewer state:

    • Approve for me → named profile: auto_review remains active
    • Custom (approvals_reviewer = "user") → named profile: user remains active

    The same named-profile label therefore represents different effective approval authorities depending on the previously selected mode. The hidden reviewer state also persists into newly created tasks.

    I confirmed the effective values through separate tasks’ injected permission context.

    This caused an unintended permission incident: an out-of-workspace write was approved by Auto-review when I expected a user approval prompt. The UI showed only the named profile, while my config.toml specified approvals_reviewer = "user".

    I am not attaching the affected session logs for privacy reasons.

  3. atl-mk commented on Oct 15, 2026

    @atl-mk

    I believe I'm running into something similar. The following are configured:

    • allowed_approval_policies
    • allowed_sandbox_modes
    • allowed_web_search_modes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't workingsandboxIssues related to permissions or sandboxing

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions