[Windows][26.810.6296.0] Electron main process busy loop causes system-wide mouse stutter; full exit fixes it
What version of the Codex App are you using?
26.810.6296.0 (Microsoft Store package: OpenAI.Codex_26.810.6296.0_x64__2p2nqsd0c76g0)
The regression appeared immediately after updating to this build.
What platform are you using?
- Windows 11 Home, x64
- OS version/build:
10.0.26200/26200 - 16 logical processors
- 63.4 GB RAM
- NVIDIA GeForce RTX 5090 Laptop GPU, driver
32.0.16.1088 - GameViewer Virtual Display Adapter is also present
What issue are you seeing?
After the latest Codex desktop update, keeping Codex open causes clearly visible system-wide mouse stutter. The pointer becomes choppy outside the Codex window as well.
Fully quitting Codex from the tray and terminating the complete ChatGPT.exe process family makes mouse movement smooth immediately. Reopening Codex makes the problem return. No mouse reconnect, graphics-driver reset, or Windows reboot is required for recovery.
This is a controlled application-lifecycle A/B result:
- Codex running: system-wide mouse stutter.
- Codex fully exited: mouse is immediately smooth.
Live process evidence from the affected state
- 12
ChatGPT.exeprocesses were present. - Their combined working set was approximately 2.4-2.9 GB.
- During a 10-second sample, aggregate
ChatGPT.exeCPU time increased by approximately 13.5 CPU-seconds. - In a separate five-second per-process sample:
- Electron main process:
+6.92CPU-seconds (~1.38 logical cores) - renderer process:
+1.30CPU-seconds - GPU process:
+1.22CPU-seconds - The root Electron process alone had approximately 2,000 handles.
- The system has 16 logical processors and was not under general CPU or memory pressure.
The hot process is the root ChatGPT.exe Electron process, not the bundled codex.exe app-server process.
This is not the old taskkill.exe / WMI storm
I originally compared this with #34025, but the current reproduction is different:
- Repeated sampling showed
0livetaskkill.exeprocesses. conhost.execount remained stable.WmiPrvSE.exeCPU remained near zero.- The current desktop log did not contain the earlier
electron-sampler/ child-process-snapshot failure pattern.
The current failure is sustained CPU in the Electron main/renderer/GPU process family together with system-wide cursor stutter.
Steps to reproduce
- Update the Windows Codex desktop app to
26.810.6296.0. - Launch Codex and use an existing local task normally.
- Leave the app running until mouse movement becomes visibly choppy across Windows.
- Observe sustained CPU accumulation in the root
ChatGPT.exeprocess. - Fully quit Codex from the system tray.
- Observe that mouse movement becomes smooth immediately.
- Reopen Codex and observe that the problem can return.
Regression context
This appears to be a continuation/regression of the Windows input-lag family reported in #38554, #38547, #33074, and #28855, but it reproduces on the newer 26.810.6296.0 package.
One existing investigation in #38554 suggests that Codex may register a global low-level mouse hook (WH_MOUSE_LL) on the Electron main thread. If that is correct, any busy loop or main-thread stall could delay mouse delivery across the entire OS. I have not independently proven the hook ownership on this machine, but the sustained root-process CPU and immediate full-exit recovery are consistent with that hypothesis.
Please investigate:
- Why the root Electron process continuously consumes roughly 1.3-1.4 logical cores in the affected state.
- Whether a
WH_MOUSE_LLhook is installed on the busy Electron main thread and whether it is necessary. - Main-thread event/IPC, hidden renderer (
avatarOverlay/ quick-chat), plugin reconciliation, and layout-update loops. - A supported diagnostic/feature flag to disable the global hook or expensive background process discovery.
- A rollback/pinning option until a fixed Windows build is available.
Expected behavior
Codex should not install an input-path hook or perform background work in a way that makes the Windows pointer stutter system-wide. Idle/background operation should remain bounded, and fully exiting the app should not be the only reliable workaround.
Privacy
This report intentionally omits usernames, local paths, task IDs, prompt contents, and raw logs. Sanitized counters or additional targeted diagnostics can be provided if maintainers request them.
7 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Can confirm that I experience the same issue. Unusable.
Same here. BUT TLDR for those who are scrolling through this panicing:
File -> Quit ChatGPT -> Start it again -> Lag should be gone.
当前用的是 26.810.52044,同样的问题。体验感极差。关闭computes-ues貌似无法解决。
Independent reproduction on Windows 11 with the same Codex Desktop package,
26.810.6296.0.Hardware:
Symptoms:
The machine was not saturated during the affected state:
A read-only two-second process sample showed:
ChatGPT.exe: approximately 2.95 CPU-seconds over 2 wall-seconds, equivalent to roughly 1.48 continuously busy logical processors; working set approximately 658 MB.codex.exeagent backend: approximately 0.06 CPU-seconds over the same interval; working set approximately 480 MB.The affected processes had affinity to all 20 logical processors (
0xFFFFF), so this does not appear to be caused by Codex being restricted to the processor’s E-cores.The long-running task may increase the likelihood of triggering the condition, but I cannot establish that it is required. The strongest reproducible boundary is:
No affinity, priority, cache, registry, or operating-system configuration changes were made during this observation.
Confirming the same regression on the exact Windows package.
Environment:
26.810.6296.02620032.0.22042.14002Observed behavior:
A read-only five-second process sample during an active Codex session showed:
ChatGPT.exe/codex.exeprocessesChatGPT.exe: approximately 1.02 CPU corescodex.exebackend: approximately 0.02 CPU coresBecause a task was active during this sample, I am providing it as supplementary process evidence rather than an idle-state measurement. The virtual display adapters are listed as environmental data only; I am not claiming that they are the cause.
I captured a 77 second WPR CPU and File I/O trace while the stutter was live on Desktop 26.810.4967.0. The main-process loop is now attributable to repeated integrity checks of the Chrome plugin app-server runtime.
Observed in the root
ChatGPT.exeprocess:27,172,101,440bytes across51,836I/O operations against the cached bundledcodex.exe.26,974,145,856bytes across51,453I/O operations against the.plugin-appservercopy ofcodex.exe.295,151,920bytes with matching size and timestamp. This is about 92 complete passes over each file in 77 seconds.codex.exe app-serverchild.The packaged Desktop code identifies this path as
chrome-plugin-app-server-runtime. Its unchanged-file check recursively compares the staged runtime with the bundled runtime. For equal-sized files it computes SHA-256 usingreadFile(destination)andreadFile(source). The checked set includescodex.exe,codex-code-mode-host.exe, the command runner, the Windows sandbox setup binary, andcodex-resources.There is no process-lifetime memoization or single-flight guard around that validation path. Repeated runtime reconciliation therefore rereads and hashes hundreds of megabytes on the Electron main process even when neither copy changed. WPA also shows a long-lived
DirNotifyon the hot main-process I/O thread, with repeatedRead,Create,Cleanup, andCloseactivity.The remaining unknown is which higher-level reconciliation trigger invokes the check about 1.2 times per second. The expensive operation itself is confirmed.
Suggested fix:
Does the reported fix in 26.810.7004 cover this validation path? If useful, I can provide the sanitized ETL-derived table layout and a narrower reproduction focused on Chrome plugin reconciliation.