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.
- 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.
Your coding agent can read the scan too.Works withClaude CodeCodexCursorany MCP clientandChatGPT
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.
du20 sdu on the same 1.25M filesScanning
A scan shows the biggest folders as it finds them, so you see the answer before it finishes.
Recreated from the app’s ScanProgressView view, with the sample disk. It plays on a loop; use any control to take over.
Scanning Developer
- Files
- 0
- Speed
- —
- Elapsed
- 0.0 s
~/Developer/pixel-engine/target/debug
CancelBiggest so far
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 pruneCleanup Suggestions › Developer
Every rule has a plain explanation and a safety label. Tick what you want; nothing moves until you confirm.
Recreated from the app’s CleanupView view, with the sample disk. It plays on a loop; use any control to take over.
207 GB of suggestions
Every suggestion is based on where the item lives and what created it. Nothing is removed until you confirm, and items go to the Trash first.
- 45.8 GB
- 41.7 GB
- 34.2 GB
- 18.6 GB
- 11.2 GB
- 9.6 GB
- 7.9 GB
- 6.4 GB
- Showing 8 of 17
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.
headroomCLIheadroom suggest --textand friends answer from your saved scans, for you or your agent.- MCP server
Run
Headroom mcpover stdio. Works with any MCP client. - Agent Skill for Claude Code and Codex
headroom install-skillsteaches 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.
❯ 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.
What your agent can ask
The same nine tools as headroom commands, MCP tools and the Agent Skill. They answer from your saved scans, so replies come back instantly.
headroom overviewMCP tool: disk_overviewFree space per disk and what fills the startup disk. Agents start here.
headroom treeMCP tool: folder_treeNested folder sizes, largest first.
headroom topMCP tool: largest_itemsThe largest files or folders anywhere under a folder.
headroom searchMCP tool: search_filesNames containing some text, largest first.
headroom suggestMCP tool: cleanup_suggestionsCleanup suggestions with a safety label, an explanation and the owning tool's command.
headroom dockerMCP tool: docker_usageWhat each Docker engine stores and what uses it. Read-only.
headroom recentMCP tool: recent_changesBig things added lately, like build output, worktrees and downloads, and what probably made them.
headroom openMCP tool: open_in_headroomShows a folder or file in the Headroom app.
headroom stageMCP tool: stage_for_cleanupAdds items to the Cleanup Tray. Removing them takes your click in Headroom.
AI Agents
Connect Claude Code, Codex or Cursor in one click.
Recreated from the app’s AgentsView view, with the sample disk. It plays on a loop; use any control to take over.
AI Agents
Connect Headroom to the AI tools you use. They can then see what’s taking space and stage cleanups for you to confirm. Headroom’s tools only read; nothing is deleted without you.
- Claude Code Connected~/.claude.json
- CodexNeeds repair: points to an old copy of Headroom~/.codex/config.toml
- CursorNot connected~/.cursor/mcp.json
- VS CodeCan’t edit automatically: the file has comments (line 3)~/Library/Application Support/Code/User/mcp.jsonCopy SnippetOpen Config
Also available
The headroom command answers the same questions in Terminal, and the skill teaches Claude Code and Codex when to use it.
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.
Cleanup Tray
Collected items wait in the tray. Move to Trash, then Undo: the free cleanup comes back too.
Recreated from the app’s CleanupTrayBar view, with the sample disk. It plays on a loop; use any control to take over.
Items you (or your agent) collect wait here. Nothing is removed until you press Move to Trash.
- pixel-engine › target45.8 GB
- Xcode DerivedData34.2 GB
- acme-web › node_modules18.6 GB
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
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
macOS 15+ · Apple silicon & Intel
Headroom Lifetime
Launch pricing: +$1 every 50 copies until $39. Early buyers keep lifetime access.
- Everything in Free
- Unlimited cleanups
- One person, all of their Macs
- All 1.x updates
- Bonus: Barely, the last text editor
- 14-day refund, no questions asked
Secure checkout by Stripe. Your key appears right after payment.
Free download · 3 free cleanups · scanning free forever. Lifetime is sold by Swirl Creative through Stripe. See the terms and the privacy policy.
Unlimited cleanups
After the three free cleanups, this is the only thing Headroom ever asks you to buy.
Recreated from the app’s PaywallView view, with the sample disk. It plays on a loop; use any control to take over.
Get unlimited cleanups for life
You’ve used your 3 free cleanups.
$5 once
Launch price: goes up $1 every 50 copies
- Unlimited cleanups on all your Macs
- All 1.x updates included
- Scanning and browsing are always free
But wait, there’s more!
Step 4 of 5 · Bonus software
Install Barely too?
Headroom Lifetime comes with Barely, the last text editor, free. It’s a native Mac code editor that opens in 0.2 seconds, uses 34 MB of memory and fits on one floppy disk. No account, no telemetry, no AI.
Components to install:
- Headroom Lifetime$5
- Barely, the last text editorFREE
Space required: 1 floppy disk. Space you’ll get back: probably gigabytes.
Buy Headroom Lifetime and Barely downloads from your receipt page at no extra cost. Barely needs an Apple silicon Mac with macOS 26.
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. Just email help@swirlwebdesign.com.
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.
Settings › License
One license, activated on each of your Macs, checked offline. The name and email are an example.
Recreated from the app’s LicenseSettingsSection view, with the sample disk. It plays on a loop; use any control to take over.
License
Get your headroom back.
Free download. Know exactly where your space went in seconds.
Welcome to Headroom
The first thing Headroom asks. Developers get Docker, AI agent connections and the command-line tool.
Recreated from the app’s WelcomeView view, with the sample disk. It plays on a loop; use any control to take over.
Welcome to Headroom
Do you write code on this Mac?
You can change this anytime in Settings or the Headroom menu.