Development

Developer Caches Eating Your Disk: npm, Gradle, NuGet, pip and More on Windows

On one Windows dev laptop, package and tool caches used more than 20 GB. Where npm, Gradle, NuGet, pip, Playwright and other caches live, how big they get, and the right command to clear each one.

StoragePilot listing developer caches such as the Visual Studio package cache and NuGet global packages with copyable commands
StoragePilot listing developer caches such as the Visual Studio package cache and NuGet global packages with copyable commands

If you write code on Windows, your C: drive fills faster than anyone else’s. Every package manager, SDK and test runner keeps its own cache, none of them share, and almost none clean up after themselves.

On one Windows development laptop we measured more than 20 GB of developer caches, spread across a dozen hidden folders. Here is where each one lives, how big it got, and the safe way to clear it.

StoragePilot listing developer caches such as the Visual Studio installer package cache and NuGet global packages, with copyable clean-up commands

Each cache in StoragePilot shows what it is, what happens if it is removed, and the official clean-up command.

Is it safe to delete developer caches?

Yes, with one caveat. A cache is a copy of something that can be downloaded or rebuilt, so clearing it never deletes your source code. The cost is time: the next build or install downloads packages again. Clear caches when you need the space, not every day.

Two rules keep it safe:

  1. Close the tool first. A running IDE, Gradle daemon or test runner can be using files in its cache.
  2. Prefer the tool’s own command. It knows its cache format, and some caches (pnpm, Conda) are hard-linked into your projects.

The caches, one by one

Sizes are from the laptop we measured, which is a mixed .NET, Android, Node and Flutter setup.

Visual Studio installer package cache: 5.7–8.9 GB

C:\ProgramData\Microsoft\VisualStudio\Packages

These are copies of every Visual Studio component installer you have downloaded. Visual Studio downloads them again when you modify, repair or update it. You can tell the Visual Studio Installer not to keep them (its --nocache option), or delete the folder while Visual Studio is closed.

Gradle: 3.8 GB of caches + 1.5 GB of old distributions

  • %USERPROFILE%\.gradle\caches: dependencies, transformed artifacts and build caches for every Gradle version you have used.
  • %USERPROFILE%\.gradle\wrapper\dists: complete copies of each Gradle version that a project wrapper downloaded. Old versions are never removed.

Stop the daemons with gradle --stop (or gradlew --stop), then delete what you need. Keep the wrapper distributions your current projects use.

NuGet / .NET: 2.6 GB of packages + 0.6 GB of HTTP cache

  • %USERPROFILE%\.nuget\packages: every package version your projects have restored.
  • %LOCALAPPDATA%\NuGet\v3-cache: cached feed responses.
dotnet nuget locals all --list
dotnet nuget locals http-cache --clear
dotnet nuget locals global-packages --clear

Clearing the HTTP cache is free. Clearing global packages means the next restore downloads everything again.

npm, Yarn and pnpm: 2.4 GB

  • npm: %LOCALAPPDATA%\npm-cache. Clear it with npm cache clean --force.
  • Yarn 1: %LOCALAPPDATA%\Yarn\Cache. Clear it with yarn cache clean.
  • pnpm: %LOCALAPPDATA%\pnpm\store. Use pnpm store prune, not a folder delete, because pnpm hard-links the store into node_modules.

Framework build caches inside projects can be just as large. One Angular project’s .angular\cache folder was 3.9 GB. It is safe to delete and rebuilds on the next ng serve.

Playwright, Cypress and Puppeteer: 2.4 GB together

Browser-test tools download whole browsers, usually several versions:

  • Playwright: %LOCALAPPDATA%\ms-playwright (1.2 GB). Run npx playwright uninstall --all, then npx playwright install in the projects you still test.
  • Cypress: %LOCALAPPDATA%\Cypress\Cache (0.7 GB). Use npx cypress cache list and npx cypress cache clear.
  • Puppeteer: %USERPROFILE%\.cache\puppeteer (0.5 GB).

Python pip and uv: 0.6 GB

  • pip: %LOCALAPPDATA%\pip\Cache. Clear it with pip cache purge.
  • uv: %LOCALAPPDATA%\uv\cache. Clear it with uv cache clean.

Flutter and Dart: 0.5 GB

%LOCALAPPDATA%\Pub\Cache. Run dart pub cache clean, then flutter pub get in each project you are working on.

Editors: VS Code, Cursor and friends: 1.4 GB

  • %APPDATA%\Code\CachedExtensionVSIXs (1.3 GB): installers of extensions that are already installed.
  • %APPDATA%\Code\Cache, CachedData, Code Cache: compiled code and web caches, including leftovers from older versions.

Close the editor and delete them. Forks such as Cursor and Windsurf use the same layout under their own %APPDATA% folder.

The ones to treat carefully

  • Android emulator system images (%LOCALAPPDATA%\Android\Sdk\system-images) and AVDs (%USERPROFILE%\.android\avd): several GB each. Remove API levels you no longer test from the Android Studio SDK Manager, and delete emulators from the Device Manager.
  • Docker Desktop (%LOCALAPPDATA%\Docker\wsl\…\*.vhdx): never delete the disk file. Run docker system df to see usage and docker system prune -a to remove unused images. The file only shrinks after it is compacted.
  • WSL distributions (ext4.vhdx): free space inside Linux, then wsl --manage <distro> --set-sparse true lets Windows reclaim it.

Summary table

Cache Size measured Clear with
Visual Studio package cache 5.7–8.9 GB VS Installer --nocache / delete folder
Gradle caches + wrappers 5.3 GB gradle --stop, then delete
NuGet 3.2 GB dotnet nuget locals … --clear
npm 2.4 GB npm cache clean --force
Playwright / Cypress / Puppeteer 2.4 GB each tool’s uninstall or cache command
VS Code caches 1.4 GB close editor, delete
pip 0.6 GB pip cache purge
Pub (Flutter) 0.5 GB dart pub cache clean

Find them all at once

Checking a dozen hidden folders by hand is tedious, which is why we added developer caches to StoragePilot, a free Windows storage app from NBOUND.IN. Its Space Insights view finds every cache above, shows its real size, labels it Safe to clear or Re-downloads when needed, and gives you the official command to copy. If you prefer, it clears a cache for you after you confirm, skipping anything that is in use or contains source files.

If your C: drive is full for other reasons too, start with How to free up space on the C: drive safely.


StoragePilot is an NBOUND.IN project. Sizes come from one real Windows development laptop measured in October 2026; your caches will differ.