{
	"id": "21d460a5-3877-4dbe-9b30-c6de4481389e",
	"created_at": "2026-04-06T00:19:24.462905Z",
	"updated_at": "2026-04-10T13:12:27.518091Z",
	"deleted_at": null,
	"sha1_hash": "0e6599bd4c844c13537b30c1bea0f71b04cca966",
	"title": "How to run an app or tool at startup",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 305540,
	"plain_text": "How to run an app or tool at startup\r\nPublished: 2021-09-16 · Archived: 2026-04-05 17:18:36 UTC\r\nThere are four popular ways of getting software to run whenever your Mac starts up, depending on whether it’s\r\ninstalled as a Login Item, or as a LaunchAgent or LaunchDaemon. This article looks at the differences between\r\nthese mechanisms, so that you can decide which to use in each case, understand what can go wrong with them,\r\nand how to fix them.\r\nLeave it running at shutdown\r\nThe simplest way to have an an app opened for you when you next start up is just to leave the app running when\r\nyou shut down or restart. This does, of course, rely on you remembering to check that the app is running\r\nbeforehand.\r\nAdd it from the Dock\r\nThere’s a quick and easy way to add apps which are already in the Dock to the Login Items list (discussed below):\r\nclick and hold on their icon in the Dock until its menu pops up. In that, select Options, then the Open at Login\r\ncommand.\r\nlaunchd\r\nlaunchd is a generally reliable way for a user to set an app or tool to run at startup. As I explained earlier this\r\nweek, creating an appropriate Property List in one of the LaunchAgents or LaunchDaemons folders in /Library\r\nwill ensure it’s run before you log in, which probably isn’t what you intend. Instead, you’ll more likely want to\r\ninstall yours in ~/Library/LaunchAgents instead, so that it’s launched once you have logged in.\r\nSetting the RunAtLoad key to true tells launchd to run the service or app then. To launch an app, set the\r\nProgramArguments key to load the executable code within the app bundle, for example at\r\nAppName.app/Contents/MacOS/AppName. Remember that anything with a GUI must be a LaunchAgent.\r\nLogin Items\r\nThese are controlled quite differently, through LaunchServices rather than launchd , which runs later following\r\nstartup. You can set any app, service, or other executable code to run at startup by adding the item to the list of\r\nLogin Items in the Users \u0026 Groups pane in System Preferences.\r\nhttps://eclecticlight.co/2021/09/16/how-to-run-an-app-or-tool-at-startup/\r\nPage 1 of 3\n\nOnce added, LaunchServices puts them into its list of apps to launch at startup, which in Sierra and earlier used to\r\nbe located in ~/Library/Preferences/com.apple.loginitems.plist. Since High Sierra, that has moved, changed its\r\nextension, and the file structure, to ~/Library/Application\r\nSupport/com.apple.backgroundtaskmanagementagent/backgrounditems.btm\r\nThat file isn’t intended to be maintained directly by the user. The new format is opaque: although a Property List,\r\nit is now a keyed archive containing objects which are referenced by UUID, and unsuitable for manual editing.\r\nIn addition to using the Dock menu or the Users \u0026 Preferences pane, you can add and remove Login Items using\r\na scripting language; for example, in AppleScript\r\ntell application \"System Events\" to make login item at end with properties\r\n{path:\"/Applications/MyApp.app\", hidden:false}\r\nadds MyApp.app as a Login Item,\r\ntell application \"System Events\" to get the name of every login item\r\nlists all Login Items, and\r\ntell application \"System Events\" to delete login item \"name\"\r\nremoves the named Login Item from the current list.\r\nLogin Items are better suited to apps of any size which have significant user interfaces, and anything which a user\r\nwants to control easily. Many apps, such as menu bar or ‘Status Bar’ apps, offer the user the option of installing\r\nhttps://eclecticlight.co/2021/09/16/how-to-run-an-app-or-tool-at-startup/\r\nPage 2 of 3\n\nthem as a Login Item. Unfortunately, particularly when this is done for an app provided through the App Store,\r\nthis turns out to be a complex development task which requires a helper app.\r\nSorting out LaunchServices problems isn’t easy. If you’re seeing weird things going on with your Login Items list,\r\none possible solution is to start from scratch by trashing the current file, restarting, and setting up your Login\r\nItems again. Note that in some versions of macOS, until there is at least one Login Item, the settings file may not\r\neven exist.\r\nSource: https://eclecticlight.co/2021/09/16/how-to-run-an-app-or-tool-at-startup/\r\nhttps://eclecticlight.co/2021/09/16/how-to-run-an-app-or-tool-at-startup/\r\nPage 3 of 3",
	"extraction_quality": 1,
	"language": "EN",
	"sources": [
		"MITRE"
	],
	"origins": [
		"web"
	],
	"references": [
		"https://eclecticlight.co/2021/09/16/how-to-run-an-app-or-tool-at-startup/"
	],
	"report_names": [
		"how-to-run-an-app-or-tool-at-startup"
	],
	"threat_actors": [],
	"ts_created_at": 1775434764,
	"ts_updated_at": 1775826747,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/0e6599bd4c844c13537b30c1bea0f71b04cca966.pdf",
		"text": "https://archive.orkl.eu/0e6599bd4c844c13537b30c1bea0f71b04cca966.txt",
		"img": "https://archive.orkl.eu/0e6599bd4c844c13537b30c1bea0f71b04cca966.jpg"
	}
}