[Regression][Desktop 26.818 / CLI 0.149] Resumed thread restores deleted pre-rename workspace root
What version of the Codex App are you using (From “About Codex” dialog)?
Version 26.818.41509
What subscription do you have?
Plus
What platform is your computer?
macOS 15.7.7 (24G720)
What issue are you seeing?
A long-running Codex Desktop thread restores an obsolete workspace root after the repository folder was renamed and the project’s primary source folder was updated.
Old path:
~/Library/CloudStorage/Dropbox/CODING PRODUCTION/AleksTape
Current path:
~/Library/CloudStorage/Dropbox/CODING PRODUCTION/VST Development/ALXTape
The thread continued working normally for approximately two to three weeks after the rename. The failure appeared only after updating to Desktop 26.818.41509, bundled Codex CLI 0.149.0-alpha.4.1.
The project settings correctly show the new path, but the resumed thread restores the deleted old path as its writable workspace root. Commands can read the repository when given the new path explicitly, but apply_patch cannot edit it.
Selecting Full Access also did not update the effective thread environment: the next turn still received a managed workspace-write profile containing only the old path.
What steps can reproduce the bug?
- Create a Codex Desktop project and thread while a repository is located at path A.
- Rename or move the repository to path B.
- Update the project’s primary source folder in Codex Desktop to path B.
- Continue using the existing thread after the rename.
- Update Codex Desktop to 26.818.41509 and resume the existing thread.
- Ask Codex to modify a file under path B.
- Observe that the thread restores path A as its writable workspace root.
- Select Full Access and send another turn.
- Observe that the thread still receives the old managed workspace-write profile.
- The exact update boundary may be relevant: this thread worked after the rename until the recent update.
What is the expected behavior?
When an existing thread is resumed, Codex should reconcile its saved workspace root with the project’s current primary source folder.
If the stored root no longer exists, Codex should prompt the user to locate or rebind the moved repository.
A permission mode explicitly selected by the user, including Full Access, should also become the effective permission state for the next turn rather than being replaced by stale per-thread settings.
The thread history should remain usable without recreating the old path, editing internal Codex state, or starting a new thread.
Additional information
The repository at the new path exists, is recognized correctly by Git, and has a clean working tree. The old path no longer exists. No repository files were modified while diagnosing the problem.
This may relate to Codex CLI 0.149.0 changing resumed and forked threads to restore their active permission profile instead of falling back to current defaults:
https://github.com/openai/codex/pull/39153
Related reports:
• https://github.com/openai/codex/issues/20934
• https://github.com/openai/codex/issues/15347
• https://github.com/openai/codex/issues/22075
• https://github.com/openai/codex/issues/33886
The relationship to PR #39153 is suspected from the timing and observed state; it has not been confirmed as the root cause.
2 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
I reviewed the automatically suggested duplicates.
#39780 is related because both cases involve an invalid workspace root during task resume. However, the reproduction and suspected regression are different:
In my case, the project’s primary source folder had already been updated to the valid new path.
The existing thread continued working for approximately two to three weeks after the folder move.
The stale root was restored only after updating to Desktop 26.818.41509 / bundled CLI 0.149.0-alpha.4.1.
The restored value is also used as the managed writable root, preventing edits to the correctly configured project.
Selecting Full Access did not replace the stale per-thread permission profile.
#38992 concerns a Windows/Microsoft Access permission error and incorrect model diagnosis, so it does not appear to share this reproduction.
I am therefore leaving this issue open as an update-specific resume/permission-profile regression, while treating #39780 as related.