The short answer
Quit the app, use its own uninstaller if it has one, then drag it from Applications to the Trash. Its leftovers live in your Library folder under its bundle ID, such as ~/Library/Containers/<bundle ID>, ~/Library/Caches/<bundle ID> and ~/Library/Preferences/<bundle ID>.plist. Find the bundle ID with mdls, search for files that match it exactly, and move them to the Trash. Then check System Settings → General → Login Items & Extensions for helpers it left behind.
On this page
Why dragging to the Trash isn't complete
A Mac app is a single bundle in Applications, but it writes its settings, caches, logs and data to your Library folder while you use it. Removing the bundle leaves those behind. Most are small; the caches and containers of chat and design apps can be gigabytes.
Step 1: quit and remove the app
- Quit the app, including its menu bar item if it has one.
- If it came with an uninstaller (look in its folder in Applications or its Help menu), use it. It knows about its own background helpers.
- Drag the app from Applications to the Trash. Apps from the App Store can also be removed from Launchpad.
Step 2: find its bundle ID and team ID
Every app has a bundle ID such as com.tinyspeck.slackmacgap, and signed apps have a developer team ID. Matching leftovers by these, rather than by name, avoids removing another app's files that happen to share a word. Run these before you remove the app.
mdls -name kMDItemCFBundleIdentifier -r /Applications/Slack.appcodesign -dv /Applications/Slack.app 2>&1 | grep TeamIdentifierStep 3: find the leftovers
| Folder | What's in it |
|---|---|
~/Library/Application Support | App data, often in a folder named after the app or its bundle ID |
~/Library/Containers, ~/Library/Group Containers | Data for sandboxed apps, named by bundle ID (group containers start with the team ID) |
~/Library/Caches | Caches the app can rebuild |
~/Library/Preferences | Settings, as <bundle ID>.plist |
~/Library/Logs, ~/Library/Saved Application State | Logs and window state |
~/Library/LaunchAgents, /Library/LaunchDaemons | Background helpers that start at login or boot |
~/Library/Application Support- What's in it
- App data, often in a folder named after the app or its bundle ID
~/Library/Containers,~/Library/Group Containers- What's in it
- Data for sandboxed apps, named by bundle ID (group containers start with the team ID)
~/Library/Caches- What's in it
- Caches the app can rebuild
~/Library/Preferences- What's in it
- Settings, as
<bundle ID>.plist
~/Library/Logs,~/Library/Saved Application State- What's in it
- Logs and window state
~/Library/LaunchAgents,/Library/LaunchDaemons- What's in it
- Background helpers that start at login or boot
find ~/Library -iname "*com.tinyspeck.slackmacgap*" 2>/dev/nullStep 4: check login items and background helpers
Open System Settings → General → Login Items & Extensions. Remove the app from Open at Login, and turn off its entry under Allow in the Background if it's still listed. Move files to the Trash rather than deleting them, and empty it once you're sure.