For developers on macOS

Mop up after your builds and coding agents.

Mopup finds what development leaves on your Mac: build caches, merged git worktrees, Docker data, and the dev servers still holding your memory. Then it cleans up safely, without touching your code.

Free to scan · 14 days of everything · macOS 15 or later · $19 launch price, $29 after

Mopup's overview on a demo Mac: a ring showing 31.74 GB free of 494 GB with 85.4 GB safe to clean and the biggest of those items beside it, memory under pressure with the apps using the most and developer tools holding 12.47 GB, and 12.1 GB freed so far.

Screenshots show a demo Mac.

Why I built it

My Mac was down to 36 GB free. It wasn't my code.

Coding agents work in parallel git worktrees and start dev servers. Build tools cache everything. None of them clean up after themselves. This is what Mopup found on my own Mac in October 2026.

  • 36 GBfree on a 500 GB disk, with 13 GB of swap
  • 85 GBof build caches, safe to clean
  • 52git worktrees, 12 GB of them in branches already merged
  • 16 GBof memory held by Docker and one dev server a coding agent started and nobody stopped
  • 42processes in that one dev server, holding 7.6 GB
  • 8 hoursa workerd process kept running after its dev server quit

Some of these overlap, so they don't add up.

Projects

Merged worktrees go. Your branches stay.

Mopup checks every worktree against git and GitHub. A worktree is finished when its branch is merged, or its pull request merged on GitHub, and it holds nothing but generated files.

  • Squash merges count: Mopup asks GitHub through your gh command, because git alone can't tell.
  • Removal runs git worktree remove, never --force. Anything uncommitted stops it, and the branch stays.
  • Lists the generated folders in every project, like node_modules and build output, and ticks the ones in projects you haven't touched for 30 days.
Mopup's Projects section: merged git worktrees with their pull request numbers, what removing each one frees next to the bigger size Finder shows, and 13 items selected for 23.5 GB.
Memory

The dev servers nobody stopped.

Activity Monitor shows 33 bun processes. Mopup shows one row: the command, the folder it runs in, the ports it listens on, how long it has been running, and what started it, whether a terminal, an editor or a coding agent. Stop it, and everything it started stops too.

  • Helpers like workerd still running after their dev server quit.
  • Docker Desktop's virtual machine, holding memory with no container running.
  • Idle Gradle and Kotlin daemons, language servers, emulators and simulators.
  • Memory read the way macOS reads it: pressure, compression and swap, so you know when quitting something will help.
  • A notification when a dev server has sat idle for hours, with nothing connected to it and nothing changed in its folder. Stop it right from the notification, or let Mopup stop idle servers by itself.
Mopup's Developer Tools: bun run dev, idle for 2 hours and started 3 hours ago from Cursor, 16 processes holding 5.08 GB, then Docker Desktop, an idle Gradle daemon, an iOS simulator and a Kotlin daemon, each with a Stop button.
Slowdowns

Why is my Mac slow? One click tells you.

Mopup looks at what your Mac is doing right now and names what's slowing it down, in plain words, with what to do about it.

  • Memory pressure, and the dev server or app behind it.
  • Apps, emulators and simulators keeping the processor busy, Spotlight indexing, a Time Machine backup, heat, a nearly full disk and Low Power Mode.
  • A fix that quits or stops something says what it ends, and asks first.
Mopup's check of why a demo Mac is slow: three things. Memory is under pressure, with a button that stops an idle dev server to free 5.08 GB; Spotlight is indexing; and Docker Desktop is holding 4.53 GB.
Cleanup

Caches your tools rebuild, measured honestly.

Xcode, Android, Flutter, JavaScript package managers, Homebrew, folders old IDE versions left behind, and more. Each item says what happens if you remove it.

  • Anything you might want back, like iPhone backups, is marked Your call and never ticked for you.
  • Docker images, containers, volumes and build cache are pruned through Docker itself.
  • bun and pnpm share files between projects, so du overcounts node_modules. Mopup counts shared files once, so the size it shows is what you get back.
  • Uninstall apps completely: the app and what it keeps in your Library go to the Trash, and you see every folder first. Leftovers of apps you already deleted turn up too.
  • Finds files you have twice, like a download saved again or photos exported twice, and keeps one of each. Bursts and retakes from your camera or phone are grouped too, with the best shot marked.
Mopup's Cleanup section: Xcode build data, device support files, old simulators and Android caches, each with its size and what removing it means. Archives and an old emulator are marked Your call.
Every day

It keeps an eye out, so you don't have to.

Menu bar

Free space, memory pressure, the apps using the most memory and idle dev servers, a click away.

Alerts

A notification when memory stays under pressure, the disk is nearly full or a dev server sits idle.

Weekly check

Tells you when there's a lot to clean. Or let it clean the safe items by itself.

History

Every clean is recorded: when, what, and how much it freed.

Mopup's menu bar panel: memory is tight, 31.74 GB free, the apps using the most memory, 2 idle dev servers and 2 idle build daemons with Stop buttons, and a Why Is My Mac Slow? button.
Safety

Built not to delete the wrong thing.

  • Never touches your source code, git history or documents.
  • Never removes a worktree with anything uncommitted in it.
  • Items you might want back are marked Your call and never selected for you.
  • Files and apps you choose go to the Trash, one Restore away.
  • Scan results never leave your Mac. No analytics, no account.

Free to scan. Pay once.

$19 once

Launch price. $29 after launch.

  • Every Mac you own
  • Updates included
  • Scanning free, forever
  • 14 days of everything, free
  • No account, no subscription
  • 30-day refund, no questions

Prices in US dollars. Sales tax or VAT is added at checkout where it applies.

Questions

Is it safe?

Mopup only offers what your tools rebuild: caches, build output and the like. Anything you might want back is marked Your call and left unticked. A worktree is offered only when its work is merged and it holds nothing but generated files, and git refuses to remove one with uncommitted changes. Every clean is written to a history.

What does it never touch?

Your source code, git history, documents, and anything uncommitted in a worktree.

Why does it ask for Full Disk Access?

Some of what fills a Mac sits in folders macOS guards, like the Trash, Mail's downloads and iPhone backups. Mopup works without access and simply skips those folders. You can grant or remove it any time in System Settings › Privacy & Security.

Does it work offline?

Yes. Scanning and cleaning happen on your Mac, and your license is checked on your Mac too. Only checking for updates, and asking GitHub which pull requests merged, use the network.

What happens when the trial ends?

Scanning keeps working, so you can always see what's taking up space. Cleaning needs a license.

Can I use it on more than one Mac?

Yes, on every Mac you own.

How do I get my license?

Right after you pay, the thank-you page shows your license with a button that activates Mopup. You can also paste it into Mopup's Settings. If you lose it, recover it with your email and order number.

Can I get a refund?

Yes, within 30 days, for any reason. Write to support@mopup.online or contact Paddle, who handle the payment.

What do I need?

macOS 15 Sequoia or later. Mopup knows about the GitHub side of worktrees if you have the gh command signed in, and about Docker's images and volumes while Docker is running.

Does it uninstall apps or find duplicates?

Both. Applications lists your apps with their size and when you last opened them, and moves an app and what it keeps in your Library to the Trash. Duplicates finds files that are exactly the same in your own folders, with a thumbnail of each copy, and keeps one of each, and it groups similar photos, like bursts and retakes, with the best one marked. All of it happens on your Mac. Photos already merges duplicates inside its library (Utilities › Duplicates), so Mopup leaves the library alone.

Something's missing or broken. How do I tell you?

Use the feedback page, or Help › Send Feedback in the app. I read every message, and they decide what gets built next.

Who makes it?

Suman Maharjan, an independent developer. Write to support@mopup.online and you'll hear back from me.