The 20GB I Forgot I Had (and Other Things Living on My Mac)

The 20GB I Forgot I Had (and Other Things Living on My Mac)

My MacBook told me it had 2GB free the other day, the way it always does — a quiet little bar in a Finder window I scroll past ten times a day without reading. This time I actually read it. Then I ran the real numbers and found I had 1.2GB free on a 245GB disk. No warning dialog, no red banner, nothing. Just a machine quietly running on fumes until something — a video export, a Docker build, a system update — was going to fail loudly and I'd have no idea why.

So I did the thing I probably should have done months ago: had Claude Code actually walk the disk with me and figure out where 245GB of storage had gone.

The first lie: df -h

First surprise, before we even got to the cleanup: df -h / — the command every guide tells you to run — reported numbers that didn't add up. Small "Used," tiny "Available," neither of which summed to anything close to my actual disk size. Turns out on modern macOS with APFS, that command is reporting a volume-role split that's basically decorative. The real numbers live one level up, at the container:

diskutil info / | egrep "Volume Used Space|Container Total Space|Container Free Space"

That's where "1.2GB free" actually showed up. If you've ever had a Mac claim to have "plenty of space" right before it didn't, this is probably why.

The obvious stuff, and the not-so-obvious stuff

The first pass was easy — the usual suspects. Chrome cache, an old Ollama cache, a few hundred megabytes of updater junk. Regenerable, no risk, done in under a minute. That bought me maybe 700MB. Not nearly enough.

The second pass is where it got interesting, because the big numbers weren't cache at all — they were abandoned application state. I'd uninstalled Binance's desktop app and Axie Infinity's Origin launcher a while back, the way you normally do — drag the app to Trash, done. Except macOS doesn't clean up after itself. Almost 8GB of Application Support data, Preferences plists, and container folders were still sitting there for apps that hadn't existed on this machine in ages. Same story with an old Docker Desktop install — 3.4GB of container data, no Docker app anywhere on the disk.

That last one taught me something annoying: macOS protects some of those Container folders at the OS level (containermanagerd), and no amount of sandbox-bypassing flags gets around it — it's a Full Disk Access thing, not a permissions bug. Sometimes the fix really is just "open Finder, delete it by hand."

The 11GB surprise living inside Claude itself

Here's the one that made me laugh a little. Claude Desktop's Cowork sandbox feature keeps a full Linux VM image on disk for running code — rootfs.img, sitting at a genuinely startling 11GB. It's regenerable (the app rebuilds it from a much smaller compressed backing file), but it's live infrastructure, not a cache in the disposable sense. Wiping it while the app is actively running would've been a great way to corrupt whatever sandbox session was mid-flight. So: quit the app first, confirm the process is actually gone, then delete it. Recovered 11GB, and the app just rebuilt what it needed the next time I opened it.

Viber, gone for real this time

I also asked for a full Viber uninstall — not just clearing cache, actually removing it. That's a good reminder that a Mac app isn't one file. It's the .app bundle, plus scattered Application Support folders, Caches, Preferences plists, Saved Application State, and Group Containers, each one tagged under a bundle identifier that doesn't always match the app's display name. Quitting it cleanly took an extra step too — its normal quit command hit a confirmation dialog that silently failed from the command line, so it needed a harder kill before anything could be removed. Altogether: Viber, Binance leftovers, and the Axie Origin leftovers cleared about 13.6GB combined.

The real find: twenty gigabytes I'd completely forgotten about

The best one was buried somewhere I never would have thought to look: ~/.anydesk/incoming. AnyDesk — the remote desktop tool I use for support sessions — quietly keeps every file anyone's ever sent me through it. Sitting in a folder starting with a dot, which means it doesn't even show up when you list your home directory normally.

Twenty gigabytes. A single batch of zip files from March, labeled "For ON-AIR (VMIX)" — leftovers from a broadcast production job, sent over during a remote session and never cleaned up. I genuinely didn't remember receiving them. Once I confirmed I didn't still need the files, that one folder alone handed back more space than everything else in this whole exercise combined.

Where it landed

Started at 1.2GB free. Finished at 68.3GB. The breakdown, roughly:

  • Regenerable app caches: under 1GB
  • Orphaned app data (Binance, Axie Origin, Docker): ~11GB
  • Claude Desktop's VM image: 11GB
  • Full Viber uninstall: 5.8GB
  • Forgotten AnyDesk file transfers: ~21GB
  • A misc Photos analysis cache and a video-editor resource folder: another few GB

The lesson isn't really "clean your Mac." It's that the biggest space hogs on a machine you've used for years are almost never the things Finder makes easy to find — they're leftovers from apps you forgot you uninstalled, infrastructure your own tools quietly build for themselves, and files that arrived through some side channel like a remote-support session and never had a reason to leave. df -h won't show you any of that. You actually have to go looking.