Want to find out how to see all startup and login app launches and scripts on a Mac? This article will walk through that process. Gone are the days of Mac OS System 9 where all startup items were sitting nicely in a system folder labeled ‘Startup’, now with the Unix undercore of Mac OS X things are a bit more complicated, with some startup and login scripts and apps launching beyond the easily accessible ‘Login Items’ preference pane.

We’ll review where these startup, login, and auto-launch agents, plists, daemons, and applications may reside in Mac OS X. This can be helpful for troubleshooting, privacy, and security reasons.

Average Users: Startup & Login items in Mac OS X

For the average end user, most apps they want to configure to launch (or not) on boot are actually handled with a login event that’s easily controlled through something like the Dock with a right-click or the “Login Items” listed under user accounts, if that’s what you’re looking for then the average user can see how to launch an application on system start in Mac OS X (which is actually upon user login) and that will likely cover their needs.

Advanced Users: Startup & Login items, apps, and scripts in Mac OS X

This part of the article isn’t for most users! If you’re an advanced user or a systems administrator, that aforementioned preference pane is rarely the end of your hunt to track down startup and login items in Mac OS X. I recently was on a wild goose chase trying to find a rather obnoxious script a user had accidentally installed on a network machine, and knowing the proper locations made my job significantly easier, so for that reason I provide the list to you:

Applications that run on Startup:

/Library/StartupItems

plist items running on startup:

/Library/LaunchDaemons

/System/Library/LaunchDaemons

Applications that launch on User Login:

* First check your “Login Items” for that user account within the Account settings of System Preferences

~/Library/LaunchAgents

/Library/LaunchAgents/

/System/Library/LaunchAgents/

Applications that run on a set schedule:

Check your crontab with:

crontab -l

Check Kernel Extensions:

In the command line:

kextstat

Check Login and Logout Hooks

defaults read com.apple.loginwindow LoginHook for Login

defaults read com.apple.loginwindow LogoutHook for Logout

or see both with:

/usr/libexec/PlistBuddy -c Print

If you don’t know what you’re doing, please don’t mess around in the above directories or commands, you can easily cause more harm than good! These locations serve the core functionality of Mac OS and should only be altered by advanced Mac users and Systems Administrators.

Do you have any other tidbits or interesting info for finding startup scripts, launch apps, daemons, kernel extensions, or other automatically loading apps and scripts? Share with us in the comments!