Repository navigation
[Windows][Desktop] Local Work fix is invalidated by app/plugin updates because cua_repl cwd is stored in versioned plugin cache #48534
Description
Summary
Local Work inside an existing ChatGPT Project fails on Windows with:
Could not use this project for a local chat
and desktop logs show:
ChatGPT project context sync failed ... stage=filesystem ... projectSaveCount=0
The underlying helper-working-directory lock is already documented in #44736. This report adds a repeated longitudinal observation: the known working-directory workaround restores Local Work successfully, but subsequent Codex/ChatGPT Desktop updates recreate the versioned unified-computer-use plugin cache without the custom cua_repl.cwd. The same filesystem failure then returns.
In this environment, the workaround has restored Local Work approximately four separate times, and the bug has returned after updating the desktop app/plugin.
Related:
- Windows: ChatGPT project prewarming locks local mirrors; startup erases node_repl cwd workaround #44736 — diagnosed project-mirror lock and working workaround
- Windows ChatGPT Work: “Could not use this project for a local chat” — project context sync repeatedly fails at filesystem stage #42215 — project context sync repeatedly fails at filesystem stage
- Recurring Windows desktop folder locks prevent local Work chats #48471 — recent report of recurring Windows desktop folder locks
Environment
- Windows x64
- ChatGPT / Codex Windows Desktop
- Initial captured package while diagnosing:
OpenAI.Codex_26.915.4065.0 - Captured unified-computer-use plugin version at that time:
26.915.31945 - Local project mirrors:
C:\Users\<user>\.codex\.chatgpt-projects\<project-id>
The same symptom has recurred after multiple later desktop/plugin updates.
Reproduction
- Use a ChatGPT Project with Work → Local on Windows.
- Attempt to create a new local Work chat.
- The UI reports:
Could not use this project for a local chat. - Desktop logs contain:
ChatGPT project context sync failed ... stage=filesystem ... projectSaveCount=0. - Process inspection shows
node_repl.exeand the computer-use/CUA helper running. - Apply stable working directories for both helpers as described below.
- Restart the app and create a new Local Work chat.
- The workflow works again.
- Install a later ChatGPT/Codex Desktop update.
- A new versioned directory appears under:
%USERPROFILE%\.codex\plugins\cache\openai-bundled\unified-computer-use\<new-version>\ - The new
.mcp.jsonhas nocwdformcpServers.cua_repl. - The original Local Work failure returns.
- Reapplying the
cua_repl.cwdpatch to the newest plugin manifest restores the workflow again.
This cycle has been observed repeatedly.
Confirmed working workaround
1. Keep node_repl outside the synchronized project mirror
Create a stable directory such as:
C:\Users\<user>\Documents\Codex\mcp\server-workdirs\node_repl
Use a shared project config at:
C:\Users\<user>\.codex\.chatgpt-projects\.codex\config.toml
with:
[mcp_servers.node_repl]
cwd = 'C:\Users\<user>\Documents\Codex\mcp\server-workdirs\node_repl'Create:
C:\Users\<user>\.codex\.chatgpt-projects\.chatgpt-projects-root
and make the shared project config discoverable/trusted in the user's global config:
project_root_markers = [".git", ".chatgpt-projects-root"]
[projects.'c:\users\<user>\.codex\.chatgpt-projects']
trust_level = 'trusted'This is required because the desktop may regenerate/replace the normal global mcp_servers.node_repl table.
2. Keep cua_repl outside the synchronized project mirror
Create a stable directory such as:
C:\Users\<user>\Documents\Codex\mcp\server-workdirs\cua_repl
Patch the newest:
%USERPROFILE%\.codex\plugins\cache\openai-bundled\unified-computer-use\<version>\.mcp.json
so that:
{
"mcpServers": {
"cua_repl": {
"...": "...",
"cwd": "C:\\Users\\<user>\\Documents\\Codex\\mcp\\server-workdirs\\cua_repl"
}
}
}After terminating stale helper processes and restarting the desktop app, new Local Work chats can be created normally again.
Evidence from the failing state
A captured failing session repeatedly logged:
2026-09-21T14:42:04.922Z error [electron-message-handler]
ChatGPT project context sync failed
fileOrdinal=null
projectSaveCount=0
sourceCount=0
stage=filesystem
status=null
syncFileCount=0
At the same time, the active process tree included:
codex.exe
codex-computer-use-swift.exe
node_repl.exe
node_repl.exe
The plugin manifest before applying the workaround contained a configured cua_repl server but no cwd.
After adding the stable CUA working directory, verification showed:
cwd : C:\Users\<user>\Documents\Codex\mcp\server-workdirs\cua_repl
enabled : True
and the user confirmed that Local Work started working again.
Update-specific regression
The key additional observation is that the CUA workaround is not durable across app/plugin updates.
unified-computer-use is stored under a versioned cache directory. A desktop update installs a new versioned directory with a newly generated .mcp.json. The previous patched manifest remains in the old version directory, while the newly active manifest again lacks cua_repl.cwd.
Therefore a desktop update can reliably recreate the original project-mirror lock even though the user had already repaired the configuration.
Expected behavior
- Built-in helpers should never use a synchronized ChatGPT Project mirror as their current working directory when the desktop needs to rename/replace that mirror.
- The app should assign safe stable working directories to
node_repl,cua_repl, and other built-in helpers itself. - Supported helper working-directory settings should survive app startup and plugin/app updates.
- Updating the desktop app should not reintroduce a previously repaired Local Work failure.
- Project synchronization should tolerate or avoid its own background helper processes on Windows.
Suggested permanent fix
Prefer an application-owned solution rather than requiring user config surgery:
- Give all built-in helper processes a stable app-managed cwd outside
.chatgpt-projects. - Do not regenerate
node_repl/ CUA configuration in a way that loses a valid supported cwd override. - When installing a new
unified-computer-useversion, preserve or regenerate the safe cwd automatically. - Add Windows regression coverage:
- new Local Work chat in an existing ChatGPT Project;
- node_repl and CUA active;
- successive Local Work chats;
- app restart;
- desktop/plugin update to a new versioned cache directory.
The current workaround is effective, but it should not need to be re-applied after every update.
Activity
github-actions commentedon Sep 26, 2026
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action