Applications

Clean uninstalls on a Mac: what the Trash leaves behind

Uninstalling an app on a Mac looks trivial: drag it to the Trash and you are done. In reality, the icon you move is only the .app bundle. Everything the app created during its life (preferences, caches, databases, startup agents) stays where it is, sometimes for years. That hardly matters for a small utility, but it can mean gigabytes for a video editor, a development environment or a creative suite. Here is where those leftovers live, which official methods exist and how to clean up without breaking anything.

Why dragging an app to the Trash is not enough

macOS keeps programs and their data apart. The .app bundle holds the code, resources and translations; everything specific to you is written elsewhere, in your account's Library. It is a sound design (an update replaces the bundle without touching your settings), but it means that deleting the bundle removes nothing else.

The usual locations, all inside ~/Library (a hidden folder you can reach from the Finder's Go menu while holding Option):

  • Application Support: databases, libraries, downloaded models. Often the heaviest part.
  • Caches: data that can be rebuilt, sometimes several gigabytes for a browser or an editing app.
  • Preferences: .plist settings files, tiny but numerous.
  • Containers and Group Containers: the isolated space of sandboxed apps (App Store apps in particular) and data shared between apps from the same developer.
  • LaunchAgents: small files that relaunch a helper or an updater every time you log in.
  • Saved Application State: window state used to restore apps after a restart.

Some apps also install system-level components in /Library/LaunchDaemons, /Library/Application Support or as extensions. Removing those requires an administrator password.

Official methods to try first

Before reaching for any third-party tool, check whether the developer provides its own procedure. It is the safest route for software that installs drivers, extensions or services.

  • The developer's uninstaller: Adobe, Microsoft, antivirus tools, virtualization software and printer drivers often ship an "Uninstaller" in the original disk image or in the app folder. Use it: it knows how to remove its own system extensions cleanly.
  • App Store apps: in Launchpad (macOS Sequoia and earlier), hold Option and click the cross; otherwise drag the app from the Applications folder to the Trash. Their sandbox container, however, often stays in ~/Library/Containers.
  • Homebrew: for an app installed as a cask, brew uninstall --zap cask-name removes the app plus the files listed in the recipe (preferences, caches, agents). It is one of the most thorough methods, provided the recipe is up to date.

For an app installed by an administrator (in /Applications with system components), macOS will ask for authorization. That is expected: decline if you are not sure what you are removing.

Agents that outlive the app

The most annoying leftover is not the one taking up space, it is the one still running. An orphaned updater, a sync helper or a licensing daemon can keep launching at every startup long after the main app is gone.

To check, open System Settings > General > Login Items & Extensions. You will find two lists: items opened at login and items allowed in the background. A developer name for which you no longer have any app is an obvious candidate. Turn it off first; if nothing is missing after a few days, remove the matching file in LaunchAgents or LaunchDaemons.

In MacNeat, the Élan module lists these login and background items with their origin, so you do not have to dig through folders by hand.

Reset instead of uninstalling

Many uninstalls start with a problem: an app crashes on launch, freezes or rejects its license. In that case, deleting and reinstalling it often achieves nothing, because the fresh install finds exactly the same corrupted preferences and caches.

The better approach is to reset the app: keep the .app bundle but set its data (preferences, caches, saved state) aside. The app starts as on day one. Be aware that a reset can wipe settings or local data that is not synced: export whatever matters first.

The case of Intel-only apps

On an Apple silicon Mac, an app that only contains Intel code runs through Rosetta 2. It works, but uses more resources and may stop launching on the day Apple removes Rosetta, which it has announced for a future macOS release. To spot these apps, select one in the Finder and open the Get Info window: the Kind field reads "Application (Intel)" or "Application (Universal)".

It is a good moment to sort things out: look for a recent version, find an alternative, or uninstall what you have not opened in months.

What Catalogue does in MacNeat

The Catalogue module brings these steps together in one view, without deleting anything on your behalf:

  • Inventory: every app with its size, version, source (App Store, Homebrew, direct download), architecture and last opened date. A dedicated tab lists incompatible apps (Intel only).
  • Available updates: checked against the App Store (if the mas tool is installed), Homebrew and the update feeds built into apps.
  • Complete uninstaller: before any action, the related items (preferences, caches, containers, agents) are listed with their size.
  • Leftovers: files whose identifier no longer matches any installed app. Those from a developer that is still installed are labeled "Developer still installed" and flagged for review, since another app may still use them.
  • App reset: the data is reset, the app itself is kept.

Everything goes to the Trash and every operation is logged, so it can be undone. Scanning is free; removal requires a license (7-day trial). MacNeat runs on Apple silicon and Intel Macs, and the analysis happens locally. For a step-by-step walkthrough, see our guide to uninstalling apps cleanly.

Frequently asked questions

Do app leftovers slow down my Mac?
Inert files (preferences, caches) slow nothing down: they only take up space. An orphaned startup agent, on the other hand, uses a few resources and can trigger error messages. That is what you should check first.
Can I delete everything in ~/Library/Caches?
Caches can technically be rebuilt, but emptying the whole folder forces every app to rebuild everything and can cause odd behavior if they are open. It is better to target caches from uninstalled apps or very large ones, with the apps closed.
Why is a "Developer still installed" file not selected by default?
Because developers often share data between their apps (licenses, common settings). A file left by a removed app may still be used by another app from the same developer, so it is worth reviewing before you remove it.
What if I uninstall an app by mistake?
With MacNeat, the app and its files are moved to the Trash, not erased: you can undo the last operation or put them back as long as the Trash has not been emptied. An App Store app can also be downloaded again from your purchase history.