A native macOS app for Apple silicon

Give your Mac some headroom.

Headroom finds out what’s using your disk and memory, explains it in plain language, and helps you get space back safely. Nothing is deleted directly: it all goes to the Trash first, and History can put it back.

Version 0.6.0 · macOS 15 or later · Apple silicon · Scans never leave your Mac

Headroom's Home screen: “Memory and Storage need attention.”, a status board for memory, swap, thermals, storage, power and local AI, dials for disk, memory, CPU and swap, and three next steps, each with one button.

Knowledge rules

112

Each says what a folder is, who made it and whether it’s safe to remove.

Safety levels

3

Safe, Review and Keep. Keep is explained, never offered for deletion.

Deleted directly

0

Files go to the Trash, and History can put them back.

Themes

67

Colors, type and corners change. The layout never does.

The tour

One app for your disk, your memory, your local AI and your iPhone.

Every screen opens with one sentence on what matters and one button for it. Pick one, just like in the sidebar.

The Home screen: “Memory and Storage need attention.”, a row of status cells, dials for disk, memory, CPU and swap, and three numbered next steps with buttons such as Free memory and Open Review.
Home. One sentence on how the Mac is doing, a status board for memory, swap, storage, thermals, power and local AI, four dials, and at most three next steps, each with one button.

System Data

That grey bar, finally explained.

macOS shows “System Data” as one grey bar and leaves it there. Headroom takes it apart: what each piece is, who made it, and whether you can remove it without losing anything.

≈ 292.66 GB of System Data

From a real scan of a 16 GB MacBook Pro used for development.

  • App dataSettings, databases and downloaded content apps keep in your Library folder.35%102.56 GB
  • Developer toolsSDKs, simulators, toolchains, package managers and build output.20%58.59 GB
  • Not measuredSpace in folders macOS doesn’t let Headroom read without Full Disk Access.11%31.25 GB
  • Managed by macOSSwap, sleep image, Spotlight index and system assets. macOS manages these on its own.8%22.66 GB
  • VMs & containersDocker, virtual machines and emulators. Their disks grow and rarely shrink.8%22.21 GB
  • AI modelsLocal AI models (Ollama, Hugging Face, speech models). Each one is several GB.7%20.39 GB
  • CachesFiles apps keep to load faster. They’re rebuilt automatically.6%18.34 GB
  • Temporary filesLeftovers from running programs. macOS clears some of them when you restart.4%12.86 GB
  • LogsDiagnostic and crash logs.1%3.59 GB
  • OtherFolders Headroom couldn’t identify yet.0%201.7 MB

Every finding explains itself

Xcode build cache

Safe

Developer tools

Intermediate build files for every project you’ve built (DerivedData). Xcode rebuilds them the next time you build.

Quit Xcode first

Homebrew downloads

Safe

Caches

Installers Homebrew downloaded. Cleaned together with old package versions.

brew cleanupshown before it runs

Docker Desktop

Review

VMs & containers

Docker’s Linux virtual machine: images, containers, volumes and build cache.

docker system pruneshown before it runs

Mail

Keep

Your files

Your email and attachments. Manage them in Mail, not here.

How it stays safe

Nothing is deleted directly.

Everything Headroom removes goes to the Trash first, and History can put it back. Before anything goes, it’s checked again, and anything that needs a closer look waits for you.

Safe

Safe to remove

Rebuilt automatically when needed. Removing it doesn’t lose any of your work.

Caches, build output, package downloads, leftovers in /tmp.

Review

Review first

Probably fine to remove, but it may hold something you or an app still wants.

Docker’s disk, simulator devices, node_modules, local AI models.

Keep

Keep

Managed by macOS or holds your own data. Headroom explains it but won’t delete it.

Mail, Messages, Photos, iCloud Drive, swap, the Spotlight index.

Checked again, right before anything goes

  1. Protected locations are never touched. Every spelling of a path is normalized first: /var and /private/var, Data-volume paths, “..”.

  2. Folders in use are blocked. If a running program works in a folder, like an agent’s worktree or a database’s data folder, it stays.

  3. Uncommitted work is blocked. Git checkouts with changes you haven’t committed are left alone. Trashed worktrees are pruned from their repository.

  4. Apps are quit first. A cache waits until the app that owns it is closed.

  5. Admin work is opt-in, and fixed. Anything that needs an administrator is there to copy, unless you install the helper, which does four fixed things and never takes a command.

  6. Duplicates are compared again. Right before acting, Headroom checks the copies are still identical.

The Review screen: 28 cache items, each with a red note asking to quit the apps that use them first. The Move to Trash button counts only the 777.6 MB that is ready.
Review is the only place anything gets removed. These caches are safe, and they still wait until their apps are quit: the button counts only what’s ready.

You see the command first

Tool cleanups run only after you confirm, and Headroom shows you the exact command before it does.

$ brew cleanup
$ xcrun simctl delete unavailable
$ docker system prune
$ ollama rm qwen2.5vl:7b

AI never decides

A local model only gives a second opinion on folders the knowledge base doesn’t know, from their names and sizes. An AI “yes” is capped at Review, and Headroom checks there’s enough free memory before it loads one.

Put it all back

History records every cleanup, one entry per day, with the space recovered and “Put back all” for a day or a category. Until you empty the Trash, nothing is gone.

Duplicates

Duplicates, without broken paths.

Headroom finds byte-identical files and gives you the space back without breaking anything that points to them. It even spots APFS clones, so it never promises space that deleting wouldn’t free.

  1. 1

    Same size

    A file with a size nothing else has can’t have a twin.

  2. 2

    Same first and last 64 KB

    A quick look at both ends rules out most near-misses.

  3. 3

    Same SHA-256

    A hash of the whole file confirms it, byte for byte.

  4. Identical

In your own folders

Extra copies go to the Trash

Downloads, Desktop, Documents and your media. Headroom suggests which copy to keep, and you can put the others back from History.

Everywhere else

A copy becomes an APFS clone

SDKs, toolchains, projects and app data expect their files to be there. So both paths stay, and they share one copy on disk.

…/2026.09.02/node…/2026.09.23/node
145.8 MB, stored once
  • Git checkouts are skipped.
  • Cloud drives are skipped, and cloud-only files are never downloaded.
  • Copies are compared again at the moment Headroom acts.

Local AI

Run local models without freezing your Mac.

On Apple silicon, a model loads into the same memory as your apps. A 7–8B model at Q4 needs roughly 5–7 GB, counting its context cache. When that much isn’t free, macOS compresses and swaps your apps, and everything stalls. Headroom was built for a 16 GB MacBook Pro that runs local models, so it watches memory as closely as disk.

Unified memory · 16 GB

Can I load qwen2.5vl:7b right now?

Won’t fit now

Needs about 6.09 GB but only 4.36 GB is free. Loading it now would push your apps into swap and can freeze the Mac. Quitting Firefox (3.98 GB) would make room.

  • qwen2.5vl:7b8.3B · Q4_K_Mneeds ~6.09 GBWon’t fit now
  • qwen3:8b8.2B · Q4_K_Mneeds ~5.58 GBTight
  • qwen2.5:7b-instruct7.6B · Q4_K_Mneeds ~4.9 GBTight
  • qwen2.5:3b-instruct3.1B · Q4_K_Mneeds ~2.29 GBFits now
  1. Measures the real footprint

    From each model’s architecture (layers × KV heads × head size × context), not just its file size.

  2. Compares it with what’s free now

    Every installed model gets a verdict, and Headroom names the apps to quit to make room.

  3. Guards against freezes

    While a model is loaded it watches memory pressure, warns you, and can unload the model before the Mac locks up.

  4. Tunes Ollama for your RAM

    Recommended settings, applied with launchctl setenv when you say so.

Ollama settings for 16 GB

OLLAMA_MAX_LOADED_MODELSA chat model and a small embedding model, no more.
2
OLLAMA_NUM_PARALLELEach parallel slot copies the context.
1
OLLAMA_KEEP_ALIVEMemory comes back soon after use.
2m
OLLAMA_FLASH_ATTENTIONLeaner attention; needed for the next one.
1
OLLAMA_KV_CACHE_TYPEHalf the context memory.
q8_0
OLLAMA_CONTEXT_LENGTHA 4K default context.
4096

Memory

What to free, and the button for it.

One sentence says whether memory is costing speed and how much would make it all fit again. Then every app, dev server and model that could give memory back, biggest first, each with its own Quit, Relaunch, Stop or Unload. The idle ones are suggested together, and Autopilot can unload a model that sits idle while memory is high.

macOS doesn’t label swapped memory with its app, so Headroom also shows which apps hold the compressed memory that ends up there.

The Memory screen: “Memory is tight, and some of it is moving to disk.”, dials for memory in use, free, compressed and swap, and a What to free list where each app has its own Relaunch button.

Live · 1 Hz

Launch control for your Mac.

Black, hairlines and white traces: dials, a live chip map of every core, and strip charts with limit lines for CPU, memory, GPU, SSD, network, power, temperatures and fans. Point at any moment of the last five minutes, see the peaks, and export it. It only samples while you’re looking at it.

The telemetry dashboard in black with hairlines: a systems checklist on the left, dials for CPU, memory, GPU and swap with their averages and peaks, an Apple M1 Pro chip diagram, and charts of CPU, memory and disk over five minutes.
Five minutes of history at a glance, with the limits drawn in: CPU saturation, physical RAM, the 80% line.
  • Briefings, not just numbers

    Memory, swap, thermals, fans, storage, power, local AI: each one explains itself, names the apps behind it and says what to do.

  • Every readout explains itself

    Hover any gauge or number to see what it measures and when to worry.

  • A freeze detector for local AI

    A chart of the loaded model’s memory against free memory, so you see a freeze coming.

  • Scrub, peaks and export

    Rest the pointer on any chart and every chart shows that moment. Dials mark their peaks, Export saves the readings as CSV, and the dashboard pops out to a second display.

Menu bar console

The whole picture, one click away.

CPU, memory and GPU gauges, status lights, a two-minute memory trace, loaded AI models with an Unload switch, the top consumers and your disk. The menu bar icon is itself a gauge that follows memory use.

The freeze guard keeps running from there, even with the main window closed.

The menu bar console in black: dials for CPU, memory and GPU, status cells for pressure, swap, thermal and power, a two-minute memory trace, a Free up memory panel, the AI payload with the freeze guard armed, the top memory consumers and the disk.

Your iPhone and iPad, from your Mac.

Plug one in, or keep it on the same Wi‑Fi, and it gets a console in the same launch-control look as Telemetry: one sentence on what’s wrong (nearly full, a worn battery, restarts, an app that keeps crashing), a checklist of its systems, and dials for storage, charge, battery health and temperature. Headroom only reads; it never changes anything on the device.

The iPhone & iPad console: MY IPHONE linked over USB, “Instagram crashed 3 times on My iPhone this month.”, segments for an iPhone and an iPad, a systems checklist, dials for storage, charge, battery health and battery temperature, a storage map and readouts.
  • Storage and apps

    What fills the device, every app by size with its data, and where on the device to offload the ones you rarely use.

  • Battery health

    Charge, health against when it was new, charge cycles and temperature. It says when the battery is worn enough to replace.

  • Problems in the last 30 days

    Crashes, apps running out of memory, unexpected restarts and heavy CPU use on a 30-day timeline, from the reports the device kept, with the apps behind them.

  • Backups on this Mac

    Every Finder backup with its size and age. Older ones go to Review, then the Trash, so History can put them back.

Set up once

Headroom talks to devices with libimobiledevice, the free tools Finder’s protocol is built on. It shows the command to copy:

brew install libimobiledevice ideviceinstaller

Then unlock the device and tap Trust. For Wi‑Fi, turn on “Show this iPhone when on Wi‑Fi” in Finder once.

Ask Headroom

Ask your Mac what’s wrong.

Ask Headroom answers from what it measures right now: memory and swap by app, CPU, temperatures, the disk scan and your local models. Every telemetry briefing has an “Ask Headroom” button, too.

  • “Why is my Mac slow?”
  • “Why does Firefox use so much memory?”
  • “What can I delete?”
Ask Headroom, answering “Why is my Mac slow right now?” The sample answer explains that memory is the bottleneck and swap is moving, says freeing about 6 GB would make everything fit, and offers Relaunch Firefox and Open Memory buttons.

Pick who answers, in Settings ▸ Assistant

  • On this Mac

    Apple Intelligence · Ollama

    Nothing leaves your Mac.

  • With your ChatGPT sign-in

    Codex

    Through the Codex CLI, with its commands, browser and plugins switched off, so it can only answer.

  • With your own API key

    Claude · OpenAI · Grok

    The key is kept in your keychain.

Cloud providers get a summary

App names, sizes and readings. Never file contents, file paths or browsing data.

Nothing happens until you click

Answers can offer buttons: quit an app, unload a model, open a screen, add safe items to Review.

Themes

67 themes. One layout.

Headroom’s own three looks, Launch among them, the 10 Cardy skins and all54 Noted themes. Themes change colors, type and corners only: layouts stay the same, and button text always meets 4.5:1 contrast. Try one.

Headroom

Headroom's own look: blue-tinted grays and a bright blue accent.

Headroom’s own 3

Cardy skins 10

From Noted 54

Get started

Set up in a minute.

  1. 1

    Install Headroom

    Unzip it, move it to your Applications folder and open it. The first time, macOS says it can’t check the app: open System Settings ▸ Privacy & Security and click Open Anyway. After that, Headroom updates itself: it checks once a day, and installing takes one click.

  2. 2

    Turn on Full Disk Access

    In System Settings ▸ Privacy & Security ▸ Full Disk Access, add Headroom and switch it on. Without it, macOS hides the Trash, Mail, Messages, Photos and other apps’ private folders, and that space shows up as “Not measured”. Headroom only reads them.

  3. 3

    Scan, then review

    Everything Headroom finds is sorted into Safe, Review and Keep. Nothing is removed until you confirm it in Review, and results are kept after you quit.

Questions

Good questions to ask a cleanup app.

Will Headroom delete anything on its own?

No. Nothing is removed until you confirm it in Review, files go to the Trash rather than being deleted, and History can put them back. Tool cleanups like brew cleanup or docker system prune run only after you confirm, and you see the exact command first.

Why does it want Full Disk Access?

Without it, macOS hides the Trash, Mail, Messages, Photos and other apps’ private folders, so that space can only be shown as “Not measured”. Headroom only reads those folders, and things like Mail and Messages are marked Keep: explained, never offered for deletion.

Does anything leave my Mac?

Scans, duplicate searches and app reviews stay on your Mac. Ask Headroom answers on your Mac with Apple Intelligence or Ollama. If you pick a cloud provider instead, each question sends a summary of app names, sizes and readings: never file contents, file paths or browsing data.

What does the local AI do with my files?

Only a second opinion on folders the knowledge base doesn’t recognize, from their names and sizes. It never decides: an AI “yes” is capped at Review. Headroom checks there’s enough free memory before it loads a model.

Can I undo a cleanup?

Yes. History keeps one entry per day with every category inside, and “Put back all” restores a day or a category, as long as the files are still in the Trash.

Do I need Ollama?

No. Ollama powers the Local AI screen and the optional second opinions. Everything else works without it.

Does it change anything on my iPhone or iPad?

No. Headroom only reads a device: storage, battery, apps and the crash reports it kept. To free space on it, Headroom tells you where to offload apps on the device itself. The only thing it can remove is an old backup on your Mac, through Review and the Trash like everything else.

How do I get updates?

Headroom checks this website once a day, and you can check any time from the Headroom menu or Settings ▸ General. When there’s a new version, the sidebar offers it. Before installing, Headroom checks the download against its published checksum and makes sure it’s signed by the same developer, then restarts into it.

Which Macs does it run on?

Macs with Apple silicon running macOS 15 Sequoia or later.

Give your Mac some headroom.

See what’s using your disk and memory, and get space back without the second thoughts.

Version 0.6.0 · macOS 15 or later · Apple silicon