Glass Agents Window Changes tab empty on Windows — GlassDiffService runs git with cwd empty (3.12.30)

Where does the bug appear (feature/product)?

Somewhere else…

Describe the Bug

In Agents Window (Glass layout), the Changes / Local tab stays empty while IDE Source Control shows correct uncommitted changes for the same repo.

GlassDiffService knows gitRepoRoot but runs git with cwd=:

[GlassDiffService] Refresh failed (reason=immediate, cwd=, gitRepoRoot=D:/netdiffsyncer-mono): Failed to execute git
[GlassDiffService] Failed to refresh scope (scope=staged, cwd=): Failed to execute git
[GlassDiffService] Failed to refresh scope (scope=unstaged, cwd=): Failed to execute git

Log: %APPDATA%\Cursor\logs\20260722T112445\window1_wb2\renderer.log

Agent-side GitProvider.getDiffFileEntries in window1_wb1 also fails with fatal: not a git repository and error: unknown option cached. Commands with explicit --git-dir/–work-tree succeed; IDE SCM works normally.

Steps to Reproduce

  1. Windows 10/11, Cursor 3.12.30, Glass layout enabled.
  2. Open a git repo at workspace root (tested D:\NetDiffSyncer, then D:\netdiffsyncer-mono after rename).
  3. Make local file changes; confirm git status shows dirty files.
  4. Open Agents Window → Changes / Local.
  5. Observe empty Changes tab while IDE Source Control still shows changes.

Also tried: full Cursor restart, commit via IDE, folder rename, workspace cache reset — issue persists.

Expected Behavior

Agents Window → Changes should list staged/unstaged files matching git status.

Operating System

Windows 10/11

Version Information

Cursor 3.12.30 (stable)
Layout: Glass (glassMode: true)
OS: Windows 10/11 x64
Git: 2.45.1.windows.1

For AI issues: which model did you use?

N/A — Agents Window UI bug, not model output.

Additional Information

Related: Agent "Changes" panel stays empty while git status shows changes (closed; still reproduces in 3.12.30)

Suggested fix: GlassDiffService should pass repo context to git subprocess (-C or --git-dir + --work-tree) instead of empty cwd.

Workaround: IDE Source Control or @Commit (Diff of Working State) in agent chat.

Does this stop you from using Cursor

No - Cursor works, but with this issue

@Colin Following up on your request in the closed thread [Agent “Changes” panel stays empty while git status shows changes]( Agent "Changes" panel stays empty while git status shows changes ) — yes, this still reproduces in 3.3 and later.

I’m on Cursor **3.12.30** (stable, Glass layout, Windows). Agents Window → Changes / Local stays empty while IDE Source Control shows the same uncommitted files correctly.

Logs show `GlassDiffService` knows `gitRepoRoot` but runs git with `cwd=`:

```
[GlassDiffService] Refresh failed (reason=immediate, cwd=, gitRepoRoot=D:/netdiffsyncer-mono): Failed to execute git
```

Tried restart, IDE commits, folder rename, and workspace cache reset — issue persists. Details in the post above.

Hey @Hakuhonoo,

This is a known Windows bug on our side, not your setup. On Windows the Agents Window’s Changes tab can fail to bind to the repo when the drive-letter casing of the opened folder doesn’t match what Git reports for the repo root, so it ends up running git without the repo’s working directory - exactly the cwd=<empty> you’re seeing while Source Control keeps working. Renaming the folder is the kind of thing that can flip that casing, which lines up with what you hit.

Good news: it’s already fixed. The fix is going out in the 3.13 release line and isn’t in the 3.12.x build you’re on, so once your update moves you onto 3.13 the Changes tab should populate normally. Until then, the workarounds you found are the right ones - IDE Source Control, or @Commit (Diff of Working State) in the agent chat.

We’re tracking this alongside the same reports from other Windows users in this thread - I’m merging yours into it so you get the update when the fix lands on stable.