Skip to content

[Windows][Desktop] Local Work fix is invalidated by app/plugin updates because cua_repl cwd is stored in versioned plugin cache #48534

Open

Description

@Komatoz1337

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:

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

  1. Use a ChatGPT Project with Work → Local on Windows.
  2. Attempt to create a new local Work chat.
  3. The UI reports:
    Could not use this project for a local chat.
  4. Desktop logs contain:
    ChatGPT project context sync failed ... stage=filesystem ... projectSaveCount=0.
  5. Process inspection shows node_repl.exe and the computer-use/CUA helper running.
  6. Apply stable working directories for both helpers as described below.
  7. Restart the app and create a new Local Work chat.
  8. The workflow works again.
  9. Install a later ChatGPT/Codex Desktop update.
  10. A new versioned directory appears under:
    %USERPROFILE%\.codex\plugins\cache\openai-bundled\unified-computer-use\<new-version>\
  11. The new .mcp.json has no cwd for mcpServers.cua_repl.
  12. The original Local Work failure returns.
  13. Reapplying the cua_repl.cwd patch 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:

  1. Give all built-in helper processes a stable app-managed cwd outside .chatgpt-projects.
  2. Do not regenerate node_repl / CUA configuration in a way that loses a valid supported cwd override.
  3. When installing a new unified-computer-use version, preserve or regenerate the safe cwd automatically.
  4. 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

  1. added
    bugSomething isn't working
    appIssues related to the Codex desktop app
    windows-osIssues related to Codex on Windows systems
    mcpIssues related to the use of model context protocol (MCP) servers
    skillsIssues related to skills
    configIssues involving config.toml, config keys, config merging, or config updates
    on Sep 26, 2026
  2. github-actions commented on Sep 26, 2026

    @github-actions
    Contributor

    Potential duplicates detected. Please review them and close your issue if it is a duplicate.

    Powered by Codex Action

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't workingcomputer-useconfigIssues involving config.toml, config keys, config merging, or config updatesmcpIssues related to the use of model context protocol (MCP) serversskillsIssues related to skillswindows-osIssues related to Codex on Windows systems

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions