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 edit Mac startup programs 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.

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 Edit Mac Startup Programs: Launch an App Automatically

To have your Mac launch a program automatically at startup using macOS:

  1. Select the Apple logo () in the macOS menu bar.
  2. Now select System Preferences… from the menu that has appeared.
  3. Open the Users & Groups category.
  4. Make sure your macOS account is highlighted on the left.
    • Tip: You will usually find your account under Current User.
  5. Go to the Login Items tab.

Now, to add an application to be started automatically when you start up and log in to your computer:

  1. Click + at the bottom.
  2. Find the program you want to launch automatically.
    • Tips: You will automatically start in the macOS Applications folder, where most applications reside by default.
    • You can go to any folder, though, of course.
    • To find an application, you can also click Search and type its name. (To look only in the Applications folder, click “Applications” under Search:.)
  3. 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.
  4. Click Add.

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.

How to Stop an Item from Starting Automatically

To prevent a program from being started automatically whenever you boot up or log in to your Mac using macOS:

  1. Open System Preferences and go to your Login Items. (See above.)
  2. Highlight the application you want to stop from being started automatically.
    • Note: While you can highlight more than one application, only the last one you added to the selection will be removed.
  3. 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 being launched at startup:

  1. Open the ~/Library/StartupItems and /System/Library/StartupItems folders in Finder.
  2. Remove any applications found there to make sure they are not automatically opened at startup.
    • Note: These folders were used in past versions of macOS to configure startup items; their use is no longer encouraged, but macOS will respect items found there.

Edit Startup Programs using Launchd and Launchctl

To prevent applications and background processes (“daemons”) from running automatically using launchctl:

  1. Open the ~/Library/LaunchAgents , /Library/LaunchAgents and /Library/LaunchDaemons folders in Finder.
  2. 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 in the former and any user in the latter case)
    • /Library/LaunchDaemons: run in the background as a system process
  3. Disable unwanted items using launchctl:
    1. Open a Terminal window.
    2. Type launchctl bootout gui/501 .
    3. 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.
    4. Press Enter.
    5. 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.
    6. Highlight the service name listed between <string> and </string> in the <dict> section of the file.
      • Example: For the Google update service (com.google.keystone.agent.plist), highlight com.google.keystone.user.agent.
    7. Press Command C.
    8. Back at the Terminal window, type launchctl disable gui/501/.
    9. Press Command V.
      • Example: For the Google update service, the command line should now read launchctl disable gui/501/com.google.keystone.user.agent.
    10. Press Enter.

The service is now disabled and cannot be run. You can move or delete the corresponding .plist file if desired.

(How to manage Mac startup programs tested with macOS High Sierra 10.13; updated May 2018; title image: StockUnlimited)