Uninstall apps + leftovers (general)

How to Force Uninstall an App on Mac That Won't Quit or Delete

Sometimes a Mac app simply refuses to play nice — it won't quit, it relaunches itself the moment you close it, or Finder throws an error when you try to drag it to the Trash. If you've landed here, you already know how frustrating that is. This guide walks through every method to force uninstall an app on Mac, from the built-in Activity Monitor to Terminal commands, with honest notes on what's safe and what isn't.

Step 1: Force-Quit the App First

Before you can delete a running application, you need to stop it. macOS won't let you move an active process to the Trash.

Option A: Force Quit from the Apple Menu

  1. Press Command + Option + Escape to open the Force Quit window.
  2. Select the app from the list.
  3. Click Force Quit and confirm.

Option B: Force Quit via Activity Monitor

  1. Open Activity Monitor (Applications > Utilities > Activity Monitor, or Spotlight it).
  2. Search for the app's name in the top-right search field.
  3. Select the process and click the X button in the toolbar.
  4. Choose Force Quit in the confirmation dialog.

Activity Monitor is more powerful than the Force Quit window because it shows all processes, including ones with no visible window. If you see multiple rows for the same app, quit them all.

Option C: Kill it in Terminal

If the process keeps reappearing, use kill directly:

# Find the process ID (PID)
pgrep -x "AppName"

# Force-kill by PID
kill -9 <PID>

Safety note: kill -9 sends SIGKILL — the process gets no chance to save state. That is intentional here, but make sure you're killing the right PID. Double-check with ps aux | grep AppName before running the kill command.

Step 2: Stop Background Helpers and Login Items

Many apps install background agents — small helper processes that run at login and, crucially, relaunch the main app if it quits. This is why some apps seem impossible to close. Common culprits include menubar utilities, cloud sync tools, and software-update daemons.

Remove Login Items

  1. Open System Settings (macOS 13 and later) or System Preferences (macOS 12).
  2. Go to General > Login Items & Extensions (Ventura and later) or Users & Groups > Login Items (Monterey).
  3. Select the app's helper and click the minus (−) button to remove it.

Disable Launch Agents and Launch Daemons

Apps can also install persistent background services in these locations:

  • ~/Library/LaunchAgents/ — per-user agents (run as you)
  • /Library/LaunchAgents/ — system-wide agents (run as you, for all users)
  • /Library/LaunchDaemons/ — system-wide daemons (run as root)

Open Finder, press Command + Shift + G, paste one of those paths, and look for .plist files that reference the stubborn app. To unload one without deleting it:

launchctl unload ~/Library/LaunchAgents/com.example.AppHelper.plist

Safety note: Only unload plists that clearly belong to the app you're removing. Unloading a system plist can destabilize macOS. If you're unsure, open the plist in TextEdit — look for the Label and ProgramArguments keys to confirm what it does.

Step 3: Delete the App

Once the process and its helpers are stopped, you have three removal methods:

Method 1: Drag to Trash

Open /Applications in Finder and drag the app to the Trash, then empty it. This is the safest and simplest method for most apps.

Method 2: Use the App's Own Uninstaller

Some apps (Adobe Creative Cloud, Dropbox, many third-party tools) ship an uninstaller inside the .app bundle or in /Applications/Utilities/. Always prefer the vendor's own uninstaller if one exists — it knows exactly what it installed.

Method 3: Terminal rm — Last Resort

If Finder still refuses to delete the app, you can remove it from Terminal:

# Move to Trash (safer — recoverable)
mv /Applications/AppName.app ~/.Trash/

# Permanent delete (not recoverable)
sudo rm -rf /Applications/AppName.app

Safety warning: sudo rm -rf is permanent and bypasses the Trash entirely. There is no undo. Triple-check the path before pressing Return. A typo here can delete things you didn't intend to remove. Never run sudo rm -rf with a wildcard or a path you haven't verified.

Step 4: Clean Up Leftover Files

Deleting the .app bundle from /Applications removes the app, but it usually leaves behind several gigabytes of support files, caches, preferences, and logs scattered across your Library folder. These do nothing useful once the app is gone.

Common leftover locations to check manually:

  • ~/Library/Application Support/AppName/
  • ~/Library/Caches/com.example.AppName/
  • ~/Library/Preferences/com.example.AppName.plist
  • ~/Library/Logs/AppName/
  • ~/Library/Containers/com.example.AppName/
  • /Library/Application Support/AppName/ (system-wide)

You can search in Terminal:

find ~/Library -iname "*AppName*" 2>/dev/null

Review every result before deleting. Some folders are shared across multiple apps.

A Faster, Safer Way: Use Crumb's Uninstaller

Hunting through Library folders manually is tedious and error-prone. Crumb has a dedicated Uninstall tab that finds the app, identifies all its background helpers and leftover files across the entire Mac (including system-wide locations), lets you review everything before removal, and sends it to a recoverable state rather than permanently deleting it immediately. That last part matters — you get a chance to confirm before anything is gone for good.

Comparison: Which Method Should You Use?

Situation Recommended Method Risk Level
App is running but closeable Quit normally, then drag to Trash None
App is frozen Force Quit (Cmd+Opt+Esc), then Trash None
App relaunches itself Disable Login Items / LaunchAgents first Low (if you identify the right plist)
Finder refuses to delete the .app sudo rm -rf in Terminal Medium (permanent, no undo)
Want leftover files removed too Crumb Uninstaller or manual Library search Low with review; medium if deleting blindly

Frequently Skipped: Kernel Extensions and System Extensions

A small number of apps — VPNs, antivirus software, virtualization tools — install kernel extensions (.kext) or system extensions. These require explicit approval in System Settings > Privacy & Security and sometimes a restart to fully remove. If the app's documentation mentions a system extension, follow the vendor's removal instructions specifically, or use their uninstaller. Manually deleting a kext without unloading it first can cause kernel panics.

What If the App Comes Back After a Restart?

If the app reinstalls itself after a reboot, it almost certainly installed a LaunchDaemon running as root, or it is managed by MDM (Mobile Device Management) — common on work-issued Macs. For MDM-managed apps, contact your IT team. For rogue LaunchDaemons, check /Library/LaunchDaemons/ and look for anything referencing the app, then unload and delete the plist using sudo.

Conclusion

Force-uninstalling a stubborn Mac app is a multi-step process: kill the process, stop its background helpers, delete the bundle, and clean up leftover files. Each step has its own risk level, and Terminal commands like sudo rm -rf should always be a last resort used with care. If you want the whole process handled safely in one place — including helpers and leftover discovery — download Crumb and use its Uninstall tab to review everything before anything is permanently removed.

Reclaim your disk in one click

Crumb audits your whole Mac, tells you what's safe to delete, and frees the space in seconds — private, local, and Apple-notarized.

Download Crumb for macOS

Frequently asked questions

Why does my Mac app keep reopening after I close it?
The app likely has a background helper installed as a Login Item or LaunchAgent. These small processes watch for the main app to close and relaunch it automatically. You need to disable the Login Item in System Settings or unload the LaunchAgent plist before the app will stay closed.
Is it safe to use sudo rm -rf to delete a Mac app?
It works, but it is permanent — the app bypasses the Trash and cannot be recovered. Always verify the exact path before running the command, and never use wildcards with sudo rm -rf. For most situations, moving the app to the Trash first is safer because it gives you a recovery window.
Where does macOS store app leftover files after uninstalling?
The most common locations are ~/Library/Application Support/, ~/Library/Caches/, ~/Library/Preferences/, ~/Library/Containers/, and ~/Library/Logs/. Some apps also write to /Library/ (system-wide) paths. Searching for the app's name in ~/Library with Finder or the Terminal find command reveals most of them.
How do I remove an app's LaunchAgent on Mac?
Open ~/Library/LaunchAgents/ in Finder and look for .plist files named after the app. To unload it without deleting: run launchctl unload ~/Library/LaunchAgents/com.example.AppHelper.plist in Terminal. Then delete the plist file. Repeat for /Library/LaunchAgents/ if a system-wide agent exists.
What is the difference between a LaunchAgent and a LaunchDaemon?
LaunchAgents run in the user session (as you) and are stored in ~/Library/LaunchAgents/ or /Library/LaunchAgents/. LaunchDaemons run as root at system startup, before any user logs in, and are stored in /Library/LaunchDaemons/. Daemons typically require sudo to unload and remove.