[Windows Desktop] Duplicate resolved project root blocks all local project create/delete operations
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
Summary
On Codex Desktop for Windows, one legacy local project that contains the same NAS folder through two mapped drive aliases causes the entire local project migration to abort. After that, every local project create and delete action fails with only a generic toast.
Environment
- Windows 11 Home, version 10.0.26200 (build 26200)
- Codex Desktop: 26.825.6671.0
- Bundled local app-server: 0.151.0-alpha.7.2
Reproduction
- Map one NAS/UNC share to two Windows drive letters, for example
X:andZ:. - A legacy local project ends up with both aliases in
rootPaths, pointing to the same resolved folder:X:\<NAS share>\<same project>Z:\<NAS share>\<same project>
- Restart Codex Desktop.
- Try creating any local project: the UI shows
Unable to create project. - Try removing any existing local project: the UI shows
Failed to remove <project>.
Actual result
Startup logs contain:
[host-app-server-projects] Local app-server project migration failed
errorMessage="duplicate resolved project root: X:\\<NAS share>\\<same project>"
The migration failure blocks the whole local-project index. UI create/delete actions fail before a project/create or project/delete request reaches the local app-server.
Expected result
A duplicate resolved root should be de-duplicated, rejected only for the affected project, or surfaced with a repair action. It should not globally disable create/delete for every local project.
Impact
Severe: the user cannot add projects or remove stale projects, which directly blocks normal desktop work.
Verified workaround
With Codex fully closed, back up .codex-global-state.json, retain one mapped-drive alias for the affected legacy project, remove the duplicate alias, and atomically replace the state file. After restart, verify both project listing and a temporary create/delete cycle.
Privacy note
Project names, account information, and the NAS path are intentionally redacted. Full local logs and screenshots can be supplied privately if requested.
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 local project migration during startup, then the project/create and project/delete entry points that fail before reaching the local app-server. Reproduce the duplicate resolved roots using two mapped-drive aliases and inspect .codex-global-state.json. Done means the affected duplicate is handled without disabling unrelated local project operations, with listing and a create/delete cycle verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100