Disk space, for developers

Your Mac is full. Here’s why.

Headroom maps every byte of your disk in seconds, finds the node_modules, DerivedData, simulators, Docker images and model weights you forgot about, and cleans them up safely. Native, fast, and nothing leaves your Mac.

First 50 copies at $5 · then $6

Checkout isn’t live yet. Headroom is free to download meanwhile: scans, visualizations, suggestions and 3 cleanups don’t need a license.

macOS 15+ · Apple silicon & IntelFree download · 3 free cleanups · scanning free forever
370 GB reclaimable hereSafe 207 GBReview 123 GBBe careful 41.1 GB
  • Projects140 GB
  • Xcode & simulators95.0 GB
  • AI models65.7 GB
  • Documents & media47.8 GB
  • Caches & logs46.1 GB
  • Containers43.8 GB

Hover to inspect · click to zoom · click the center to go up.Tap a ring to zoom · tap the center to go up. Sample data.

The one-minute film

From “disk almost full” to 164.7 GB back.

Sample disk. Every folder name in the film is made up.

Fast, and exact

1.25 million files in 4.5 seconds.

A parallel scanner written in C reads folder entries in bulk with getattrlistbulk across many threads. Same files, same byte-exact totals as du, 4.4× sooner.

Time to total 1.25 million files

Bars fill at a quarter of real time. Lower is better.

Headroom4.5 s
du20 s
Reopen0.06 s
Byte-exact totalsHard links counted onceNever downloads iCloud files
4.4×faster than du on the same 1.25M files
0.06 sto reopen a saved scan of 1.25M files
6.7 MBfor that saved index: about 5 bytes per file
LiveFSEvents merges changes in as they happen. No rescans.
Two viewsAn animated sunburst and a cushion treemap, colored by folder, kind or age. Click to zoom, hover for details, drag to Finder.
Complete accountingWhat the scan can’t see (system files, snapshots, unreadable folders) shows up as Hidden space instead of silently missing.
Duplicates, honestlySize, then sampled hash, then full SHA-256. It understands APFS clones, so it reports what you’d really free.
Built for developers

About 80 rules that know where your toolchain hides gigabytes.

Every suggestion is labeled and explained in plain language, with the tool’s own cleanup command when there is one. You decide what goes.

Safe

Regenerated automatically. A build or an install brings it back.

Review

Probably fine to remove, but it’s yours to judge: a model you still use, a simulator with test data.

Be careful

Holds data that’s hard to get back. Headroom says why, and which tool to use instead.

Your projects

Found in every project, and only when the manifest next to it proves it's generated: no Cargo.toml, no target.

  • node_modules(Safe)
  • Rust target(Safe)
  • SwiftPM .build(Safe)
  • .next · .turbo · .wrangler(Safe)
  • .svelte-kit · .nuxt · .astro(Safe)
  • dist / build (if .gitignored)(Review)
  • __pycache__ · .pytest_cache(Safe)
  • .venv(Review)
  • Pods(Safe)
  • Gradle · Dart · CMake(Safe)

Xcode & simulators

The usual suspects behind a mysteriously full disk on any Mac that has built an iOS app.

  • DerivedData(Safe)
  • Device support files(Safe)
  • Simulator caches(Safe)
  • SwiftUI preview simulators(Safe)
  • Simulator devices(Review)
  • Archives(Be careful)

Package caches

Every tool keeps its own download cache. Headroom knows where each one lives and, where there is one, the command that clears it.

  • npm(Safe)
  • Yarn(Safe)
  • pnpm store(Review)
  • Bun(Safe)
  • Cargo(Safe)
  • Go modules(Safe)
  • Gradle(Safe)
  • Maven(Safe)
  • pip(Safe)
  • uv(Safe)
  • Homebrew(Safe)
  • Playwright browsers(Safe)

Containers & VMs

Big single files you shouldn't just delete. Headroom points you at the right prune command instead.

  • Docker Desktop(Be careful)
  • OrbStack(Be careful)
  • Colima(Be careful)
  • Podman(Be careful)
  • UTM(Be careful)
  • Parallels(Be careful)

AI models

Weights you pulled once to try something. Re-downloadable, but big enough that it's your call.

  • Ollama(Review)
  • Hugging Face(Review)
  • LM Studio(Review)
  • PyTorch hub(Review)
  • Whisper(Review)

Everything else

The rest of a lived-in Mac, including apps you haven't opened in six months (by Spotlight's last-used date).

  • App & browser caches(Safe)
  • Logs(Safe)
  • Installers in Downloads(Review)
  • Unused apps(Review)
  • iPhone & iPad backups(Be careful)
  • Trash(Safe)

node_modules Safe

Installed JavaScript packages. Only flagged next to a package.json, so your package manager’s install command brings them back.

Docker Desktop disk Be careful

All your images, containers and volumes in one file. Don’t delete it: Headroom looks inside and removes exactly the images, containers and build cache you pick.

docker builder prune
Agent-native

Ask Claude Code or Codex what’s eating your disk.

Headroom ships a command-line tool, an MCP server and an Agent Skill, so your coding agent can read your saved scans instantly, explain them, and stage a cleanup for you to confirm.

  • headroom CLI

    headroom suggest --text and friends answer from your saved scans, for you or your agent.

  • MCP server

    Run Headroom mcp over stdio. Works with any MCP client.

  • Agent Skill for Claude Code and Codex

    headroom install-skills teaches both agents when and how to use Headroom.

  • You stay in charge

    Agents can only stage items in the Cleanup Tray. Removing anything takes your click in Headroom.

zsh — ~/Developer
❯ headroom suggest --text
Macintosh HD · 494 GB used · saved scan, kept live by FSEvents

370 GB reclaimable  207 GB safe · 123 GB review · 41.1 GB be careful

 SAFE     45.8 GB  Rust build output       ~/Developer/pixel-engine/target
 SAFE     39.5 GB  node_modules            5 folders under ~/Developer
 SAFE     34.2 GB  Xcode DerivedData       ~/Library/…/Xcode/DerivedData
 SAFE     17.0 GB  Framework build caches  .next .turbo .wrangler (4)
 SAFE      9.6 GB  Device support files    ~/Library/…/iOS DeviceSupport
 REVIEW   41.7 GB  Simulator devices       5 devices · xcrun simctl
 REVIEW   36.4 GB  Hugging Face cache      ~/.cache/huggingface
 REVIEW   29.3 GB  Ollama models           ~/.ollama/models
 CAREFUL  38.0 GB  Docker Desktop disk     docker builder prune · docker image prune
          78.9 GB  + 18 more suggestions

 Ask your agent to stage any of these. You confirm in Headroom.
Claude Code · ~/Developersame in Codex
My disk is almost full again. What’s eating it?
headroom suggest

Your home folder is 431 GB of the 494 GB in use. Most of it is stuff your tools can rebuild:

431 GB
  1. ~/Library170 GB
  2. ~/Developer140 GB
  3. ~/.cache41.4 GB
  4. ~/.ollama29.3 GB
  5. ~/Downloads13.9 GB

207 GB is labeled Safe: Rust and Xcode build output, node_modules, framework caches and package caches. Want me to stage those?

Yes. Leave the models and Docker alone.

Done. The models and Docker are Review and Be careful, so they’re not included. Nothing is removed until you confirm in Headroom.

Cleanup Tray: 27 items · 207 GBStaged
Safe by default

Built to never be the reason you lost a file.

A disk cleaner has one job it must not get wrong. Headroom is careful about it.

Trash first, with Undo

Everything goes to the Trash and can be undone. Deleting immediately takes holding ⌥ on purpose.

Protected paths

System, account and keychain locations are always refused. Cloud-synced items and app data get a warning first.

Never downloads iCloud files

Scanning reads what’s on disk. It won’t pull files down from iCloud or trigger automounts.

No telemetry

No analytics, no account. What Headroom learns about your disk stays on your Mac.

Agents propose, you decide

The CLI, MCP server and skill can look and stage. Only you can confirm a removal.

Offline license

Your key is verified on your Mac with a signature check. No server call, and it works offline.

Pricing

Free to look. Pay once to clean forever.

Scan, explore and plan as much as you like. When you’re ready to clean, Lifetime is launch-priced: the earlier you buy, the less you pay.

Free

$0forever

Everything you need to find out where your space went.

  • Unlimited scans of any disk or folder
  • Sunburst and treemap, live via FSEvents
  • All ~80 cleanup suggestions and the duplicate finder
  • headroom CLI, MCP server and Agent Skill
  • 3 cleanups, on the house
Download free

macOS 15+ · Apple silicon & Intel

Free download · 3 free cleanups · scanning free forever. Lifetime is sold by Swirl Creative through Stripe. See the terms and the privacy policy.

FAQ

Questions, answered.

Why does Headroom ask for Full Disk Access?

Without it, macOS hides Mail, Messages, Safari, other apps’ containers and some system folders, and asks for permission when a scan reaches Desktop, Documents and Downloads. The totals would be incomplete.

Headroom works without it and shows what it couldn’t read as Hidden space. For the full picture, add it in System Settings › Privacy & Security › Full Disk Access and relaunch.

What counts as a cleanup?

One completed removal from the app (Move to Trash, Delete Immediately or Empty Trash) that removed at least one item. Clearing 40 node_modules folders in one go is one cleanup.

Scanning, browsing, suggestions, the duplicate finder, the CLI and MCP queries, and staging items are always free and never count.

Does any of my data leave my Mac?

No. There’s no telemetry and no account. Scans, file names and suggestions stay on your Mac, and license keys are verified offline.

What if it’s not for me?

You get a full refund within 14 days of buying, no questions asked.

Does it run on Intel Macs?

Yes. Headroom runs natively on Apple silicon and Intel Macs with macOS 15 or later.

How do Claude Code and Codex use it?

Run headroom install-skills to add the Headroom skill to Claude Code (~/.claude/skills) and Codex (~/.agents/skills). Agents then use the headroom CLI or the MCP server to read your saved scans, which is instant, and only scan when there’s nothing saved yet.

They can stage items in Headroom’s Cleanup Tray, but they can’t remove anything: you review and confirm in the app.

How does launch pricing work?

Lifetime starts at $5 and goes up $1 for every 50 copies sold, until it reaches $39. Whatever you pay, it’s a one-time price for lifetime access and every 1.x update. No subscription.

Is one license enough for my laptop and my desktop?

Yes. A license is for one person on all of their Macs, and includes every 1.x update. It’s a one-time purchase, not a subscription.

Headroom app icon

Get your headroom back.

Free download. Know exactly where your space went in seconds.

Download freeBuy lifetime — $5