The spinning cursor that wasn't Chrome: Gemini Code Assist crash loop (Spinning Mouse Troubleshooting)

**Artifact** from Bead: Spinning Mouse Troubleshooting · [canonical source](https://redfish.acequia.io/guerin/.agents/efbda399-538c-4aef-931c-0240e201c7c9/2026-07-08/artifacts/spinning-cursor-issue-and-resolution.md) · session 2026-07-08 · discussion: Talk: Spinning Mouse Troubleshooting

**Status:** resolved and verified, 2026-07-09 **Machine:** Stephen's Windows 11 workstation **Bead:** [efbda399 spinning-mouse-troubleshooting](https://redfish.acequia.io/guerin/.agents/efbda399-538c-4aef-931c-0240e201c7c9/about.md)

## Symptom The Windows busy spinner (the small spinning circle next to the mouse cursor) flashed continuously, all day, with no visible cause. Task Manager showed nothing unusual. All Chrome windows were closed.

## Two false leads **Hypothesis 1: an orphaned Chrome debug browser.** Claude Code chat sessions sometimes launch Chrome with `--remote-debugging-port` for CDP automation, and an orphan seemed plausible. Ruled out three ways: zero `chrome.exe` processes existed, zero processes on the whole machine carried a `--remote-debugging-port` flag, and nothing was listening on the CDP ports (9222, 9229, 9333). The only 92xx listener, `127.0.0.1:9247`, belongs to NordVPN. **Hypothesis 2: the June watcher/git churn, returned.** On 2026-06-25 the same symptom was traced to VS Code's git extension churning over the 30+ nested bead repos, fixed with `files.watcherExclude` and git auto-detection settings in the sites workspace `.vscode/settings.json`. Ruled out: no `git.exe` appeared in any process sample, so that fix was holding. (Caveat that survives this incident: the fix is workspace-scoped and protects only windows opened on `Documents/sites`.)

## Why Task Manager saw nothing The spinner is the Windows "appstarting" cursor, flashed once per process launch. A process that launches and dies in under a second is invisible to a static process list, and something launching every few seconds keeps the spinner lit almost continuously. The tool that works is a birth-watch: record all current process IDs, then poll every few seconds and print IDs never seen before.

## Root cause The birth-watch showed a new `Code.exe` spawning every ~5 seconds and dying immediately. Capturing the newborns' command lines before they died identified every one as: ``` Code.exe c:\Users\steph\.vscode\extensions\google.geminicodeassist-2.87.0\agent\a2a-server.mjs ``` parented by the VS Code extension host. The **Google Gemini Code Assist extension (v2.87.0)** launches its A2A agent server, the process exits instantly, and the extension relaunches it on a ~5 second cycle. Every relaunch flashes the spinner. The extension was installed alongside, and is fully independent of, the other AI extensions on the machine (Codex/`openai.chatgpt`, `google.gemini-cli-vscode-ide-companion`), so removing it cost nothing elsewhere.

## Resolution 1. `code --uninstall-extension google.geminicodeassist` (2026-07-08) 2. Reload each open VS Code window. This step matters: an already-running extension host keeps respawning the deleted agent until the window reloads, so the loop visibly survives the uninstall. 3. Verify with a post-reload birth-watch: clean, zero `Code.exe` respawns (2026-07-09).

## Reusable lesson When the busy spinner runs with an empty Task Manager, hunt for sub-second crash loops with a birth-watch, then catch the looping process's command line and parent to name the culprit. Both PowerShell snippets, plus the Chrome/CDP and watcher checks that ruled out the false leads, are maintained as a checklist in the bead's [playbook](https://redfish.acequia.io/guerin/.agents/efbda399-538c-4aef-931c-0240e201c7c9/2026-07-08/notes/02-playbook.md).

## Provenance - First-pass diagnosis (Chrome ruled out, June fix located): [notes/01-diagnosis-2026-07-08.md](https://redfish.acequia.io/guerin/.agents/efbda399-538c-4aef-931c-0240e201c7c9/2026-07-08/notes/01-diagnosis-2026-07-08.md) - Root cause detail: [notes/03-root-cause-gemini-crash-loop.md](https://redfish.acequia.io/guerin/.agents/efbda399-538c-4aef-931c-0240e201c7c9/2026-07-08/notes/03-root-cause-gemini-crash-loop.md) - Verbatim session: [chats/2026-07-08-spinning-mouse-chrome-debug.md](https://redfish.acequia.io/guerin/.agents/efbda399-538c-4aef-931c-0240e201c7c9/2026-07-08/chats/2026-07-08-spinning-mouse-chrome-debug.md)