Apps & uninstalling
Why Dragging Apps to the Trash Doesn't Actually Delete Them
Why dragging apps to the trash doesn't actually delete them on Mac — and what to do instead to remove every file, helper, and preference.
Apple’s “drag the app to the trash” model is one of the most successful UX lies in computing. It feels clean, it feels final, and for the first ten years of OS X it was mostly accurate. Today it’s neither.
A modern Mac app is not one file. It’s the .app bundle plus a long tail of support files scattered across your user library. Dragging the bundle to the trash deletes the bundle. The tail stays.
What’s actually in /Applications
When you look at /Applications/Slack.app in Finder, you’re looking at one item. Right-click it, choose Show Package Contents, and you’ll see what’s inside — code, resources, frameworks. That’s the bundle. It’s everything the app needs to run, packaged into a single folder that Finder treats like a file.
That bundle is the only thing that actually gets deleted when you drag the app to the trash. Everything else the app has touched stays where it is.
What gets left behind
For a typical mid-sized app, dragging the .app to trash leaves all of the following behind:
~/Library/Application Support/<App>/— saved data, sometimes gigabytes~/Library/Caches/<bundle-id>/— temp files, frequently large~/Library/Preferences/<bundle-id>.plist— settings~/Library/Containers/<bundle-id>/— sandboxed app data~/Library/Group Containers/<group-id>/— shared between an app and its extensions~/Library/Logs/<App>/— diagnostic logs~/Library/Saved Application State/<bundle-id>.savedState/— window positions~/Library/LaunchAgents/<label>.plist— auto-start helpers/Library/Application Support/<Vendor>/— system-level installs/Library/PrivilegedHelperTools/— privileged helpers (Adobe, anti-virus, etc.)
For a small Mac App Store utility, this might be 50 KB total. For Slack, 3+ GB. For Adobe Creative Cloud, easily 10+ GB across all the locations.
Why Apple lets it work this way
There are good reasons, even if they’re frustrating:
- Reinstall continuity. If you accidentally trash an app and reinstall, your preferences and saved data come back automatically. macOS treats app data as the user’s, not the app’s.
- Sandbox safety. App Store apps live in
~/Library/Containers/<bundle-id>/. Apple wants to be cautious about removing any of that without explicit permission. - Cross-app dependencies. Group Containers can be shared. Removing one might break a different app that’s still installed.
The combination means the safe default is “leave it.” That’s fine if you remember to clean up, terrible if you don’t.
A demonstration
Open Activity Monitor and look for the names of apps you don’t have installed anymore — sometimes you’ll find a helper running, a LaunchAgent having spawned a process from an executable that no longer exists. Even more common: the helper fails on launch every time you log in, the failure gets logged, you never see it, and your boot time slowly creeps up.
Or open Console, search for “exited with status 78” or “Couldn’t posix_spawn.” Those are typical failures from LaunchAgents pointing at missing executables.
What “delete” should mean
A complete delete on Mac means:
- Quit the app and any helpers
- Remove the
.appbundle from/Applications - Remove every file the app wrote to
~/Libraryand/Library - Remove any LaunchAgents/LaunchDaemons that auto-start helpers from those locations
- Empty the Trash
Drag-to-trash does step 2. The other four steps are on you.
Doing it manually
If you want to do this without a tool, the workflow is:
- Quit the app. Check Activity Monitor for any related processes still running. Quit those too.
- Drag the
.appfrom/Applicationsto Trash. - Find the bundle ID:
osascript -e 'id of app "AppName"'in Terminal. - In Finder, hit Cmd+Shift+G and visit each library location, searching for the app’s name and bundle ID.
- Delete matching folders and files.
- Check
~/Library/LaunchAgents/,/Library/LaunchAgents/,/Library/LaunchDaemons/. Delete entries belonging to the app. - Empty Trash.
Plan on five minutes per app once you’ve done it a few times. Less if it’s a clean app, more if it’s Adobe.
Why this matters
A few reasons leftover files are worth caring about:
- Disk space. On a typical Mac that’s been used for a few years, leftover app data accounts for 10–40 GB. On a 256 GB SSD, that’s 4–16% of your storage doing nothing.
- Login speed. Orphan LaunchAgents fail at every login, slowing boot.
- Bug reproduction. Stale preferences keep bugs alive across reinstalls.
- Privacy. Some leftover caches contain sensitive content — message attachments, browser data, sync metadata.
It’s not a crisis. It’s just an accumulating tax on a Mac you’d want to feel snappy.
What macOS itself does to help
Honestly, not much. macOS has no built-in cleanup utility for orphaned app data. System Settings → General → Storage → Recommendations shows large files but doesn’t identify orphans. The “Optimized Storage” feature offloads documents to iCloud — useful, but unrelated to leftover app debris.
Apple’s stance is essentially “use the App Store and trust developers to clean up.” For non-App-Store apps, which is most professional software, you’re on your own.
Doing it with Sweep
Sweep’s app uninstaller exists because the manual process is tedious enough that most people skip it. The tool finds the .app, hunts down everything matching the app and its bundle ID across ~/Library and /Library, identifies stale LaunchAgents, and presents the whole list with sizes before deleting anything.
The preview is the part that matters. You see exactly what’s about to be removed and can untick anything you want to keep — license files, project data, anything that might be useful for a reinstall.
When drag-to-trash actually is enough
Some apps are clean. They store everything in one folder, don’t install helpers, don’t write to system locations. For those, drag-to-trash is fine.
The list of apps that fall into this category is short though:
- Many App Store utilities (small, sandboxed)
- Single-file apps from indie developers
- Apps you’ve used for less than a day
Anything else — anything with a menu bar icon, an auto-updater, a sync component, or a “professional” feel — almost certainly leaves files behind.
Honest summary
Dragging an app to the trash is a deletion in the way that closing a browser tab is closing a session — it removes the visible part and leaves the rest. macOS is fine with that. Your disk is fine with that for a while.
But for any serious clean — recovering disk space, resetting an app to first-run, getting rid of an app that’s been quietly hooking into your login — you need to remove everything, not just the bundle.
That means a manual hunt through ~/Library, or a tool that does it for you. Either way, the trash icon is just step one of about seven.