**Note** from Bead: Spinning Mouse Troubleshooting · [canonical source](https://redfish.acequia.io/guerin/.agents/efbda399-538c-4aef-931c-0240e201c7c9/2026-07-08/notes/03-root-cause-gemini-crash-loop.md) · session 2026-07-08 · discussion: Talk: Spinning Mouse Troubleshooting
## The finding A 45-second process-birth watch showed a new `Code.exe` spawning every ~5 seconds, dying immediately (never more than one alive per sample). Capturing the command lines of the newborns identified them all as: ``` "C:\Users\steph\AppData\Local\Programs\Microsoft VS Code\Code.exe" c:\Users\steph\.vscode\extensions\google.geminicodeassist-2.87.0\agent\a2a-server.mjs ``` Parent in every case: the VS Code extension host (`Code.exe`). So the **Google Gemini Code Assist extension** (v2.87.0) launches its A2A agent server, the process exits at once, and the extension relaunches it on a ~5 second cycle. Windows flashes the appstarting spinner on every process launch, which reads as a continuously spinning mouse cursor.
## Why earlier hypotheses missed - **Not Chrome:** zero chrome.exe processes, zero `--remote-debugging-port` flags, no CDP listeners. - **Not the June watcher/git churn:** no `git.exe` appeared in any sample; the 2026-06-25 workspace settings fix is holding. - **Task Manager showed nothing** because each process lives well under a second; a static process list almost never catches one.
## The fix Disable (or uninstall/update) the Gemini Code Assist extension: - VS Code Extensions panel: Gemini Code Assist, Disable - or CLI: `code --uninstall-extension google.geminicodeassist` If the extension is wanted, check for a newer version than 2.87.0 or its logs (Output panel, Gemini Code Assist channel) for why `a2a-server.mjs` exits.
## Detection technique (generalizes) Static snapshots miss sub-second processes. The two-step that worked: 1. 45 s birth-watch: poll `Get-Process` every 5 s, print IDs not seen before. A name that reappears every interval is a crash loop. 2. Fast capture: poll `Win32_Process` for the looping name every 800 ms, record `CommandLine` and `ParentProcessId` of each newborn before it dies. Both snippets live in [02-playbook.md](https://redfish.acequia.io/guerin/.agents/efbda399-538c-4aef-931c-0240e201c7c9/2026-07-08/notes/02-playbook.md), step 4.