[Bug]: [Windows] Console windows flash constantly — git.exe spawned without windowsHide #32718
Send to my agentBefore submitting#
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area#
apps/web
Steps to reproduce#
Title: [Windows] Console windows flash constantly — git.exe spawned without windowsHide
Description On Windows, T3 Code Desktop causes console windows (conhost.exe) to flash on screen repeatedly while it's open. Closing T3 Code stops it.
Evidence I enabled process creation auditing (Event ID 4688) and grouped by parent process over a 15-minute window:
- 1095 × git.exe spawned by T3 Code (Beta).exe
- 8 × claude.exe spawned by T3 Code (Beta).exe
Each git.exe gets its own conhost.exe (conhost.exe 0xffffffff -ForceV1), which
shows as a visible window because T3 Code is a GUI app with no console to inherit.
Expected
Child processes (git, claude, etc.) should be spawned with windowsHide: true
(CREATE_NO_WINDOW) so no console windows appear.
Environment
- T3 Code version: 0.1.7
- Windows version: Windows 11 26H2
- Git for Windows version: 2.56.0.windows.2
Screenshot of the process audit attached.
Expected behavior#
Child processes (git, claude, etc.) should be spawned with windowsHide: true
(CREATE_NO_WINDOW) so no console windows appear.
Actual behavior#
While T3 Code Desktop is open, console windows (conhost.exe) flash on screen repeatedly — several times per second at peak — and steal focus.
Process creation auditing (Event ID 4688) over 15 minutes, grouped by parent:
- 1095 × git.exe spawned by T3 Code (Beta).exe
- 8 × claude.exe spawned by T3 Code (Beta).exe
Each git.exe gets its own visible conhost.exe (conhost.exe 0xffffffff -ForceV1).
Closing T3 Code stops the flashing immediately.
Impact#
Major degradation or frequent failure
Version or commit#
No response
Environment#
No response
Logs or stack traces#
Screenshots, recordings, or supporting files#
No response
Workaround#
No response
sebascendocredi(GitHub profile, opens in a new tab) added labelsbug
sebascendocredi(GitHub profile, opens in a new tab) added labelsneeds-triage
juliusmarminge added labelsneeds more info
github-actions[bot](GitHub profile, opens in a new tab) removed labelsneeds more info
[GPT-6.1 Sol][Codex] on behalf of shivam.
I tested the official signed
T3-Code-0.1.7-arm64.exe, source commit322f6544dfad0a3c8a0c8cbecf2c7f7874b14268, in the Windows desktop app on Windows 11 Pro 25H2 build 26200.9711 ARM64 with Git2.56.0.windows.4. With the terminal closed and no agent turn running, I opened the diff and refreshed it three times. Across two desktop captures totaling 100 seconds, Git Trace2 recorded 187 Git starts. No console flash appeared, the app kept focus in all 2,000 window samples, and the window-event hook recorded no visible show event. This does not rule out your reported behavior.This test used an isolated Git configuration with no fsmonitor, credential helper, or hooksPath entries. Your Windows 26H2, Git
.windows.2, architecture, and active-provider behavior remain untested. Separately, tracing the Git and Claude launch code on v0.1.7 and maina9e709f15f825cacac1b6d665fa1920c328d68b7confirms that these paths already setwindowsHide: truewith piped streams, so I have not proposed a patch that adds the same flag.Could you share your CPU/app architecture and the flashing window's owning process, command lines, Git path/configuration, and idle-versus-running behavior requested in https://github.com/pingdotgg/t3code/issues/32718#issuecomment-6714598827? Those details are still needed to connect the visible window to a launch path.
The 20-second excerpt shows the three diff refreshes and their outcome in the real desktop app. It is a reproduction attempt, with no code change.
https://github.com/user-attachments/assets/2a30a5d3-5c99-478c-8c7a-ee3fe91e2c77
Another Windows x64 data point. This does not reproduce here, but it rules out a few explanations.
Setup: T3 Code (Beta) 0.1.7 desktop, Windows 11 build 26300 x64, Git for Windows 2.54.0.windows.1 (
C:\Program Files\Git\cmd\git.exe). The only git config hit forcore.fsmonitor|credential.helper|core.hookspathiscredential.helper manager(system gitconfig). Codex and Claude as active providers, with agent turns running during the active captures.Method: a user-mode monitor (no audit policy) that records every process created under T3 Code, with command lines via WMI, and polls
EnumWindowsandGetForegroundWindowabout every 10 ms. As a control, a visiblegit --versionstarted from PowerShell was caught: a window of about 0.5 s, owned by Windows Terminal, which also took focus.Run Duration git.exe under T3 conhost.exe under T3 Console windows shown Focus taken by a console Modern console ( ForceV2=1), turn running, diff panel open3 min 144 95 0 0 Legacy console ( ForceV2=0), app restarted, turn running4 min 304 258 0 0 Idle, app in background 90 s 0 0 0 0 On
conhost.exe 0xffffffff -ForceV1in the report: here, every conhost started for T3's children is\??\C:\Windows\system32\conhost.exe 0x4. That held with the legacy console both on and off. I also spawned a console program from a console-less Node parent withwindowsHide+ piped stdio,windowsHide+ inherited stderr, and nowindowsHide. All three producedconhost.exe 0x4. So neither the legacy console setting nor Node's spawn flags produce the reporter's-ForceV1form on this build. That difference may be the most useful lead toward what's special about the affected machine.I investigated a similar intermittent terminal flash on Windows using GPT-6.1 Sol (high reasoning effort) in T3 Code, after capturing an occurrence with Sysinternals Process Monitor.
The capture showed this process chain around the reported flash:
bun.exe → gh.exe → gh.exe send-telemetry → tzutil.exe /g → conhost.exeImmediately afterward, OpenConsole and Windows Terminal started. Windows Terminal exited about 0.67 seconds later.
My installed GitHub CLI is 2.91.0. This matches [cli/cli#13353](https://github.com/cli/cli/pull/13353), included in [v2.93.0](https://github.com/cli/cli/releases/tag/v2.93.0) as “fix(telemetry): prevent tzutil console flash on Windows.”
I’m updating GitHub CLI now and will observe whether the flashes stop. This is a strong lead for my occurrence, rather than confirmation that every flash reported here has the same cause.
Edit: I'll also turn off the telemetry for Github CLI :)
@sebascendocredi Which process owns a flashing window? Use Process Explorer's 'Find Window's Process' crosshair on one, or Process Monitor filtered on Process Create with command lines, and include the full parent chain (for example gh.exe -> tzutil.exe, or a git hook or credential helper). Please also say what
gh --versionprints, since GitHub CLI before 2.93.0 flashes a tzutil console from its telemetry.
Sign in to join this conversation.
Checked on main at a9e709f15f and on the v0.1.7 tag. T3 Code starts git through Effect's Node spawner, which passes
windowsHide: trueon Windows with stdin, stdout and stderr all piped, so Node creates the process withCREATE_NO_WINDOW. Printing the spawn options the server builds on win32 forgit status --porcelain=v2 --branch,git rev-parse --show-toplevelandgit fetch --quiet origingiveswindowsHide: truewithstdio: ["pipe","pipe","pipe"]for all three. The Claude process is spawned withwindowsHide: trueas well.A
conhost.exe 0xffffffff -ForceV1for each git.exe is expected even when no window is shown: Windows starts a console host for every console program, windowless ones included. So the 4688 counts show how often git runs, but not which process puts a window on screen.To find what is flashing, could you share:
where gitandgit config --show-origin --get-regexp "core.fsmonitor|credential.helper|core.hookspath"in a project you have open in T3 Code.