How to Manage Startup Items on Mac

Trim your login items, audit launch agents, and tame launch daemons to cut boot times and keep your Mac snappy from the moment you power on.

9 min read Updated October 2026 Difficulty: Intermediate

A fresh Mac boots in seconds. Six months later, the same Mac takes a full minute to settle down, the fans spin up the moment you log in, and your menu bar is a parade of icons for apps you don't even remember installing. The culprit is almost always startup items — the quiet buildup of programs, helpers, and background services that run every time you log in. This guide shows you how to audit all of them, decide what deserves to stay, and safely disable the rest.

By the end you'll know the difference between a login item, a launch agent, and a launch daemon; where macOS stores each one; which ones are safe to disable; and how to measure the actual improvement in boot time. Everything here works on both Apple Silicon and Intel Macs running macOS Ventura through macOS Sequoia.

1. Why Manage Startup Items?

Every program that runs at login consumes CPU, RAM, disk I/O, and sometimes network bandwidth before you even open an app of your own. Individually they look harmless; collectively they can delay login by 30–60 seconds and keep your Mac running hot afterwards. Common offenders include cloud sync clients (Dropbox, OneDrive, Google Drive), chat apps (Slack, Discord, Teams), update helpers (Adobe Creative Cloud, Microsoft AutoUpdate), menu-bar utilities, and the leftover launch agents of apps you uninstalled months ago.

Beyond speed, there is a privacy and security angle. Launch agents and daemons can run with elevated permissions and connect to the internet without your knowledge. Doing a quarterly audit is a good habit — you'll often find orphans from software that is long gone.

Pro tip: Before changing anything, benchmark your current boot time. Shut down, press the power button, and start a stopwatch when you see the Apple logo. Stop when the menu bar is fully populated and the beachball disappears. Write it down — you'll want this number again after cleanup.

2. Managing Login Items in System Settings

The easiest and safest place to start is Login Items. These are the entries most people think of as "startup items," and macOS exposes them directly in System Settings.

  1. Open the Apple menu → System Settings.
  2. In the sidebar choose General → Login Items & Extensions (older macOS: Users & Groups → Login Items).
  3. You'll see two sections: Open at Login (full apps that launch at startup) and Allow in the Background (helpers and services apps install silently).
  4. Select any item you don't need at startup and click the − button to remove it, or toggle its switch off in the Background section.

Removing a login item does not uninstall the app — it just stops the app from launching automatically. You can still open it manually whenever you want.

The Allow in the Background list is especially worth attention. Modern apps register tiny helper services that run even when the main app is closed. Many are useful (automatic cloud sync, security tools), but you'll often see helpers from software you don't actively use.

3. Understanding Launch Agents

Launch agents are .plist files that launchd, macOS's startup service, uses to start programs when a user logs in. They run with your user permissions, which means they can read your files and talk to the network but cannot modify system files without consent.

Launch agents live in three directories:

  • ~/Library/LaunchAgents/ — installed by apps for your user only
  • /Library/LaunchAgents/ — installed system-wide, run for every user that logs in
  • /System/Library/LaunchAgents/ — Apple's own; never touch these

List them from Terminal:

ls -la ~/Library/LaunchAgents/
ls -la /Library/LaunchAgents/

Each file name follows the pattern com.vendor.something.plist, which usually makes it easy to see who installed it. If a vendor doesn't ring any bells, open the file in a text editor and read the ProgramArguments and Label keys — they reveal what the agent actually runs.

4. Understanding Launch Daemons

Launch daemons are the same idea as agents, but they run at system boot, before any user logs in, and typically with root privileges. Because of that elevated access, they are more sensitive and should be touched carefully.

They live in two directories:

  • /Library/LaunchDaemons/ — installed by third-party apps (safe to audit)
  • /System/Library/LaunchDaemons/ — Apple's own; never modify
ls -la /Library/LaunchDaemons/

Typical third-party daemons come from backup software, VPN clients, antivirus suites, printer drivers, and virtualization tools (Parallels, VMware, Docker). All of those run background work that genuinely benefits from starting at boot, so disable them only if you've uninstalled the parent app or stopped using the feature.

Important: Anything inside /System/Library/ is managed by macOS and protected by System Integrity Protection. Do not delete or modify those files — removing them can prevent your Mac from booting or break core features like Wi-Fi, Bluetooth, or Spotlight.

5. Identifying Resource-Heavy Startup Items

Not every startup item is worth disabling — the ones that waste the most time and energy at login are what you really want to catch. macOS gives you two excellent tools for this.

Activity Monitor is the first stop. Open it from Spotlight (⌘ + Space → "Activity Monitor"). Sort the CPU tab by % CPU immediately after a fresh login and watch which processes dominate the first minute. Then switch to the Energy tab and sort by Avg Energy Impact — that column highlights background processes that quietly drain battery and performance over time.

For a precise view of what launchd has running right now, use Terminal:

launchctl list | sort

The output has three columns: PID (process ID), last exit status, and the agent/daemon label. A PID means the service is currently running; a dash means it's loaded but idle, waiting to be triggered. Entries starting with com.apple. are system services — leave them alone. Everything else is fair game for an audit.

To see a specific agent's configuration:

launchctl print gui/$(id -u)/com.vendor.something

That shows the full path to the executable, the schedule, environment variables, and whether the agent is currently running. It's the fastest way to answer "what does this thing actually do?"

6. Disabling Launch Agents Safely

Once you've identified an orphan or unwanted launch agent, disabling it is a two-step operation: unload it from the running system, then remove or stash the plist so it doesn't come back next login.

For a user-level agent:

# Unload now so the process stops immediately
launchctl unload ~/Library/LaunchAgents/com.vendor.something.plist

# Then either delete the plist...
rm ~/Library/LaunchAgents/com.vendor.something.plist

# ...or move it aside so you can restore it later
mkdir -p ~/LaunchAgents.disabled
mv ~/Library/LaunchAgents/com.vendor.something.plist ~/LaunchAgents.disabled/

For a system-level agent or daemon, use sudo:

sudo launchctl unload /Library/LaunchDaemons/com.vendor.something.plist
sudo mv /Library/LaunchDaemons/com.vendor.something.plist ~/LaunchAgents.disabled/

Moving instead of deleting is the safer habit. If a few hours later something misbehaves, you can move the plist back and reload it with launchctl load path/to/file.plist. Change one item at a time and reboot in between — that way if something breaks you'll know exactly which plist caused it.

Pro tip: Keep a small text note alongside ~/LaunchAgents.disabled/ describing why you disabled each item. Six months from now, future-you will thank present-you for the context.

7. Reducing Boot Time

After cleaning up your startup items, there are a few more tweaks that compound into a noticeably faster boot:

  • Trim the Dock. Apps pinned to the Dock don't auto-launch, but their helpers often do. Right-click any app you no longer use and choose Options → Remove from Dock.
  • Reopen windows: off. When you shut down or restart, uncheck Reopen windows when logging back in. Restoring windows blocks the login experience until every app is relaunched.
  • Disable auto-launch inside apps. Many apps have their own "Launch at login" option in Preferences (Slack, Spotify, Steam, 1Password, etc.). Toggling it off there is cleaner than fighting it in System Settings.
  • Keep macOS up to date. Apple regularly improves boot and launchd performance between point releases, especially on Apple Silicon.
  • Reset NVRAM/SMC (Intel Macs). If boot is unusually slow after an OS upgrade, resetting NVRAM can clear stale startup disk, display, and sound settings. On Apple Silicon this is handled automatically at every boot.

Reboot once you've finished and time the boot again with your stopwatch. A thorough cleanup typically shaves 15–45 seconds off login time and noticeably reduces fan activity for the first few minutes. More importantly, your menu bar is now only the icons you actually care about — and the services running in the background are the ones you chose to keep.

Make a note in your calendar to repeat this audit every three to six months. Startup clutter has a way of creeping back, and ten quiet minutes of maintenance is a small price for a Mac that feels brand new every time you power it on.