Uninstall and leftovers

How Uninstall decides what belongs to an app, what Leftovers lists, and what a sandboxed app cannot remove.

Uninstalling an app

Select an app and choose Uninstall from the inspector or the context menu. SpareDisk reads the app's bundle identifier from its Info.plist and looks under your Library for containers, group containers, caches, preferences, saved state, web storage, logs and scripts with that identifier. Those are checked. Folders that only share the app's name or vendor are shown as possible matches and start unchecked. Add to Review stages what you ticked; nothing moves until you confirm in Review Cleanup.

Why Uninstall is sometimes unavailable

It is disabled while the app is running, when the app cannot be moved (for example one owned by the system, which needs an administrator password only Finder can ask for), and when your home folder has not been added, because the app's data lives under its Library.

What Leftovers lists

Entries in the Library folders that are named by a bundle identifier, such as com.example.App, for which no installed application claims the identifier or any of its parents. Helpers like com.example.App.Helper belong to com.example.App. A copy of an app sitting in the Trash or in a build folder does not count as installed. Apple's own identifiers are never listed.

Deciding what to move

Each group names the app and shows every item with its kind, place and date. Move to Trash on a group asks first and checks each item again before moving it. Some identifiers belong to command-line tools or to apps kept outside the usual folders, so read the name before moving anything.

What stays out of reach

Login items, launch agents and daemons in /Library, kernel and system extensions, and anything under /private cannot be read or removed by a sandboxed app. After removing an app, check System Settings, General, Login Items for anything it registered.

Questions not covered here: [email protected].