Full access selection still starts sessions with workspace-write sandbox
What version of the Codex App are you using (From “About Codex” dialog)?
Version 26.616.51431
Note: the app bundle was not visible to the agent under /Applications/Codex.app, so this version is taken from the active Codex app/tool metadata for the affected session.
What subscription do you have?
Not exposed to the agent runtime. The reporter can update this with the exact plan if needed.
What platform is your computer?
Darwin 25.5.0 arm64 arm
What issue are you seeing?
After selecting Full access in the Codex app permissions/access selector, new/local sessions still appear to be launched with an effective sandbox configuration of workspace-write, not full unrestricted access.
In the affected session, the runtime metadata exposed to the agent showed:
sandbox_mode: workspace-write
approval_policy: never
writable_roots:
- /Volumes/MacSSD/Development/CursorAI_Project/App-1
- /Volumes/MacSSD/tmp
- /private/tmp
This was surprising because the UI access selection had been set to Full access. The agent therefore kept reporting that it was operating inside a sandbox, and some operations behaved as sandboxed even inside the selected workspace.
One concrete symptom was a Git metadata write failing while trying to update the local index under the workspace:
fatal: Unable to create '<workspace>/.git/index.lock': Operation not permitted
The workspace files themselves were readable and writable, but the effective permissions did not match the user's selected Full access mode.
What steps can reproduce the bug?
- Open the Codex app on macOS.
- Open a local project/workspace.
- In the permissions/access selector under the composer, select Full access.
- Start a new thread or side conversation in that project.
- Ask Codex to inspect or report the effective runtime permissions/sandbox state, or run an operation that writes Git metadata such as updating the index.
- Observe that the agent reports
workspace-write/ sandboxed permissions instead ofdanger-full-access, and Git metadata writes may fail withOperation not permitted.
Expected session details that are relevant:
Expected full access: sandbox_mode = danger-full-access, approval_policy = never
Observed effective access: sandbox_mode = workspace-write, approval_policy = never
What is the expected behavior?
When the user selects Full access, the effective runtime for new local sessions should match the documented full-access behavior, i.e. sandbox_mode = "danger-full-access" with approval_policy = "never", unless an organization or config policy is overriding it.
If a repo/user/org config or managed requirement forces workspace-write, the app should make that explicit in the UI so the visible selector does not imply Full access while the agent is actually sandboxed.
Additional information
The behavior seems recent. The user reports that they did not see Codex repeatedly mention the sandbox environment in earlier sessions after selecting Full access.
Possible areas to check:
- Whether the Codex app UI selection is being applied to side conversations and newly created threads.
- Whether project/user/team config is overriding the app selector without surfacing that in the UI.
- Whether permission profiles and legacy
sandbox_modesettings are interacting unexpectedly. - Whether
.gitpaths inside the current workspace root are being protected differently from ordinary workspace files inworkspace-writemode.
I searched the open issue list for the exact Full access / workspace-write / danger-full-access mismatch before filing and did not find an exact duplicate. There are recent sandbox-related Codex App issues, but they appear to describe different Windows/WSL symptoms rather than this macOS Full access selector mismatch.
3 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Adding another reproduction from the Codex Desktop app on macOS.
Environment:
Observed behavior:
workspace-writewith the workspace root writable but.gittreated as read-only, so ordinary workspace edits were possible butgit addcould not write.git/index.lock..gitsucceeded in that fresh side conversation, and.git/index.lockwas not present. So this does not look like a macOS file ownership issue or a stale lock file. It looks like a Codex Desktop permission-state / session-resume mismatch: the UI can show Full access, while the affected agent turn is still running with a restricted sandbox snapshot where Git metadata is blocked.Expected behavior:
If the UI says Full access for a local project, resumed threads and side conversations should get the same effective
danger-full-accesspermissions, or the UI should clearly show that an older/restricted sandbox snapshot is still active for that turn.Privacy note: I have intentionally replaced the local user and repo path with
<workspace>because this is a public issue. I can provide more exact session details through a private/support channel if useful.Adding bounded macOS Desktop evidence from a public, sanitized investigation: https://github.com/briancl2/build-meta-analysis/issues/1559#issuecomment-5207186363
In one fresh-parent transfer, five fresh visible destinations resolved to
approval_policy=on-request/sandbox_mode=workspace-writewhile the source task and local configured/default state werenever/danger-full-access. Sanitizedturn_contextevidence places the first observed divergence in the Desktop/high-level fresh-task request assembly: app-server resolved the explicit restrictive fields it received.Controls in the same episode matter:
never/danger-full-access;That falsifies a config-only, app-server-only, model-only, and universal-fresh-task explanation for this bounded case. It supports an atomic activation contract plus a requested/resolved permission receipt with provenance/revision, before the first model/tool action.
Claim ceiling: one macOS Desktop transfer/build family; no all-host recurrence rate or internal code-location claim.