Ever drag an application to the trash, only to find out later that it’s left behind an extension in System Settings? Here’s how to get rid of the flotsam — without resorting to a cleanup utility.
Background
So, after buying a new M4 Max Studio, I decided that instead of my usual start-from-scratch-and-reinstall-all-my-programs methodology — a process that takes days, if not weeks, to complete — I’d use Apple’s Migration Assistant. This, so I could be back up and running in what turned out to be around an hour. Nice.

For the most part, Migration Assistant worked as advertised, though a couple of programs: specifically the Opera Browser and Thunderbird email client claimed they were damaged and wouldn’t boot. Reinstalling them fixed all issues and to my surprise — all the emails and bookmarks were still in place.
But as I somewhat regretted not having the garbage-free clean start on my subsequent macOS life, I decided to mimic it as closely as I could. I would do this by culling the stuff hanging about from my myriad software tests on the older system. But removing an app is one thing. Getting rid of everything it installed can be quite another.
Use the uninstaller if it’s present.
Using a program’s uninstaller may seem like the obvious way to go, but macOS makes it so easy to simply drag an app to the trash that some users (including myself) forget or forego this option. Even if you do remember — sometimes the uninstaller is well hidden.
I’ve found uninstallers in the application package (Show Package Contents/macOS/), and uninstall options that appear only when you hold the Option key while accessing the program’s menu — clever, and very macOS-like, but not obvious.
If you can’t find an uninstaller, check the documentation, or ask support where the installer is. If it even exists. I’ve used more than a few programs that don’t offer one. Yuk.
Note that apps downloaded from the App Store will generally uninstall cleanly. But only if you use the standard iOS/macOS method of opening Launchpad, long-pressing over the program’s icon and using the X that appears as the icons shakes. Score one for Apple.
Unfortunately, as my recent excursion into the bowels of the macOS file system revealed, there’s never a guarantee that everything will be removed — no matter what method you use.
Cleanup Utilities, err…
My first thought upon discovering a leftover extension (Universal Audio’s Connect) was to download a cleanup utility — CleanMyMac Pro. It seems like an effective program and found a lot of stuff, but I balked when it asked for $30 to remove said stuff. I also wasn’t in love with having just installed something that likely put a lot of hooks into the system.

As it turns out, it did leave a lot of stuff on my system. Even worse, it tells you to use its own uninstall facility, but as I hadn’t paid, this apparently wasn’t an option. CleanMyMac Pro wasn’t even listed in the programs that could be uninstalled! Basically, I was forced to figure out how to erase its rather extensive footprint myself.
Challenge accepted. Having been a programmer for quite a few years, I surmised that if these guys could map the macOS installation and read plists to figure out what was going on, I could too. I suppose I could’ve download the macOS programmer’s guide, but I decided to wing it. Maybe later.
Proceed with caution!
Before you start in with removing the dross — back up your entire system. Time Machine, SuperDuper!, whatever you have lying around. Just do it.
And once you dig in, if you don’t know exactly what it is or what program it belongs to — don’t delete it! I.e., don’t start getting rid of stuff “you think” might be relevant — make sure it’s not needed. There might be other software dependent upon the unknown extension you guess is junk.
Pre-deletion investigation
There are several ways to suss out what’s been left behind. But you can actually make your life a lot easier if you check for the program’s location and naming conventions before you delete it. In my case, I actually reinstalled a couple or programs to grab this info before once again uninstalling them. — and the stuff they left behind.
To begin your research, run the program, open Activity Monitor, find the app in the list and any companion threads. Then click on the little “i” icon at the top of the program, and note the location and any naming conventions.
Said naming conventions may involve abbreviations. For instance, Easeus’s ToDo Backup (which crashed on me repeatedly while trying to choose files to back up), used “Easeus”, “ToDo”, and “ETB” in different labels. Below is the Activity Monitor info for Google Chrome, or part of it anyway. Sadly, I didn’t anticipate writing this article and didn’t screen grab while I was in the process of de-gunking. I’ve used programs that I left in place instead for the screen shots.

Of course inspect the locations you find for any clues as to what else the program might’ve installed.
Next go to the Applications folder and note the program to be uninstalled’s install date. You can use this to verify that files in various locations are really from its installs. Use the Show Package Contents command on the application (it’s really a folder) to see the various files and their names. As mentioned, I’ve found uninstallers there. Below are the package contents for Ableton Live Suite 12.

Enter all the information you’ve gathered into a text file or similar for later reference. Unless your memory is far better than mine, that is.
Finding the files
Once you know what you’re looking for — sniff it out. Unfortunately, Finder didn’t prove extremely adept for me at finding stuff in the OS folders. Even after showing hidden files with Shift + Command + “.”.
Why, I’m not entirely sure. Perhaps Spotlight hadn’t indexed everything, perhaps there are restrictions, perhaps it was user error. I.e., there’s something I don’t know and couldn’t discover on the Web. Generally I was using “name contains {} “. LMK if you know the trick. Whatever the case, you can see the meager results below.

The upshot was, when I started manually browsing the folder tree in the Libraries (both user and system), I found a lot of stuff that Finder search didn’t reveal.
Much later, basically after I was almost finished snooping around myself, I found an $8 utility called “Find Any File” that worked amazingly (in comparison to Finder) well. It’s available in the App store, and is also downloadable from the vendor’s Web site. The latter will work without payment, but I found it immensely useful, so throw the author the $8. Below is the far more successful search performed by Find Any File.

With these comprehensive results in hand, I cleaned out the last of EtreCheck — a system report freebie and also found a lot of stuff. At this point I was in a cleaning frenzy stoked by my newfound manual housecleaning super-powers, so it too had to go.
Where to look
If you don’t opt for Find Any File, or get Finder to work better than I did, where do you look for leftover stuff? Numerous places — some obvious, some… Not so much. Many are in the visible library that you find in the root directory of your main drive, and many are in the hidden user library that’s revealed when you press and hold Option while opening Finder’s Go Menu.
Note that you can copy any of the paths shown below into the Go to Folder command to navigate to that location. Substitute your actual user name for “yourusername”, and without the quotation marks. E.g. /Users/Jon/Library.
In order of priority, you should check
/Library/Application Support/
/Users/”yourusername”/Library/Application Support/
/Library/Launchagents/
/Library/Launchdaemons/
/Users/”yourusername”/Library/Containers/
/Users/Username/LIbrary/HTTPStorages
/Library/Caches/
/Library/Containers/
/Users/”yourusername”/Library/Webkit/
/Private/Var/Folders/ (drill down in the subfolders)
If you find others, please feel free to ping me about them. I do occasionally have to remove audio plugins from /Library/Audio/Plug-ins/ subfolders.
Of course, some of the data the program leaves behind might be found in your Documents folder.
Delete and empty the trash
I noted several times that simply moving an application or its folders to the trash, didn’t remove a system extension from System Settings/General/Login items & Extensions. Even after a reboot.
However, emptying the trash then rebooting did get rid of the little buggers. Darn macOS and its pesky (and highly useful) way of keeping track of where things are at all times.
There might’ve been items still in plists somewhere, but there are limits to my obsession.
Squeaky clean!
Enjoy the feeling of a squeaky clean (Mostly. I’m sure I missed stuff) operating system application footprint without mysterious extensions or entries in the System Settings dialog. Also enjoy a better understanding of where files are stored on your Mac. Knowledge is power my friends.
P.S. Be sure to complain to any vendor who doesn’t completely remove the stuff they installed.