-
-
Save b0gdanw/c99e5b2eefad19932554a713384dcc70 to your computer and use it in GitHub Desktop.
| #!/bin/zsh | |
| # Credit: Original idea and script disable.sh by pwnsdx https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 | |
| # Disabling unwanted services on macOS Big Sur (11), macOS Monterey (12) and macOS Ventura (13) | |
| # Disabling SIP is required ("csrutil disable" from Terminal in Recovery) | |
| # Modifications are written in /private/var/db/com.apple.xpc.launchd/ disabled.plist, disabled.501.plist | |
| # To revert, delete /private/var/db/com.apple.xpc.launchd/ disabled.plist and disabled.501.plist and reboot; sudo rm -r /private/var/db/com.apple.xpc.launchd/* | |
| # user | |
| TODISABLE=() | |
| TODISABLE+=('com.apple.accessibility.MotionTrackingAgent' \ | |
| 'com.apple.AddressBook.ContactsAccountsService' \ | |
| 'com.apple.AMPArtworkAgent' \ | |
| 'com.apple.AMPDeviceDiscoveryAgent' \ | |
| 'com.apple.AMPLibraryAgent' \ | |
| 'com.apple.ap.adprivacyd' \ | |
| 'com.apple.ap.adservicesd' \ | |
| 'com.apple.ap.promotedcontentd' \ | |
| 'com.apple.assistant_service' \ | |
| 'com.apple.assistantd' \ | |
| 'com.apple.avconferenced' \ | |
| 'com.apple.BiomeAgent' \ | |
| 'com.apple.biomesyncd' \ | |
| 'com.apple.CalendarAgent' \ | |
| 'com.apple.calaccessd' \ | |
| 'com.apple.CallHistoryPluginHelper' \ | |
| 'com.apple.cloudd' \ | |
| 'com.apple.cloudpaird' \ | |
| 'com.apple.cloudphotod' \ | |
| 'com.apple.CloudPhotosConfiguration' \ | |
| 'com.apple.CloudSettingsSyncAgent' \ | |
| 'com.apple.CommCenter-osx' \ | |
| 'com.apple.ContactsAgent' \ | |
| 'com.apple.CoreLocationAgent' \ | |
| 'com.apple.dataaccess.dataaccessd' \ | |
| 'com.apple.ensemble' \ | |
| 'com.apple.familycircled' \ | |
| 'com.apple.familycontrols.useragent' \ | |
| 'com.apple.familynotificationd' \ | |
| 'com.apple.financed' \ | |
| 'com.apple.followupd' \ | |
| 'com.apple.gamed' \ | |
| 'com.apple.geod' \ | |
| 'com.apple.geodMachServiceBridge' \ | |
| 'com.apple.homed' \ | |
| 'com.apple.icloud.fmfd' \ | |
| 'com.apple.iCloudNotificationAgent' \ | |
| 'com.apple.iCloudUserNotifications' \ | |
| 'com.apple.icloud.searchpartyuseragent' \ | |
| 'com.apple.imagent' \ | |
| 'com.apple.imautomatichistorydeletionagent' \ | |
| 'com.apple.imtransferagent' \ | |
| 'com.apple.intelligenceplatformd' \ | |
| 'com.apple.itunescloudd' \ | |
| 'com.apple.knowledge-agent' \ | |
| 'com.apple.ManagedClient.cloudconfigurationd' \ | |
| 'com.apple.ManagedClientAgent.enrollagent' \ | |
| 'com.apple.Maps.mapspushd' \ | |
| 'com.apple.Maps.pushdaemon' \ | |
| 'com.apple.mediaanalysisd' \ | |
| 'com.apple.networkserviceproxy' \ | |
| 'com.apple.networkserviceproxy-osx' \ | |
| 'com.apple.mediastream.mstreamd' \ | |
| 'com.apple.newsd' \ | |
| 'com.apple.nsurlsessiond' \ | |
| 'com.apple.parsec-fbf' \ | |
| 'com.apple.parsecd' \ | |
| 'com.apple.passd' \ | |
| 'com.apple.photoanalysisd' \ | |
| 'com.apple.photolibraryd' \ | |
| 'com.apple.progressd' \ | |
| 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' \ | |
| 'com.apple.quicklook' \ | |
| 'com.apple.quicklook.ui.helper' \ | |
| 'com.apple.quicklook.ThumbnailsAgent' \ | |
| 'com.apple.rapportd-user' \ | |
| 'com.apple.remindd' \ | |
| 'com.apple.routined' \ | |
| 'com.apple.SafariCloudHistoryPushAgent' \ | |
| 'com.apple.screensharing.agent' \ | |
| 'com.apple.screensharing.menuextra' \ | |
| 'com.apple.screensharing.MessagesAgent' \ | |
| 'com.apple.ScreenTimeAgent' \ | |
| 'com.apple.security.cloudkeychainproxy3' \ | |
| 'com.apple.sharingd' \ | |
| 'com.apple.sidecar-hid-relay' \ | |
| 'com.apple.sidecar-relay' \ | |
| 'com.apple.Siri.agent' \ | |
| 'com.apple.siri.context.service' \ | |
| 'com.apple.macos.studentd' \ | |
| 'com.apple.siriknowledged' \ | |
| 'com.apple.suggestd' \ | |
| 'com.apple.tipsd' \ | |
| 'com.apple.telephonyutilities.callservicesd' \ | |
| 'com.apple.TMHelperAgent' \ | |
| 'com.apple.TMHelperAgent.SetupOffer' \ | |
| 'com.apple.triald' \ | |
| 'com.apple.universalaccessd' \ | |
| 'com.apple.UsageTrackingAgent' \ | |
| 'com.apple.videosubscriptionsd' \ | |
| 'com.apple.WiFiVelocityAgent' \ | |
| 'com.apple.weatherd') | |
| for agent in "${TODISABLE[@]}" | |
| do | |
| launchctl bootout gui/501/${agent} | |
| launchctl disable gui/501/${agent} | |
| done | |
| launchctl unload -w /System/Library/LaunchAgents/com.apple.cloudpaird.plist | |
| # system | |
| TODISABLE=() | |
| TODISABLE+=('com.apple.bootpd' \ | |
| 'com.apple.backupd' \ | |
| 'com.apple.backupd-helper' \ | |
| 'com.apple.cloudd' \ | |
| 'com.apple.cloudpaird' \ | |
| 'com.apple.cloudphotod' \ | |
| 'com.apple.CloudPhotosConfiguration' \ | |
| 'com.apple.CoreLocationAgent' \ | |
| 'com.apple.coreduetd' \ | |
| 'com.apple.dhcp6d' \ | |
| 'com.apple.familycontrols' \ | |
| 'com.apple.findmymacmessenger' \ | |
| 'com.apple.followupd' \ | |
| 'com.apple.FollowUpUI' \ | |
| 'com.apple.ftp-proxy' \ | |
| 'com.apple.ftpd' \ | |
| 'com.apple.GameController.gamecontrollerd' \ | |
| 'com.apple.icloud.fmfd' \ | |
| 'com.apple.icloud.searchpartyd' \ | |
| 'com.apple.itunescloudd' \ | |
| 'com.apple.locationd' \ | |
| 'com.apple.ManagedClient.cloudconfigurationd' \ | |
| 'com.apple.networkserviceproxy' \ | |
| 'com.apple.netbiosd' \ | |
| 'com.apple.nsurlsessiond' \ | |
| 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' \ | |
| 'com.apple.rapportd' \ | |
| 'com.apple.screensharing' \ | |
| 'com.apple.security.cloudkeychainproxy3' \ | |
| 'com.apple.siri.morphunassetsupdaterd' \ | |
| 'com.apple.siriinferenced' \ | |
| 'com.apple.triald.system' \ | |
| 'com.apple.wifianalyticsd') | |
| for daemon in "${TODISABLE[@]}" | |
| do | |
| sudo launchctl bootout system/${daemon} | |
| sudo launchctl disable system/${daemon} | |
| done |
The original made by pwnsdx had most of them grouped in categories. This is a fork of that https://gist.github.com/b0gdanw/b6fe449407465ddd6f2a657d71e1345c
For some you can get information in Terminal, example man routined returns: “routined – A daemon that learns the historical location patterns of a user.”
Thanks so much for this!
Yeah, thanks so much!
Does this work on the Sonoma beta?
I haven’t tried Sonoma, but I don’t know any reason why it shouldn't work.
It turns off a bunch of services, newer MacOS versions may have more that will need to be turned off :).
photo crash before config
photo crash before config
Music, TV should crash too. The script is meant to show what can be disabled, not that everyone should disable all those agents. Disable only the ones you are not interested in.
photo crash before config
Music, TV should crash too. The script is meant to show what can be disabled, not that everyone should disable all those agents. Disable only the ones you are not interested in.
How to keep: iCloud, photo and apple music. Please!
Oh thank goodness... a way to shut off that appalling News daemon... This script is a godsend.
how do I get back iMessage and facetime?
Please step by step how to run it.
Please step by step how to run it.
Its a zsh script. So if you download it, you will need to make it executable:
chmod +x ~/Downloads/Disable-Ventura-Bloatware.sh
zsh ~/Downloads/Disable-Ventura-Bloatware.shplease put notes, or even better, the commands to turn all this around in case someone just wants to go back.
please put notes, or even better, the commands to turn all this around in case someone just wants to go back.
Notes are included in the script:
To revert, delete /private/var/db/com.apple.xpc.launchd/ disabled.plist and disabled.501.plist and reboot
@FabioFeher Disabling SIP is required
"Disabling and Enabling System Integrity Protection"
https://developer.apple.com/documentation/security/disabling-and-enabling-system-integrity-protection
@FabioFeher Disabling SIP is required
"Disabling and Enabling System Integrity Protection"
https://developer.apple.com/documentation/security/disabling-and-enabling-system-integrity-protection
SIP is disabled. I don't know what's wrong. An older script from Catalina is working.
I did a small amount of ChatGPT research that might be helpful to some of the folks that what to know what exactly is disabled when you run this script. In my case, I dumped all the services into a CSV, attached it to my chat, then issued the following the prompt:
Attached is a list of MacOS Ventura services that I am interested in disabling. For each service do some research to find a description of the service, the criticality of each service, and the impact of disabling each service. Create a table output that includes Service Name, Description, Critical, Impact of Disabling. I have a medium risk tolerance and I want to disable most user-facing convenience extras, but keep all iCloud, WiFi, Security, CoreServices functioning. Give me this in CSV format.

this looks great, thank you!
Is there any documentation or list you used to understand what disabling each specific daemon/agent will turn off from the perspective of the user?