I cannot boot my system anymore and I want to disable a service from loading and the only way to do this by using the terminal window from the recovery mode.

launchctl is not available in the recovery mode.


Try doing a Safe Boot by holding down the shift key on boot. This will boot, but disable all login items/services. From there, you should be able to disable the problem and boot normally.

More about a Safe Boot
How to perform a Safe Boot


Launchd controls all the services, so you can boot in single user mode and simply delete / move the files to a folder where launchd will leave them alone. (Often in single user mode you can look over /private/var/log/system.log and tell which task is hanging and be somewhat surgical about pruning launchd agents/daemons)

Here are the relevant folders from the link above:

     ~/Library/LaunchAgents         Per-user agents provided by the user.
     /Library/LaunchAgents          Per-user agents provided by the administrator.
     /Library/LaunchDaemons         System-wide daemons provided by the administrator.
     /System/Library/LaunchAgents   Per-user agents provided by Mac OS X.
     /System/Library/LaunchDaemons  System-wide daemons provided by Mac OS X.

You can also start launchd by hand (as well as load the tasks one by one manually) once you've learned how it works - I wouldn't recommend trying it for the first time on a broken mac - test and learn first on a mac that works and is fully backed up.

  • Could one do this in reverse? Instead of deleting LaunchDaemons from single user mode, could one move a file into the /Library/LaunchDaemons to have it load on next boot? – JBis Apr 11 '18 at 22:35

If you've disabled certain bits in launchd ... booting OS x in safe mode wont even work.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .