How to Disable Startup Programs and Login Items on Mac
Apps that open when you log in compete for the machine in the first minutes after boot, and some keep relaunching even after you quit them. Both live in a couple of places macOS does not make obvious. Here is where they are, how to turn them off, and which ones to leave alone.
Login Items: the visible list
Open System Settings > General > Login Items. The top section, Open at Login, lists the apps that launch with a window when you sign in. Select anything you do not need starting automatically and remove it with the minus button. This is safe and reversible: removing an app here does not uninstall it, it just stops it opening on its own.
Allow in the Background: the hidden helpers
The same screen has a second section, Allow in the Background, grouped by developer. These are background agents that run without a window, updaters, sync helpers, menu bar utilities, and the pieces that keep an app alive. This list is macOS's Background Task Management, added in Ventura. Turning a switch off here is how you stop a helper that keeps relaunching its app, and it is the section most people never open.
Why an app relaunches after you quit it
If you quit an app and it comes back on its own, it has a launchd job behind
it. macOS keeps these as small plist files in ~/Library/LaunchAgents and
/Library/LaunchAgents for user agents, and /Library/LaunchDaemons for
system-level ones. You can see what is loaded with:
launchctl list
An agent's whole purpose can be to relaunch a process, which is why quitting the visible app does nothing. The clean fix is to turn off its switch under Allow in the Background; the manual fix is to remove the matching agent plist, which is for people comfortable identifying exactly what they are deleting.
Do it safely
Toggle in Settings before you touch files. Everything in the Login Items screen is
reversible, and a wrong guess just means flipping a switch back. Editing plists by
hand is less forgiving, so leave anything under /Library/LaunchDaemons and any
Apple-owned job alone unless you are certain what it does. The rule that keeps
every Mac cleanup safe applies here too: if you cannot tell what an item is for, do
not remove it.
Under the hood: launchd, and why an app will not stay quit
Everything that runs without you opening it is a launchd job, described by a small
plist with two keys that decide its behavior: RunAtLoad starts it when it loads,
and KeepAlive restarts it whenever it exits. KeepAlive set to true is precisely
why quitting an app can do nothing, launchd brings it back within seconds. Agents in
~/Library/LaunchAgents run per user inside your login session; daemons in
/Library/LaunchDaemons run system-wide as root before anyone logs in, which is why
a daemon needs admin rights to touch and an agent does not.
Since Ventura, macOS funnels all of this through Background Task Management, the Allow in the Background list, and keeps it in a protected database you are not meant to edit by hand.
Where Mole helps
The two Settings sections and the launchd folders are three separate places for one question, what starts on its own and what keeps things alive. Mole's startup management gathers them into one list, shows what each item is, and lets you toggle the ones it can safely match to a validated launchd job or a system-registered login item. Anything it cannot prove it points you to System Settings instead of writing to that protected database or inventing a label. Claiming more coverage by editing the database directly would be easy; treating the line it can verify as the line it will cross is the same conservative instinct behind sending every deletion to the Trash.
The short version
Trim both sections of System Settings > General > Login Items. If something relaunches after you quit it, it is a launchd agent, so turn off its background switch. Fewer startup items means a faster login and less fighting for the machine when you sit down, which is a big part of why a Mac feels slow and one of the first steps in speeding one up.