Prior to Ventura, control of Login Items was rudimentary and limited. Most of them weren’t exposed to the user at all, and those you were allowed to see were buried in a tab only displayed for Admin users in the Users & Groups preference pane. Ventura changes this by giving fuller access, but for many of the items listed it’s only more frustrating. It’s even worse for some users, who are repeatedly troubled by spurious notifications about adding Login or Background Items at every startup. This article explains what’s going on, and how you can regain control.
Ventura’s new Login Items is misnamed from the start, as they also include Background Items. If you see lots of notifications immediately after you log in, those identified as either Login or Background Items are originating from these settings, in System Settings > General > Login Items.
Login Items are apps started automatically by
launchd when that user logs in, and continue running until you quit that app manually or log out again. They normally help the system to run other, often faceless, apps and services automatically.
Background Items are processes started and managed by
launchd according to property lists normally (but no longer exclusively) installed in LaunchAgents and LaunchDaemons folders in either the top-level Library folder, or that inside your Home folder. These should be faceless services that interact with apps and other software, including Login Items, to provide them with services. For example, when an app has to perform tasks as root, a suitably privileged helper may be run in the background for the purpose.
While you can add your own apps and more as Login Items, and configure tasks to be run in the background, most of these are installed by regular apps you install into the main Applications folder. When you run them for the first time, they configure the support files they need, and then appear as Login and Background Items. The way that apps do this has changed in Ventura, and recent versions should start using those newer methods. For the time being, though, most apps will continue using the traditional and complex approach. This change may explain some of the problems arising now.
There are two distinct sections in the Login Items settings: at the top is a list of all Login Items currently recognised, and below is the list of Background Items.
To add an app as a new Login Item, click the + button and select it. To remove a Login Item, select it in the list and click the – button to delete it. It really is that simple, although removing a Login Item installed by an app is likely to affect what it can do, and how it works. In this case, the Login Item shown starts a helper app for Carbon Copy Cloner; without that, the app loses some of its functionality.
If you want to log in without Login Items being started automatically, press and hold the Shift key when you click on the Log In button, and keep it held until the Dock appears. Existing items won’t be opened until you log in again.
If your Mac has been in use some years, or has been migrated from an older system, you’re likely to see many Background Items listed here. However, your control over them is limited and may even be illusory. There are no convenient + or – buttons to change the list, and all you can do is turn them off and on. If you try disabling some of them, you may see that they’re automatically re-enabled. Neither does fiddling with those controls help the problem of all those notifications.
Worse still, many of those listed appear unidentifiable. A few have Info buttons, which should at least reveal where they are on your Mac, but that often doesn’t help much, and the most enigmatic don’t have that luxury.
If you do work out which app owns a Background Item and manage to uninstall or remove it, you’ll also notice that the Background Item doesn’t get removed from this list. This is because removed items are only purged during routine maintenance by Service Management, and that normally happens during the night, provided that your Mac is left running and awake. If you do make any changes affecting the list of Background Items, don’t expect to see them until the following morning.
Background Items aren’t likely to cause problems on a shiny new Apple silicon Mac that hasn’t been migrated from a previous system, unless you install software which didn’t follow the old rules, let alone the new ones. The best solution then is to thoroughly remove or uninstall that software, and install something more up-to-date and better behaved.
It’s Macs with a longer history, perhaps inherited by migration, that are more likely to annoy you with spurious notifications, and to contain bizarre and unidentifiable Background Items.
The nuclear solution is to blow the whole lot away, and start from scratch, but if you don’t then delete those old apps and their components, including property lists and support files tucked away in Application Support, LaunchAgents and LaunchDaemons folders in Library folders, then many will return to haunt you. To remove all third-party Login Items and reset to installation defaults, you can use the undocumented command
sudo sfltool resetbtm
This uses a command tool originally intended to manage the Shared File List, which seems to have gained additional features covering Service Management, although its man page hasn’t caught up yet and the most help you’ll get is from its usage info.
A better and more systematic approach is to obtain a detailed listing of all those Background Items, and uninstall or delete those you no longer need, or are just old and unnecessary. For this, you need a BTM dump, using another undocumented option to the
sudo sfltool dumpbtm > ~/Documents/btmdump.text
to write it to the text file btmdump.text in your Documents folder. This file is also invaluable if you’re going to nuke Login Items in a reset, as it provides a record of what you might need to restore afterwards.
This lists full Service Management information for every item currently being managed, by user ID. Normally, the two important user IDs would be 0 for root and 501 for the primary admin user, but here the first list, with a UID of -2, appears to be a composite covering most Background Items. You should also check those for the current user, such as 501. A typical entry might be:
Developer Name: Microsoft AutoUpdate
Team Identifier: UBF8T346G9
Type: curated legacy daemon (0x90010)
Disposition: [enabled, allowed, visible, notified] (11)
URL: file:/// Library/LaunchDaemons/com.microsoft.autoupdate.helper.plist
Executable Path: /Library/PrivilegedHelperTools/com.microsoft.autoupdate.helper
Assoc. Bundle IDs: [com.microsoft.autoupdate2 ]
Parent Identifier: Microsoft AutoUpdate
When removing Background Items, this gives the location of the Property List used by
launchd to load them, as the URL, and the location of the executable that is loaded. The Developer Name given is taken from the code signing certificate, and has been criticised as being confusing when presented to users in dialogs.
The Disposition field is probably most relevant to identifying those causing problems, as it should reflect the status of that entry in the Login Items list, and whether the user has been notified. Sadly, there doesn’t appear to be any way to change or correct those, at least using the tools currently available.
Finally, remember that any changes you make to these items won’t be reflected in the Launch Items lists until Service Management maintenance has been run overnight.
While weeding out old software and its Background and Launch Items becomes much easier with the aid of a BTM dump, at the end of your work you may still suffer some notifications about them following login. At least those should be fewer in number.
- Login Items contains two lists: Login Items, which are under your control, and Background Items, which can only be turned on and off.
- Background items are mostly controlled using Property Lists traditionally installed in LaunchAgents and LaunchDaemons folders.
- Ventura introduces a new scheme for managing Launch and Background Items.
- Removing old software responsible for Background Items is best performed with the aid of a BTM dump.
- Obtain a BTM dump before resetting Launch Items to installation defaults.
Apple’s traditional approach (2016)
New Service Management scheme