Wondering how you can stop an application from starting every time you start your Mac? Want to have specific apps auto-launch? Find out here how to change startup programs on a Mac with macOS (using three methods including launchctl).
First, Ancient Olympic Pankration Wresting Had Two Rules
Explains Philostratus the Elder:
these things [punching, clinching, choking, etc.] are all permissible in the pancratium — anything except biting and gouging.Philostratus the Elder
Preventing an application from coming up at startup on a Mac seems like a struggle? You are about to clinch and choke your Macbook?
Here are some rules to allow applications to auto-start — or set up rules to prevent that:
How to Change Startup Programs on a Mac: Launch an App Automatically
Time needed: 10 minutes.
To have your Mac launch a program automatically at startup using macOS:
- Select the Apple logo () in the macOS menu bar.
- Now select System Preferences… from the menu that has appeared.
- Open the Users & Groups category.
- Make sure your macOS account is highlighted on the left.
Tip: You will usually find your account under Current User.
- Go to the Login Items tab.
- Click + at the bottom.
- Find the program you want to launch automatically.
Note: You will automatically start in the macOS Applications folder, where most applications reside by default. You can go to any folder, though, of course.
Tip: To find an application, you can also click Search and type its name. (To look only in the Applications folder, click “Applications” under Search:.)
- Highlight the application you want to add to the list of automatically started programs.
Tip: Hold down the Command key and click to highlight and add more than one application at once.
- Click Add.
- Close the Users & Groups preferences window.
Tip: You can also add applications to the list of Mac startup items by dragging and dropping them to the Login Items list from any Finder window.
Stop an Item from Launching Automatically on a Mac
To prevent a program from being started automatically whenever you boot up or log in to your Mac using macOS:
- Open System Preferences and go to your Login Items. (See above.)
- Highlight the application you want to stop from starting automatically.
Note: While you can highlight more than one application, only the last one you added to the selection will be removed.
- Click the – button (with a tooltip of Remove the selected item from the list.) at the bottom.
In addition to this personal location, applications that open automatically can be found—and disabled—in the following locations:
Edit Startup Programs using “StartupItems” Folders
To prevent an application from launching automatically at startup:
- Open the ~/Library/StartupItems and /System/Library/StartupItems folders in Finder.
Tip: You can open any folder fast in Finder using
- Remove any applications found there to prevent them from automatically opening at startup.
Note: These folders were used in past versions of macOS to configure startup items; their use is discouraged, but macOS will respect items found there.
Edit Mac Startup Programs using Launchd and Launchctl
To prevent applications and background processes (“daemons”) from running automatically using launchctl:
First, find the relevant Finder folders:
- Open the ~/Library/LaunchAgents , /Library/LaunchAgents and /Library/LaunchDaemons folders in Finder.
- Find the items that are run in the background automatically depending on the folder:
~/Library/LaunchAgents and /Library/LaunchAgents: run when a user logs on (a specific user, i.e. you, in the former and any user in the latter case);
/Library/LaunchDaemons: run in the background as a system process.
Now, disable unwanted Mac startup items using launchctl:
- Open a Terminal window.
launchctl bootout gui/501.
- Drag and drop the startup item you want to disable from the Finder window onto the Terminal window.
Example: To disable the Google software update (keystone) agent, for example, the command line could read
launchctl bootout gui/501 /Users/username/Library/LaunchAgents/com.google.keystone.agent.plist.
- Double-click the startup item’s .plist file in Finder to open it in TextEdit.
Tip: You can also right-click the file and select Open With | TextEdit from the context menu.
- Highlight the service name listed between <string> and </string> in the <dict> section of the file for the key Label.
Example: For the Google update service (com.google.keystone.agent.plist), highlight com.google.keystone.user.agent.
- Back at the Terminal window, type
launchctl disable gui/501/.
Example: For the Google update service, the command line should now read
launchctl disable gui/501/com.google.keystone.user.agent.
The service is now disabled and cannot be run. You can move or delete the corresponding .plist file if desired.
(How to change startup programs on a Mac tested with macOS Catalina 10.15; updated August 2020)