[Desktop] After restart, Full Access session occasionally reverts to per-action approval and cannot be recovered — breaks long autonomous agent runs
What version of the Codex App are you using?
ChatGPT Desktop (macOS), "Powered by Codex & OWL", Version 26.715.52143 (Released Jul 20, 2026)
What subscription do you have?
ChatGPT Pro ($200/month plan)
What platform is your computer?
Apple M2 MacBook, macOS 14.8.5 (Build 23J423)
What issue are you seeing?
After fully quitting and relaunching ChatGPT Desktop, there is a chance that a session previously set to Full Access comes back with its permission level reverted to Ask for approval, and from that point the session's permission level is stuck — no matter what I do in the UI (switching to another level and back to Full Access, using /permissions, etc.), I cannot switch it back to Full Access. As a result, in that session the agent asks for manual approval on every single action, so it can no longer work fully autonomously for long stretches — which is exactly the workflow I enabled Full Access for in the first place.
Once a session enters this state it cannot be recovered; I have to manually save the context/progress, start a new session, and re-grant Full Access. This has happened several times across recent versions. It tends to occur with long-running tasks, but I have not found a deterministic reproduction.
Steps to reproduce
- In ChatGPT Desktop, set a Codex session to Full Access and let it run autonomously for a while.
- Fully quit the app (Cmd+Q) and relaunch it.
- Reopen the same Full Access session.
- (Triggered with some probability) The permission level now shows Ask for approval, and the agent starts requesting manual approval for every command / file change.
- Try switching the permission to another level and back to Full Access, or use
/permissions— none of these switch it back to Full Access; the session stays at the approval-required level. - Only starting a new session and re-granting Full Access restores normal behavior; the old session cannot be recovered.
Note: non-deterministic, intermittent; no stable reproduction found; observed more often with long-running tasks.
Expected behavior
- After restart, the previously granted permission level (Full Access) should be preserved.
- Even if it reverts, it should be possible to switch the permission back to Full Access within the same session and have it take effect immediately, rather than the level being stuck.
Actual behavior
- After restart, the session's permission level reverts to Ask for approval.
- The session's permission level is stuck and cannot be switched back to Full Access, so the agent cannot run autonomously for long periods; the session must be abandoned and a new one started.
Workarounds attempted (none worked for the affected session; only a new session works)
- Switching the permission to another level and back to Full Access in the UI
- Using
/permissionsto reset
Additional context / Related issues
Parts of this are covered by existing issues, but none of them captures the full combination seen here — "triggered by restart" + "the session's permission level is stuck and cannot be switched back to Full Access" — and none reports it on the current version:
- #24036 — global permission mode resets to Default after restart, but there the user can still change it back per-session. My case: the per-session level is stuck and cannot be switched back to Full Access.
- #19006 — the permissions button gets stuck in a frozen state and the level cannot be changed. Similar "cannot change" symptom, but not tied to a restart trigger, and the control is fully uninteractable.
- #33114 — upgrading to Full Access does not take effect during an active session. Similar "change does not apply", but about upgrading mid-session, not a restart-triggered revert.
- #28988 / #23393 — Full Access still repeatedly asks for permission. Similar "asks for approval", but those are usually recoverable by toggling.
Local info
- Earliest version where I noticed this: not recorded
- Thread id of an affected session: not retained
5 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Thanks for the triage. The bot flagged #33886 as a potential duplicate — I read it and it does look like the same root cause: a long-running Goal/thread gets its permission reverted from Full Access to on-request and then can't be switched back, on the same
26.715.xDesktop version family.The difference is the trigger:
Since most users never switch accounts but everyone restarts, I think the restart-only path is worth tracking on its own — but happy to merge/close and follow under #33886 if the maintainers prefer.
One caveat on my end: I don't have the
ThreadSettingswriteback telemetry or a thread id for an affected session (unlike #33886's detailed timeline).I found a concrete affected thread and inspected its local rollout plus Desktop logs.
Affected thread
019f5f3c-5a5f-7720-b8ec-f3cf5377ae2fEnvironment:
26.715.52143(build5591)0.145.0-alpha.18auth.jsonhad not changed since July 13, and the July 21 Desktop log contains no account-switch/login/logout event.Timeline
All timestamps below are Asia/Singapore on 2026-07-21.
The current persisted heartbeat state for this thread is also:
The last successful
thread_settings_appliedevent before this restart was still Full Access (never+:danger-full-access). I found no successful Full Access settings writeback for this thread after the restart.An additional signal is the split state at 10:16: the older interrupted Goal turn retained
never/danger-full-access, while the Desktop's persisted per-thread state remainedon-request/workspaceWrite. This looks consistent with stale or missing permission state across the thread/Goal resume boundary, similar to the state divergence described in #33886.One limitation: the available logs do not contain click-level telemetry, so they cannot prove whether a particular Full Access UI toggle was attempted and dropped. They do confirm the restart-triggered Full Access → on-request transition, the resulting repeated approvals, and the restricted state persisting across subsequent resumes.
I can reproduce the same permission-state divergence on Windows, with a newer Desktop build, and with an abnormal/interrupted long-running turn as the trigger (no account switch required).
Environment
26.721.410590.146.0-alpha.3.1019fb7b4-9b3d-7910-845b-e0fa85951f00Local rollout evidence
The affected thread ran with Full Access for many hours. The last snapshots before the abnormal interruption were:
There is no subsequent
task_completeorturn_abortedevent for that turn. When the same thread was continued later, Desktop applied restricted settings:After manually selecting Full Access again, the log changed back at
00:45:15toapproval_policy=neverwith the disabled/unrestricted legacy profile.This extends the report in two ways:
26.721.41059.As a local mitigation I changed the persistent Codex config to the current permission-profile form:
and removed the legacy
sandbox_modekey because the current permissions documentation says not to mixdefault_permissionswith the older sandbox settings. This validates withcodex --strict-config, but it cannot repair the already-diverged per-thread state, so the resume/writeback path still appears to need a product fix.I have this. This is what agent told me to do:
It worked.