{
	"id": "1d7e56d5-b8d9-4594-a6bc-fe3c99f46c0c",
	"created_at": "2026-04-06T00:17:35.826419Z",
	"updated_at": "2026-04-10T03:20:23.580618Z",
	"deleted_at": null,
	"sha1_hash": "729f3a5ea75ef70597c8bdeac42b713c760e5abf",
	"title": "SMLoginItemSetEnabled Demystified",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 35521,
	"plain_text": "SMLoginItemSetEnabled Demystified\r\nBy Tim Schröder\r\nArchived: 2026-04-06 00:03:51 UTC\r\nThe Wayback Machine -\r\nhttps://web.archive.org/web/20160216034946/http://blog.timschroeder.net:80/2013/04/21/smloginitemsetenabled-demystified/\r\nHave you ever wondered how the SMLoginItemSetEnabled function works? How to remove an application from\r\nlaunching at login from outside that application? Well, read on.\r\nConsider you have an Mac application that is to run sandboxed and that you want to provide with launch at login\r\nfunctionality. The only working way to achieve this is to use the SMLoginItemSetEnabled function, which is part\r\nof the Service Management Framework. For a more detailed explanation on how to get launch at login\r\nfunctionality up and running in such a situation, see my tutorial.\r\nConsider further that you have successfully implemented such a feature and shipped your application, but now\r\nwant to update your application to not run in a sandbox anymore. Sounds like a strange turn of things, but this\r\nmay happen, e.g., if you designed an application to be distributed in the Mac App Store (and shipped it), but now\r\nthere are compelling reasons to remove the sandbox functionality and to switch to direct distribution outside the\r\nMac App Store.\r\nIt is then sensible to provide launch at login functionality no longer via SMLoginItemSetEnabled (and a helper\r\napp), but via a shared file list as provided by the Launch Services Framework, which has the distinctive advantage\r\nthat your application will be visibly marked as launching at login in the System Preferences and that the user can\r\nedit this behaviour from the System Preferences (which is not the case with the launch at login functionality\r\nproviding via SMLoginItemSetEnabled).\r\nIn such a situation your updated application is not sandboxed anymore. However, you can still disable the\r\napplication launching at login via SMLoginItemSetEnabled by using one of these approaches:\r\n1. Leave the helper app you had in your old application version inside the updated application bundle and call\r\nSMLoginItemSetEnabled to remove the helper app from launching at login. This will work, even if neither\r\nthe main application nor the helper app are sandboxed anymore. Calling SMLoginItemSetEnabled will fail\r\nif the (now dysfunctional) helper app is not in your updated application bundle anymore.\r\n2. Fidlle around with the property list file located at /var/db/launchd.db/com.apple.launchd.peruser.\r\n\u003cUID\u003e/overrides.plist, where \u003cUID\u003e is your user id as retrievable via the System Configuration\r\nFramework’s SCDynamicStoreCopyConsoleUser Function. Helper apps to be launched at login via\r\nSMLoginItemSetEnabled are stored inside this overrides.plist file, just delete the appropriate lines\r\ncontaining the helper app’s bundle identifier and you’re done.\r\nhttps://web.archive.org/web/20160216034946/https://blog.timschroeder.net/2013/04/21/smloginitemsetenabled-demystified/\r\nPage 1 of 2\n\nSource: https://web.archive.org/web/20160216034946/https://blog.timschroeder.net/2013/04/21/smloginitemsetenabled-demystified/\r\nhttps://web.archive.org/web/20160216034946/https://blog.timschroeder.net/2013/04/21/smloginitemsetenabled-demystified/\r\nPage 2 of 2",
	"extraction_quality": 1,
	"language": "EN",
	"sources": [
		"MITRE"
	],
	"references": [
		"https://web.archive.org/web/20160216034946/https://blog.timschroeder.net/2013/04/21/smloginitemsetenabled-demystified/"
	],
	"report_names": [
		"smloginitemsetenabled-demystified"
	],
	"threat_actors": [],
	"ts_created_at": 1775434655,
	"ts_updated_at": 1775791223,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/729f3a5ea75ef70597c8bdeac42b713c760e5abf.pdf",
		"text": "https://archive.orkl.eu/729f3a5ea75ef70597c8bdeac42b713c760e5abf.txt",
		"img": "https://archive.orkl.eu/729f3a5ea75ef70597c8bdeac42b713c760e5abf.jpg"
	}
}