Git no longer flashes terminal windows on Windows
An Obeya started without a terminal of its own opened a window for every git call it made, and each one took the keyboard focus. Now every program Obeya starts runs hidden.
Measured: the same git calls, before and after
Before
29
windows shown for 9 git calls from a process without a console, as Obeya runs when started detached
After
0
windows for the same 9 git calls with the fix
On the real desktop this afternoon
| Obeya | What it did | Terminal windows |
| Scratch Obeya of another card (port 4484, code before the fix) | 5 minutes of normal work | 36 (22 traced straight to its git calls) |
| Scratch Obeya with the fix (port 4482) | 40 requests that each run git, in 30 s | 0 |
| The owner's Obeya (started from its cmd window) | 57 git calls in the same 5 minutes | 0 |
Counted with a Windows event hook that logs every window that becomes visible, with the process behind it. Windows Terminal is the default terminal here, so each git call opened a whole Terminal window, which grabbed the focus.
Why it happened
- An Obeya without a console (the scratch Obeyas that agents start for their demos, or one launched without a terminal) gives every console program it starts a console of its own, and Windows shows it as a window.
- Obeya runs git constantly while it watches clones and cards, so the windows came in bursts, sometimes several per second.
- An Obeya started from a terminal (like the main one here) shares that terminal's console, so it never flashed. That is why it came and went: it depended on which scratch Obeyas were running.
What changed
- On Windows every program Obeya starts runs without a window by default, git above all. A default, not a flag on each call, so a new call cannot bring the flashing back.
- Programs that are meant to be seen stay visible: Explorer, the terminal for a Claude login, the folder picker.
Good to know
- Scratch Obeyas that are already running keep the old code until they are stopped. The one on port 4484 is still flashing; it goes quiet once its card stops it or stages it again.
- A scratch Obeya staged from an older commit (
--code) for a before/after comparison still runs that old code and still flashes.
- In the 5 minutes measured, 4 more short
cmd windows came from processes that had already ended, so their source is unknown. They may be unrelated to Obeya.