[Windows + WSL] Regaining focus repeatedly reconciles bundled plugins and uses an invalid C:\mnt\c path, causing severe lag

Open 💬 2 comments Opened Jul 17, 2026 by evanlumen

What version of the Codex App are you using (From “About Codex” dialog)?

26.707.12708.0 x64

What subscription do you have?

ChatGPT Pro

What platform is your computer?

  • Microsoft Windows NT 10.0.26200.0 x64
  • WSL 2.6.3.0
  • Ubuntu 22.04 under WSL2
  • Codex agent configured to run in WSL
  • Integrated terminal configured to use WSL

What issue are you seeing?

When the Windows Codex desktop app is configured to run the Codex agent in WSL, every time the Codex window regains focus it starts bundled plugin reconciliation.

During reconciliation, Codex handles the bundled marketplace and Chrome extension/native host. It attempts to convert a valid WSL path such as:

/mnt/c/Users/REDACTED/.codex/plugins/cache/openai-bundled/chrome/26.707.91948

into this invalid Windows path:

C:\mnt\c\Users\REDACTED\.codex\plugins\cache\openai-bundled\chrome\26.707.91948

The operation fails with ENOENT after approximately 15–20 seconds.

During this period, the Codex UI and sometimes the whole Windows desktop become noticeably sluggish. Mouse movement stutters, keyboard input can be delayed, and switching conversations can feel much slower than normal.

The issue reproduced repeatedly in the same app session:

00:51:54.774Z bundled_plugins_reconcile_started reason=focus
00:52:09.642Z bundled_plugins_marketplace_install_failed errorCode=ENOENT
00:52:11.068Z bundled_plugins_reconcile_failed reason=focus

01:17:18.250Z bundled_plugins_reconcile_started reason=focus
01:17:36.893Z bundled_plugins_marketplace_install_failed errorCode=ENOENT
01:17:38.337Z bundled_plugins_reconcile_failed reason=focus

These UTC timestamps correspond to approximately 08:52 and 09:17 local time (UTC+8). In the inspected session, 14 focus-triggered reconciliation attempts were recorded and all 14 failed.

A representative redacted error is:

errorCode=ENOENT
errorMessage="ENOENT: no such file or directory, access 'C:\\mnt\\c\\Users\\REDACTED\\.codex\\plugins\\cache\\openai-bundled\\chrome\\26.707.91948'"
installedPluginStatus=current
installPhase=reconcile_chrome_native_host
platformFamily=unix
pluginName=chrome

The actual cache directory exists and is readable at the WSL path. Only the converted C:\mnt\c\... path is invalid.

WSL2 and its Ubuntu filesystem appear healthy. Switching the Codex agent back to Windows native/PowerShell avoids this mixed-path failure.

What steps can reproduce the bug?

  1. Install the Codex desktop app on Windows x64.
  2. Configure the Codex agent to run in WSL and restart the app.
  3. Keep the normal Codex home directory at %USERPROFILE%\.codex.
  4. Install or enable the bundled Chrome plugin.
  5. Switch from Codex to any other Windows application.
  6. Switch back to Codex.
  7. Observe severe UI/input lag for approximately 15–20 seconds.
  8. Inspect the Codex desktop log and find bundled_plugins_reconcile_started reason=focus, followed by ENOENT for C:\mnt\c\Users\... and bundled_plugins_reconcile_failed.

The failure reproduced 14 out of 14 times in the inspected session.

What is the expected behavior?

Returning focus to Codex should not repeatedly reinstall or reconcile bundled plugins when their versions are already current.

If reconciliation is necessary, WSL paths should be converted into valid Windows paths such as C:\Users\REDACTED\..., and the operation should not block the desktop UI or cause mouse and keyboard lag.

Additional information

  • The bundled marketplace target contained approximately 58 MB and 457 files.
  • The cached Chrome plugin version was 26.707.91948.
  • The log reported installedPluginStatus=current and chromeExtensionSyncAction=keep_installed, but still continued into the failing native-host reconciliation.
  • runCodexInWindowsSubsystemForLinux = true
  • integratedTerminalShell = "wsl"
  • No raw logs, session files, crash dumps, local usernames, conversation content, or unrelated application names are attached because they may contain sensitive information.
  • Redacted diagnostic information can be provided if requested.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗