Windows Desktop: no visible human-approval prompt for require_escalated read; execution reports CodexSandboxOffline
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What version of the Codex App are you using (From “About Codex” dialog)?
Previously user-reported Windows desktop version: 26.901.6511.0. This is historical, not a fresh About-dialog verification. A recent process FileVersion/ProductVersion query returned empty fields, so the current desktop version remains unverified.
The separately installed executable reports codex-cli 0.151.0 (codex.exe --version, exit 0). That does not establish the desktop runtime version.
What subscription do you have?
Personal ChatGPT account (user-reported); subscription tier not established in this diagnostic.
What platform is your computer?
Windows, using PowerShell. Exact Windows build is not included.
What issue are you seeing?
Selecting Ask for approval is reflected in retained task context, but the user reported no visible approval card for an explicitly escalated, read-only Git request. The command started, yet Git identified its executing account as CodexSandboxOffline and rejected repository ownership.
There are three observations; a shared cause has not been established:
- Before the mode change, a bounded read-only Git request and one identical retry returned automatic permission-review deadline timeouts. No command output or running command-session identifier was returned.
- After selecting Ask for approval, retained context changed from
approvals_reviewer=auto_reviewtoapprovals_reviewer=user. It recorded:
Anapproval_policy=on-request approvals_reviewer=user sandbox_policy.type=workspace-write network_access=falseexec_commandrequest withsandbox_permissions="require_escalated"and an explicit approval question then ran, but returned Git'sfatal: detected dubious ownership in repositoryerror (exit 1). Git reported the repository owner as the desktop user and the executing identity asCodexSandboxOffline. The user explicitly reported that no approval card appeared. The agent did not independently observe the UI or a human approval event. - Two in-app feedback attempts displayed Feedback upload not confirmed. The dialog warned that the report might already have arrived, so both receipts remain unknown. We have no evidence that changing diagnostic/browser-log checkboxes would fix delivery.
What steps can reproduce the bug?
This is the observed workflow in an existing affected task, not a clean-profile reproduction. No new execution attempt was made for this issue.
- In the Windows desktop app, select Ask for approval.
- Confirm that the next retained task context records
on-requestand revieweruser. - Request the following read-only command through
exec_command, orchestrated byfunctions.exec, withsandbox_permissions="require_escalated"and a human-readable approval question:
These placeholders redact identifying local paths. The command does not write files, change Git state, use the network, install packages, or delete anything.& '<GIT_EXE>' --no-optional-locks -C '<EXISTING_TASK_WORKTREE>' rev-parse --show-toplevel --git-common-dir HEAD - Observe the ownership rejection described above and the user's report that no prompt appeared.
What is the expected behavior?
Please identify the actual approval and execution decision:
- Was an approval request created and delivered to the desktop UI?
- If no prompt was required, which policy/rule/previous approval authorized execution?
- Did the tool/orchestration bridge preserve
require_escalatedthrough to the Windows executor, and why was the sandbox account used? - What is the supported path for an allowed, approved, non-mutating read of an owner-held worktree without changing repository trust or ownership?
- Are the auto-review timeouts and unconfirmed feedback receipts separate issues?
This is not a request for unrestricted access or to override a policy denial.
Additional information
Rule-check limits: The supported codex execpolicy check against user-layer default.rules, for the exact direct Git argv, returned exit 0 and {"matchedRules":[]}. A separate inspection of 27 user-layer prefix rules found no literal match for that direct argv. The actual shell-wrapper argv and other effective policy layers were not conclusively established; we are not claiming that all possible cached/rule approvals were excluded.
Saved versus active configuration: Saved user defaults still recorded approval_policy="never", approvals_reviewer="auto_review", and a custom named permissions profile. Active task values were the human-review values above. The task also describes its permission profile as managed; this does not establish an organization account or identify the source of the policy. These differences are observations, not asserted causes.
Related reports inspected: #41161 concerns approved commands remaining sandboxed in the CLI, with Desktop reportedly working; this observation is in Desktop with human review and no observed prompt. #37187 describes interruption-related desktop sandbox identity problems, but its trigger and full-access configuration were not reproduced here. #43436 contains the same unconfirmed-feedback message while reporting a different browser restriction. These links do not establish a common cause.
Safety and privacy: A separate dependency cleanup was explicitly denied and was not retried through another channel. No ACL, ownership, safe.directory, or security-policy weakening was used. No private repository source or name, actual local paths, credentials, Windows SID, machine name, session/task ID, full configuration, browser logs, or raw diagnostic logs are attached. Private correlation details are retained locally and can be considered through an appropriate support channel after review.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the functions.exec and exec_command path for sandbox_permissions="require_escalated", then compare it with the supported codex execpolicy check and user-layer default.rules behavior. Establish whether an approval request reaches the Windows desktop UI and whether the executor preserves the requested permission and identity. Done means explaining the sandbox identity and separating the approval, timeout, and feedback-receipt observations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, powershell, rust
- Domain
- cli, desktop, security
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100