Slow logins and mystery background processes usually trace back to the same place: years of installers adding launch agents — small plists that start helpers at login, forever, whether you use the app or not. A three-year-old Mac commonly carries 20-40 of them.
| Layer | Location | Runs as | Safe to prune? |
|---|---|---|---|
| Login Items (modern) | System Settings → General → Login Items | App-defined helpers | ✅ Toggle freely |
| LaunchAgents | ~/Library/LaunchAgents and /Library/LaunchAgents | Your user / all users, at login | ✅ Review, keep updater-type ones |
| LaunchDaemons | /Library/LaunchDaemons | Root, at boot | ⚠️ Careful — system-level helpers |
launchctl list | grep -v com.apple | awk '{print $3, $1}' | sort
ls -la ~/Library/LaunchAgents/ /Library/LaunchAgents/ 2>/dev/null
Anything from apps you uninstalled months ago is dead weight — remove its plist (or better, run the vendor's uninstaller; see the complete-uninstall checklist). Keep autoupdaters for apps you still use, disable the rest by moving plists to a backup folder instead of deleting.
LaunchAgents are small, but their parent apps usually are not: orphaned helpers almost always mean orphaned app data too. That is the pattern behind mystery "System Data" growth — mapped location by location in our System Data guide. For a quick total of what is reclaimable, run the ten-second estimator.
Once per quarter is enough for this audit. Tools like MacCleaner PRO surface login items with vendor names, which makes the keep/kill decision faster than reading raw plists.