Extension

System extensions, or simply extensions, are small pieces of software that are are loaded during startup to patch or add functionality to Macintosh systems.

Classic Mac OS
Sometimes called "INITs", classic Mac OS would load system extensions at startup through a patching mechanism known as the INIT loader. This was originally an unsupported hack that could load up to 32 INITs stored in the System Folder. These appeared as icons that appeared horizontally at the bottom of the welcome as they were loaded. Apple Computer itself used this mechanism to add software features such as QuickTime or to patch bugs through System 7 Tune-Up.

A problematic extension could cause the system to become unstable or even crash during the startup process. Holding down the space bar during startup would bypass the INIT loader so that the culprit extension could be removed.

Starting with System 7, systems extensions became a more managed solution. Extensions dropped on the System Folder were redirected to an "Extensions" folder within it. Control panels that contained code that was similarly loaded at startup were placed in the "Control Panels" folder. It was still possible to place extensions directly into the System Folder by responding to a dialog box before it was redirected into the Extensions folder. The startup items would be loaded in the following order: System Folder, Extensions folder, and Control Panels folder. These could be managed through an Extensions Manager control panel, which could individually disable items by moving them to separate folders called "Extensions (Disabled)" and "Control Panels (Disabled)".

Mac OS X and macOS
Mac OS X uses a very different Unix-based architecture than classic Mac OS to better protect against crashes caused by problematic software. Extensions are no longer shown at the bottom of the screen during startup but are still loaded by OS X and macOS through a different process. Holding down the shift key during startup will enable safe mode (sometimes called "safe boot"), which turns all such extensions and startup items off.

Extensions can be managed through the Extensions System Preferences pane and startup items can be managed through the "Login Items" tab of the Users & Groups pane. After startup, problematic processes can be viewed and sometimes quit through the Activity Monitor utility.