Over time, installing utilities, cloud storage tools, and hardware drivers on macOS can burden system boot times and memory consumption. macOS Sequoia includes advanced background task management and permission auditing to expose persistent startup apps, background helper daemons, and launch agents. Learning how to systematically audit and govern these startup components prevents background resource exhaustion while preserving critical background sync workflows.
Understanding macOS Startup Mechanisms and Daemons
Startup items in macOS are distributed across several tiers with varying operational privileges:
- Open at Login Items: User-facing applications (such as communication apps or note takers) that launch visually or into the menu bar immediately after user authentication.
- Launch Agents (
~/Library/LaunchAgentsand/Library/LaunchAgents): Background scripts and processes that execute per-user upon login, running with standard user privileges. - Launch Daemons (
/Library/LaunchDaemons): System-level background processes managed bylaunchdthat execute during system startup prior to user login, typically operating with administrative or root privileges. - Modern Background App Extensions: Sandboxed service management extensions bundled inside modern macOS applications registered via Apple’s
SMAppServiceframework.
Managing Login Items via System Settings
macOS Sequoia provides a unified administrative pane for regulating user-level startup items and third-party background activities:
- Click the Apple menu () in the top-left corner and select System Settings.
- Navigate to the General category in the sidebar and choose Login Items & Extensions.
- Under the Open at Login heading, review the list of applications configured to launch on account login.
- To remove an unwanted startup application, highlight the entry and click the Minus (–) button at the bottom of the list.
- Scroll down to the Allow in the Background section. Here, macOS categorizes helper tools by developer and application bundle.
- Toggle the switch to Off for any application helpers that you do not require running constantly in the background (such as background updater tools or analytics collectors).
Auditing LaunchAgents and LaunchDaemons in Terminal
While the graphical interface covers modern app bundles, legacy or enterprise management agents frequently remain configured in system directories. You can audit and inspect these plist descriptors directly using Terminal commands.
Inspect active user-level launch agents:
ls -la ~/Library/LaunchAgents/
Inspect system-wide launch agents and root launch daemons:
ls -la /Library/LaunchAgents/
ls -la /Library/LaunchDaemons/
To inspect what a specific plist file launches, print its content using plutil or cat:
plutil -p /Library/LaunchAgents/com.example.helper.plist
The output displays the exact binary path executed under the ProgramArguments key and whether the service automatically restarts under the KeepAlive key.
Disabling and Unloading Persistent Services via launchctl
To safely disable a background service without corrupting system records, use the modern launchctl service domain syntax:
To disable and unload a user-space agent:
launchctl bootout gui/$(id -u)/com.example.helper
To disable a system-level launch daemon (requires administrative privileges):
sudo launchctl bootout system/com.example.systemdaemon
To prevent the service from ever re-registering upon subsequent reboots, disable its service entry permanently:
sudo launchctl disable system/com.example.systemdaemon
Managing Menu Bar and Action Extensions
macOS Sequoia also categorizes system extensions and Quick Action plugins within the same settings dashboard:
- In System Settings > General > Login Items & Extensions, scroll to the bottom section labeled Extensions.
- Click the Info (i) button next to categories such as Quick Actions, Finder Extensions, or Share Extensions.
- Disable third-party extensions that add unnecessary context menu bloat or background monitoring hooks to Finder windows.
- Click Done to apply extension modifications immediately without requiring a full restart.