What Is /Library/LaunchAgents on Mac?
System (root-owned)Updated
- Full path
/Library/LaunchAgents
- Scope
- System (root-owned)Shared by every account on the Mac and owned by macOS (root).
- Freshist & this folder
- Freshist checks this folder when uninstalling an app. When you uninstall an app, Freshist only considers items directly inside this folder whose name matches the app's bundle ID. They're never pre-selected, and because the folder is owned by macOS (root), selected items are deleted permanently by Freshist's signed helper rather than moved to the Trash.
From Freshist's own cleaning rules — the same catalog the app uses.
What launch agents are
macOS starts and supervises background programs with launchd. Each job is described by a property list naming a label, the program to run and when to run it: at login, on a schedule, when a file changes or to stay running permanently. Agents run inside a user's login session, so they can show notifications, menu bar icons and windows. Daemons run as root, independent of any user, and live in /Library/LaunchDaemons.
| Folder | Runs for | Runs as | Who can change it |
|---|---|---|---|
~/Library/LaunchAgents | You only | You | You |
/Library/LaunchAgents | Every user who logs in | Each logged-in user | Administrators |
/Library/LaunchDaemons | The whole Mac | root | Administrators |
/System/Library/LaunchAgents | Every user | Each user | Nobody; part of macOS |
Third-party installers use /Library/LaunchAgents for things like automatic updaters, input-device helpers, cloud sync clients and keyboard remappers. Newer apps that use Apple's SMAppService API keep their launchd plists inside the app bundle instead, so they don't add files here. Those disappear from the list when the app is deleted.
Why orphans matter
A plist here outlives the app it was installed with. After you delete the app, launchd keeps trying to start a program that's no longer on disk. That's mostly harmless, but it produces repeated errors in the logs, and if the program lives outside the app (for example under /Library/Application Support), it may keep running for every user.
Inspecting it read-only
ls -la /Library/LaunchAgents
plutil -p /Library/LaunchAgents/com.example.agent.plist
launchctl print gui/$(id -u) | grep -i example
plutil -p shows the job's Label, the ProgramArguments path it runs and often an AssociatedBundleIdentifiers entry naming the owning app. If the program path doesn't exist anymore, the agent is an orphan. sudo sfltool dumpbtm prints everything macOS's background task management knows about, including which app each item is attributed to.
Stopping and removing an agent
Start with the gentlest option:
- Turn it off: in System Settings → General → Login Items & Extensions, switch off the app under Allow in the Background. Nothing is deleted, and you can turn it back on.
- Use the vendor's uninstaller if the software is still installed or has one available for download.
- Remove it by hand if the app is already gone. Unload it from your session first, then delete the plist:
launchctl bootout gui/$(id -u) /Library/LaunchAgents/com.example.agent.plist
sudo rm /Library/LaunchAgents/com.example.agent.plist
Other accounts that are logged in keep running the agent until they log out or the Mac restarts. In Finder you can also drag the plist to the Trash; it asks for an administrator password.
Don't remove agents for software you still use, such as drivers for a mouse or keyboard, or the updater of an app you rely on. If you can't identify a plist, leave it.
Related reading
Our article on login items and background apps explains the System Settings controls in more detail. Per-user agents are covered in the ~/Library/LaunchAgents guide, and helpers that run as root in PrivilegedHelperTools.
Sources
- Creating Launch Daemons and Agents (Apple Daemons and Services Programming Guide)
- Open items automatically when you log in on Mac (Apple Support)
- SMAppService (Apple Developer Documentation)
man launchd.plistandman launchctlin Terminal
Frequently asked questions
How is this different from ~/Library/LaunchAgents?
The agents in your home folder run only when you log in. Agents in /Library/LaunchAgents run for every account on the Mac and need an administrator password to change. Both run as the logged-in user, not as root.
Can I just switch an agent off in System Settings?
Often, yes. System Settings → General → Login Items & Extensions lists background items under Allow in the Background. Turning one off stops it from launching without deleting any files.
What does AssociatedBundleIdentifiers mean in an agent's plist?
It tells macOS which app the agent belongs to, so System Settings can show the app's name next to the background item. It's also a quick way for you to identify an unfamiliar plist.