Windows Desktop freezes at turn start and completion, but not during mid-response follow-up input
What version of the Codex App are you using (From “About Codex” dialog)?
Codex Desktop 26.519.41501 Package: OpenAI.Codex_26.519.5221.0_x64__2p2nqsd0c76g0 Electron: 42.1.0 Chrome: 148.0.7778.97
What subscription do you have?
No OpenAI account / not signed in
What platform is your computer?
Microsoft Windows NT 10.0.26120.0 x64
What issue are you seeing?
Codex Desktop on Windows repeatedly becomes unresponsive at two specific turn-boundary moments:
- Immediately after sending a user message.
- Immediately after the LLM finishes its response.
However, if I type an additional follow-up / steering message while the LLM is still responding, that does not trigger the freeze.
This suggests the freeze is probably not caused by streaming text rendering itself, but by turn start / turn finalize work such as local conversation persistence, final render/layout, usage/state accounting, plugin/tool state refresh, session list refresh, or Electron main-process synchronization.
Observed behavior:
- The app becomes unresponsive for 30 seconds to several minutes.
- The freeze happens at turn boundaries, not during ordinary streaming.
- Codex main process becomes
Responding=False. - Electron GPU process can sustain high CPU for several minutes.
- CPU hot threads move across logical CPUs, so it does not appear to be a defective CPU core.
What steps can reproduce the bug?
- Open Codex Desktop on Windows.
- Start or continue a conversation.
- Send a normal user message.
- Observe that the app may freeze shortly after sending.
- Let the assistant complete its response.
- Observe that the app may freeze again immediately after the response completes.
- During an assistant response, send an additional steering/follow-up message before the assistant completes.
- Observe that this mid-response input does not trigger the same freeze.
The important detail is that the freeze happens at send-message and assistant-response-complete boundaries, but not when sending a follow-up while the assistant is already responding.
What is the expected behavior?
Codex Desktop should remain responsive when sending a message and when the assistant response completes.
Turn start and turn completion should not block the Electron main process or cause sustained high CPU usage in the main/GPU processes.
Additional information
Diagnostics collected during reproduction:
- Process affinity was full: 65535 for Codex processes during reproduction.
- Process Lasso did not change Codex affinity during reproduction.
- Clearing GPUCache, DawnWebGPUCache, and DawnGraphiteCache did not resolve the issue.
- Disabling GPU acceleration via Chromium/Electron startup flags did not resolve the issue.
- Removing Codex++ as a control variable did not resolve the issue.
- The issue existed before using WeType/WeChat input method features, so that does not appear to be a necessary condition.
Peak process samples:
- electron-gpu pid 30364 peak around 550% CPU
- main pid 28708 peak around 400% CPU, Responding=False
- renderer pid 30116 peak around 100% CPU
- affinity 65535 for Codex processes during reproduction
A WPR trace was collected during sustained Electron GPU-process CPU usage:
- codex-wpr-20260523-215009.etl
The trace is large, so I can provide it through a private upload if useful.
Related local artifacts collected:
- summary.log
- process-samples.csv
- thread-hotspots.csv
- cpu-core-samples.csv
- WPR .etl trace
Hypothesis:
This looks like a Codex Desktop / Electron turn-boundary performance issue on Windows, possibly in turn start / turn finalize state persistence, final message hydration or Markdown/layout pass, session list refresh, plugin/tool/browser state refresh, or Electron main-process synchronization with renderer/GPU process.
5 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
I think my issue may be related to #20805.
I’m seeing the same progressive slowdown/reconnect behavior on Windows Desktop, especially in a long multimodal thread with many image attachments.
I can reproduce the same turn-boundary freeze pattern described in this issue.
Environment:
OpenAI.Codex_26.602.3474.0_x64__2p2nqsd0c76g00.137.0-alpha.4Observed behavior:
Local session-state evidence:
C:\Users\shany\.codex\sessionshad about 271 rollout JSONL files.Workaround tested:
C:\Users\shany\.codex\sessionsinto a backup folder.sessionssize dropped to about 333.6 MB.This suggests that the issue may be amplified by large local rollout/session JSONL files, especially from long conversations, tool output, image/base64 payloads, and accumulated event history.
Expected behavior:
This may be related to the same root-cause family as #25779 and #22004.
I can reproduce the same turn-boundary freeze pattern on the current Windows build, with a focused ETW/xperf capture.
Environment
OpenAI.Codex_26.810.7004.0_x64__2p2nqsd0c76g02620032.0.16.1088151.0.7922.137Reproduction and symptoms
The freezes are concentrated at the same two boundaries described in this issue:
During the middle of an ordinary response the system is generally smoother. The physical mouse cursor can briefly freeze across Windows, not only inside the Codex window. The Codex window has also failed to restore after minimizing; on one occurrence the process tree had to be force-terminated.
Tests that did not resolve it
--disable-gpuThis makes GPU selection, simple resource saturation, WSL CPU use, and the currently suggested Pet reset insufficient explanations for this reproduction.
Windows events
Multiple previous occurrences were recorded as
AppHangTransientforChatGPT.exe.In the current app run there were zero
Application ErrorEvent 1000 entries forChatGPT.exeand zero occurrences of exception0xc06d007f. Therefore this reproduction does not currently match the separate Work Louder /serialport.nodedelay-load failure described in #33494.Focused ETW/xperf capture
A focused 41.621-second capture was taken across a user-observed freeze:
089.94%ChatGPT.exe: approximately3.48%of total machine CPU capacity, with approximately3.41%attributed tochrome.dll1.02%0.36%dwm.exe: approximately0.54%Graphics-related DPC/interrupt paths were active, but there was no machine-wide CPU saturation, and WSL activity was low. This is correlation, not a confirmed root cause.
The ETL files are retained locally and are not attached publicly because they may contain local paths and process metadata. Sanitized extracts or a privately shared trace can be provided if a maintainer specifies a safe upload channel.
This indicates that the turn-boundary regression remains reproducible in the
26.810family and can affect system-wide input even while approximately 90% of total CPU capacity is idle.您发送给我的信件已经收到,我会及时接收并处理,感谢您对我在工作上的支持和配合。——shanyijin2001--------------------------------------------This is an automatic reply, confirming that your e-mail was received.Thank you