# What Is ~/Library/LaunchAgents on Mac?

> LaunchAgents holds .plist files telling macOS which helpers to start for you at login or on a schedule. Orphaned agents are safe to remove.

- Updated: 2026-10-10
- URL: https://fresh.ist/library/launch-agents/

**TL;DR:** ~/Library/LaunchAgents holds small .plist files that tell launchd, the macOS service manager, to start a program for your user account at login, on a schedule or on demand. Updaters and sync helpers commonly install them. A leftover agent whose program is gone does nothing but log errors; remove it after unloading it.

## Definition

- Full path: `~/Library/LaunchAgents`
- Scope: user (inside your home folder)
- Freshist checks this folder when uninstalling an app. When you uninstall an app, Freshist looks here for items that belong to it. Matches on the app's bundle ID can be pre-selected; name-only guesses are labeled “not sure” and never pre-selected. Removed items go to the Trash, so you can undo.

## How launch agents work

macOS starts and manages background programs with **launchd**. Apple's guide to daemons and agents explains that each job is described by a property list naming a label, the program to run and when to run it. Agents in `~/Library/LaunchAgents` run as your user, in your login session.

| Folder | Runs as | Who can change it |
| --- | --- | --- |
| `~/Library/LaunchAgents` | You, after you log in | You |
| `/Library/LaunchAgents` | Every user, after login | Administrators |
| `/Library/LaunchDaemons` | root or a system user, from startup | Administrators |
| `/System/Library/Launch…` | macOS components | Nobody, it's on the sealed system volume |

The system-wide folders have their own guides: [/Library/LaunchAgents](/library/system-launch-agents/) and [/Library/LaunchDaemons](/library/system-launch-daemons/).

## What's usually in here

A typical example: one Mac we looked at had exactly two files here, both from software updaters, each with a `ProgramArguments` entry pointing into the vendor's folder in Application Support. That's the common pattern. Updaters, cloud sync tools, menu bar helpers and developer tools all add agents.

## Why orphans happen

Dragging an app to the Trash leaves its agent behind. launchd keeps trying to start a program that no longer exists, fails, and logs the error. It doesn't harm the Mac, but it's clutter, and on every login it's one more job macOS tries to start.

## Inspecting agents read-only

List the files and read one in plain text:

```bash
ls -la ~/Library/LaunchAgents
plutil -p ~/Library/LaunchAgents/com.example.agent.plist
```

Check whether the program it points to still exists, and whether launchd has it loaded:

```bash
launchctl list | grep -i example
launchctl print gui/$(id -u) | grep -i example
```

Since macOS Ventura, **System Settings → General → Login Items & Extensions** also lists background items under **Allow in the Background** (labelled **App Background Activity** in newer versions), so you can turn an agent off without deleting anything.

## Removing a leftover agent

1. Turn it off in **Login Items & Extensions** if it's listed there, or use the app's own setting.
2. Unload it from your session (replace the label/path with the real one):

   ```bash
   launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/com.example.agent.plist
   ```

3. In Finder, choose **Go → Go to Folder…**, enter `~/Library/LaunchAgents`, and move the `.plist` to the Trash.
4. Log out and back in to confirm it doesn't come back.

If it reappears, the app it belongs to is still installed and recreating it; uninstall the app or use its settings instead.

## What not to delete

Don't remove agents for apps you rely on to update or sync unless you'll handle that by hand. Leave `/System/Library/LaunchAgents` alone entirely. For a wider look at what runs in the background and how to manage it, see [login items and background apps on Mac](/blog/login-items-background-apps-mac/).

## Sources

- [Creating Launch Daemons and Agents](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html), Apple Developer
- [Change Login Items & Extensions settings on Mac](https://support.apple.com/guide/mac-help/mtusr003/mac), Apple Support
- [Updating helper executables from earlier versions of macOS](https://developer.apple.com/documentation/servicemanagement/updating-helper-executables-from-earlier-versions-of-macos), Apple Developer Documentation
- `man launchctl` and `man launchd.plist` on your Mac

## Frequently asked questions

### Is an agent in ~/Library/LaunchAgents a sign of malware?

Not by itself. Most entries come from ordinary apps, usually updaters. Check the Program or ProgramArguments path inside the plist: if it points to an app you don't recognize or a hidden folder, investigate further.

### What's the difference between LaunchAgents and LaunchDaemons?

Agents run as you, inside your login session, and can show UI. Daemons run in the background as root or another system user, live only in /Library/LaunchDaemons, and need an administrator to change.

### Will deleting a LaunchAgent break the app that installed it?

Usually the app still opens, but whatever the agent did stops: automatic updates, background sync or a menu bar helper. Some apps reinstall their agent the next time they launch.

---

Canonical page: https://fresh.ist/library/launch-agents/
Official site: https://fresh.ist/ (fresh.ist only)
Generated: 2026-10-10
