Choosing TortoiseGit’s Status Cache for Fast Explorer Overlays
Learn how TortoiseGit’s Status Cache setting controls overlay icon performance and when to disable or scope it for large or network‑hosted repositories.
10 Sept 2026, 07:18 UTC

The problem: missing visual feedback in large repositories
When a working copy grows to thousands of files or lives on a network share, the green check‑marks and red exclamation icons that TortoiseGit normally shows in File Explorer can disappear or cause noticeable lag while browsing. The icons are useful because they give an at‑a‑glance hint of which files are clean, modified, added, or untracked, but they come with a cost: the status information must be gathered for every file shown in the view.
How TortoiseGit draws overlay icons
TortoiseGit does not run git status synchronously inside Explorer. Instead, a background process maintains a status cache that periodically queries the repository and stores the results. The cache feeds the overlay icons, the Commit dialog, and the Check‑for‑modifications window. Because the cache is separate from the UI, opening a folder does not block on a Git command, but the cache itself consumes CPU, disk I/O, and, on network drives, latency.
The cache scope is controlled by the Status Cache setting under TortoiseGit → Settings → Icon Overlays. Three options exist:
- Default – a separate cache for each working copy.
- Drive – one cache shared by all repositories on the same drive.
- None – no background cache; overlays are disabled.
Additionally, you can exclude specific paths (e.g., large monorepos or network mounts) using the Exclude paths field on the same page.
Worked example: toggling the cache
- Clone a small repository to
C:\dev\demo-repo. - Open the folder in Explorer. You should see a green check‑mark on the folder icon, indicating a clean state.
- Edit a tracked file (e.g.,
README.md) and save. The folder overlay changes to a red exclamation, and the file icon shows the same. - Create a new file
new.txt. Its icon displays a plus sign. - Right‑click the folder → TortoiseGit → Commit. The Commit dialog lists the modified and new files, confirming the overlay state.
- Now open TortoiseGit → Settings → Icon Overlays, set Status Cache to None, and click OK.
- Refresh the Explorer view. The folder and file overlays disappear (they revert to the generic file icon).
- Open the Commit dialog again; it still shows the same changes, proving that on‑demand status works even when passive overlays are off.
Trade‑offs and practical checks
Disabling the cache removes the constant Explorer overhead but forces TortoiseGit to query Git each time you open the Commit dialog or Check‑for‑modifications window. On a local SSD with a modest repository this delay is usually imperceptible; on a network share or a repository with hundreds of thousands of files it can become noticeable.
Another platform‑level limitation is the finite number of overlay slots Windows reserves for shell extensions (commonly cited as 15, with a few used by the OS). If you have OneDrive, Dropbox, or similar tools installed, their icons may push TortoiseGit out of the slot list, causing its overlays to vanish regardless of the cache setting. This is not a TortoiseGit bug; you can view the current slot ordering via the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved.
To verify the impact of a cache change on your machine:
- Close all Explorer windows.
- Open a large repository folder and note the time it takes to become responsive (you can use a simple stopwatch).
- Toggle the Status Cache between Default and None.
- Repeat the timing test. The difference gives you a concrete measure of the Explorer‑thread cost.
Remember that overlay icons are hints, not ground truth. If you suspect stale icons (e.g., after an external tool edited files), run git status --porcelain in the working copy or open the Commit dialog to confirm the actual state.
What to do next
If you work primarily with small‑to‑medium local repositories, keep the Status Cache on Default for the quickest visual feedback. For large monorepos, network drives, or when you notice Explorer lag, switch to None or narrow the cache with Exclude paths and rely on the Commit dialog or git status for verification. Periodically re‑check the overlay slot usage if you install new shell‑extension software, and adjust exclusions accordingly.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.