[Bug] Windows desktop app flashes visible console windows for internal git/taskkill children, even while idle
Summary
Codex Desktop on Windows repeatedly spawns short-lived internal console child processes. Each spawn allocates a visible console window that flashes on screen and disrupts typing/window focus.
This occurs while the app is running in the background, including when it is fully idle with no chat/task session open.
Environment
- Codex desktop app:
26.715.31925(also observed on26.715.31251) - codex-cli:
0.144.5 - OS: Windows 11 Home
10.0.26200 - Workspace: large local Git repository
- Evidence captured: 2026-07-20 (Asia/Tokyo), via
Win32_Processpolling
Observed behavior
A 90-second process-creation trace captured approximately 110 process spawns originating from ChatGPT.exe:
- 38 ×
taskkill.exe /pid <pid> /t /f - 21 ×
git.exe, including commands such as: git config --null --get core.fsmonitorgit -c core.hooksPath=NUL -c core.fsmonitor= hash-object -- <file>- Approximately 55 ×
conhost.exechildren associated with those console processes
The git hash-object calls appear to be per-file change probing, so activity in a busy repository—or another tool writing files in the workspace—multiplies the flash frequency. Several black console windows can pop up per minute and disappear within a fraction of a second.
The taskkill /t /f volume also suggests process-tree cleanup is being performed through a console helper rather than a windowless Win32 process/job-object path.
Steps to reproduce
- Open Codex Desktop on Windows with a medium-sized or larger local Git repository.
- Leave the app running; no active chat/task session is required.
- Observe process creation using
Win32_ProcessStartTrace,Win32_Processpolling, Process Monitor, or Process Explorer. - Observe recurring chains originating from the desktop app:
ChatGPT.exe -> git.exe -> conhost.exeChatGPT.exe -> taskkill.exe -> conhost.exe
- Observe visible black console-window flashes and occasional typing/window-focus disruption.
Expected behavior
Internal housekeeping children such as Git probes and process-tree cleanup should be spawned without visible console windows, for example:
- Win32
CREATE_NO_WINDOW(0x08000000) inCreateProcesscreation flags, or - Electron/Node child-process options such as
windowsHide: true, with no console inheritance.
Process-tree cleanup should also avoid repeated visible taskkill /t /f helper launches where practical (for example, using TerminateProcess and/or Windows job objects).
Impact
- Repeated visible black-window flashes
- Disrupted typing and window focus
- Frequency increases with repository activity and repository size
- Reproduces even when Codex is idle in the background with no task open
Related issue
Possibly related to #17229, which reports repeated git.exe/conhost.exe spawning and orphaned processes. This report specifically adds Win32 process-trace evidence for visible console allocation, frequent taskkill.exe child processes, per-file hash-object probing, focus disruption, and idle-background reproduction.
3 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
The internal Git/taskkill child-process churn and visible console flashes here are part of the same Git-backed desktop integration surface that this workaround disables.
I published a single-file Windows launcher for the original Microsoft Store/MSIX Codex app:
It starts Codex with a process-scoped
GIT_DIR=NUL. On my machine, the stable trace changed from 247 newgit.exeand 137 newtaskkill.exeprocesses per 10 seconds to 0 and 0 over 15 seconds; WMI Provider Host fell from about 6.6% to 0.9%.Usage: fully exit Codex from the Windows system tray, then run the script.
This is an unofficial workaround, not an upstream fix. It deliberately disables or limits Review, Changes, branch detection, commit, and other Git-backed Codex features. It does not patch Codex, modify repositories or Git configuration, write system environment variables, require elevation, terminate processes, or remove chat history. Launching Codex normally restores Git integration.
I can reproduce the same user-visible symptom on Windows Codex desktop 26.721.4979.0. In my case, the internal child is PowerShell rather than git/taskkill:
ChatGPT.exe -> codex.exe -> powershell.exeThe observed non-interactive PowerShell process collects CPU/memory information through
Win32_PerfFormattedData_PerfProc_Processand does not include-WindowStyle Hidden. Its visible console window briefly takes foreground focus and interrupts voice dictation.This supports the same root issue: all internal Windows console children should be created windowless from process creation, including PowerShell-based resource collection. Closing #35301 as a duplicate so the PowerShell-specific evidence is consolidated here.