Here is my almost final script to disable unneccessary system daemons/agents in macOS Sequoia 15.7. It will disable a lot of stuff, most certainly some spotlight functionality, too.
#!/bin/zsh
# Credit: Original idea and script disable.sh by pwnsdx https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3
# Disabling unwanted services on macOS 15.7 Sequoia
# 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
# sudo rm /private/var/db/com.apple.xpc.launchd/disabled.plist
# sudo rm /private/var/db/com.apple.xpc.launchd/disabled.501.plist
# and reboot
# restart a agent/daemon:
# launchctl bootstrap system YZX
# launchctl kickstart -kp gui/501/YZX
# more references:
# bootup optimization https://github.com/Wyvern/macos/blob/master/macOS
# what is chronod https://discussions.apple.com/thread/255185176?sortBy=best
# disable sequoia bloatware https://gist.github.com/b0gdanw/b349f5f72097955cf18d6e7d8035c665
# If you want to reenable single agents/daemons for testing purposes and finetuning, you can do so.
# For agents:
# launchctl enable gui/501/com.apple.AGENTNAME && \
# launchctl bootstrap gui/501 /System/Library/LaunchAgents/com.apple.AGENTNAME.plist && \
# launchctl kickstart -kp gui/501/com.apple.AGENTNAME
#
# For daemons:
# z.B. nsurlsessiond (System-Daemon)
# sudo launchctl enable system/com.apple.DAEMONNAME && \
# sudo launchctl bootstrap system /System/Library/LaunchDaemons/com.apple.DAEMONNAME.plist && \
# sudo launchctl kickstart -kp system/com.apple.DAEMONNAME
# user launchagents
TODISABLE=()
TODISABLE+=(
'com.apple.accessibility.MotionTrackingAgent' \
'com.apple.ReportCrash' \
# required for appstore app installation / icloud appstore login
#'com.apple.amsaccountsd' \
'com.apple.amsengagementd' \
'com.apple.transparencyd' \
# prevent filerequester warning 'com.apple.bird' \
'com.apple.EscrowSecurityAlert' \
#iphone/ipad sync 'com.apple.AMPArtworkAgent' \
#iphone/ipad sync 'com.apple.AMPDeviceDiscoveryAgent' \
#iphone/ipad sync 'com.apple.AMPLibraryAgent' \
'com.apple.ap.adprivacyd' \
'com.apple.ap.adservicesd' \
'com.apple.ap.promotedcontentd' \
'com.apple.assistant_service' \
'com.apple.assistantd' \
'com.apple.CallHistoryPluginHelper' \
# calendar local database 'com.apple.calaccessd' \
# calendar sync 'com.apple.dataaccess.dataaccessd' \
# icloud
'com.apple.cloudd' \
'com.apple.cloudpaird' \
'com.apple.cloudphotod' \
'com.apple.CloudPhotosConfiguration' \
'com.apple.CloudSettingsSyncAgent' \
'com.apple.CloudPhotosConfiguration' \
'com.apple.icloud.searchpartyuseragent' \
'com.apple.SafariCloudHistoryPushAgent' \
'com.apple.icloud.fmfd' \
# required for notes and some recent games 'com.apple.iCloudNotificationAgent' \
# required for notes and some recent games 'com.apple.iCloudUserNotifications' \
# required for notes and some recent games 'com.apple.icloud.searchpartyuseragent' \
# syncs user settings between all devices, neu
'com.apple.syncdefaultsd' \
'com.apple.CommCenter-osx' \
'com.apple.CoreLocationAgent' \
'com.apple.donotdisturbd' \
'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.Siri.agent' \
'com.apple.homed' \
# imessage / facetime
'com.apple.imagent' \
'com.apple.imautomatichistorydeletionagent' \
'com.apple.imtransferagent' \
'com.apple.avconferenced' \
'com.apple.intelligenceplatformd' \
'com.apple.ManagedClient.cloudconfigurationd' \
'com.apple.ManagedClient.enroll' \
'com.apple.ManagedClient.mechanism' \
'com.apple.ManagedClient' \
'com.apple.ManagedClient.startup' \
'com.apple.ManagedClientAgent.enrollagent' \
'com.apple.ManagedClientAgent.agent' \
'com.apple.mdmclient.daemon' \
'com.apple.mdmclient' \
'com.apple.devicemanagementclient.teslad' \
# maps
'com.apple.Maps.mapspushd' \
'com.apple.Maps.pushdgaemon' \
'com.apple.maps.destinationd' \
'com.apple.networkserviceproxy' \
'com.apple.networkserviceproxy-osx' \
'com.apple.newsd' \
'com.apple.nsurlsessiond' \
'com.apple.parsec-fbf' \
'com.apple.parsecd' \
'com.apple.passd' \
# photos, media, itunes
'com.apple.photolibraryd' \
'com.apple.mediaanalysisd' \
'com.apple.photoanalysisd' \
'com.apple.itunescloudd' \
'com.apple.mediastream.mstreamd' \
# remote
'com.apple.mediaremoteagent' \
'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.screensharing.agent' \
'com.apple.screensharing.menuextra' \
'com.apple.screensharing.MessagesAgent' \
'com.apple.security.cloudkeychainproxy3' \
'com.apple.sharingd' \
'com.apple.sidecar-hid-relay' \
'com.apple.sidecar-relay' \
'com.apple.Siri.agent' \
'com.apple.macos.studentd' \
'com.apple.studentd' \
'com.apple.suggestd' \
'com.apple.tipsd' \
'com.apple.telephonyutilities.callservicesd' \
#'com.apple.TMHelperAgent' \
#'com.apple.TMHelperAgent.SetupOffer' \
'com.apple.triald' \
'com.apple.universalaccessd' \
#screentime
'com.apple.ScreenTimeAgent' \
'com.apple.UsageTrackingAgent' \
'com.apple.videosubscriptionsd' \
'com.apple.WiFiVelocityAgent' \
'com.apple.SocialPushAgent' \
'com.apple.weatherd' \
# added for sonoma
# widget stuff, I don't use widgets
'com.apple.chronod' \ # test notes
'com.apple.WeatherService' \
'com.apple.siriactionsd' \
'com.apple.SiriTTSTrainingAgent' \
'com.apple.betaenrollmentd' \
'com.apple.cmio.ContinuityCaptureAgent' \
# not required for mail
#'com.apple.email.maild' \ # test notes
'com.apple.icloudmailagent' \
# for enabling two factor accounts like google mail? 'com.apple.MailServiceAgent' \
# for smarthome
'com.apple.homeenergyd' \
# safari
'com.apple.SafariHistoryServiceAgent' \
'com.apple.Safari.PasswordBreachAgent' \
'com.apple.SafariTechnologyPreview.SyncService' \
'com.apple.SafariBookmarksSyncAgent' \
'com.apple.Safari.SafeBrowsing.Service' \
'com.apple.translationd' \
'com.apple.UserPictureSyncAgent' \
'com.apple.peopled' \
'com.apple.textunderstandingd' \
'com.apple.avatarsd' \
# business chat
'com.apple.businessservicesd' \
'com.apple.promotedcontentd' \
# siri
'com.apple.sirittsd' \
'com.apple.siriinferenced' \
'com.apple.SiriAUSP' \
# spotlight core service TEST for reducing spotlight write access, required by mail 'com.apple.corespotlightd'
'com.apple.webprivacyd' \
'com.apple.geod' \
'com.apple.proactiveeventtrackerd' \
'com.apple.proactived' \
'com.apple.sociallayerd' \
# sequoia
'com.apple.MENotificationAgent' \
'com.apple.companiond' \
'com.apple.dprivacy' \
'com.apple.feedbackd' \
'com.apple.generativeexperiencesd' \
# neu
'com.apple.intelligenceplatformd' \
'com.apple.intelligenceflowd' \
'com.apple.managedcorespotlightd' \
'com.apple.privatecloudcomputed' \
#'com.apple.swtransparencyd' \
'com.apple.Maps.mapssyncd' \
'com.apple.cmio.ContinuityCaptureAgent' \
'com.apple.diagnosticspushd' \
'com.apple.diagnostics_agent' \
'com.apple.diagnosticextensionsd' \
'com.apple.betaenrollmentagent' \
# apple data collection
'com.apple.analyticsagent' \
'com.apple.geoanalyticsd' \
'com.apple.inputanalyticsd' \
# user activity, handoff/continuity ios, universal clipboard ios, siri suggestions, browser-restore ios
'com.apple.coreservices.useractivityd' \
# apple experience knowledge / user erlebnis / context database
'com.apple.ContextStoreAgent' \
'com.apple.BiomeAgent' \
'com.apple.biomesyncd' \
'com.apple.intelligencecontextd' \
'com.apple.knowledge-agent' \
'com.apple.spotlightknowledged' \
'com.apple.spotlightknowledged.updater' \
'com.apple.spotlightknowledged.importer' \
'com.apple.siriknowledged' \
'com.apple.knowledgeconstructiond' \
'com.apple.siri.context.service' \
# coreduet, logs app usage for battery optimization, also part of knowledge db, handoff, continuity
'com.apple.duetexpertd' \
# personal voice training, reading
'com.apple.voicebankingd' \
# remote desktop
'com.apple.RemoteManagementAgent' \
'com.apple.RemoteDesktop.agent' \
# find my
'com.apple.findmy.findmylocateagent' \
# not required accesibility
'com.apple.accessibility.AXVisualSupportAgent'
)
USER_ID=$(id -u)
echo "Your user id: ${USER_ID}"
for agent in "${TODISABLE[@]}"
do
echo "disabling ${agent} for user id ${USER_ID}"
launchctl bootout gui/${USER_ID}/${agent}
launchctl disable gui/${USER_ID}/${agent}
done
# system launchdaemons
TODISABLE=()
TODISABLE+=(
'com.apple.bootpd' \
# apple data collection
'com.apple.analyticsd' \
'com.apple.osanalytics.osanalyticshelper' \
'com.apple.memoryanalyticsd' \
'com.apple.systemstats.analysis' \
'com.apple.systemstats.daily' \
'com.apple.systemstats.microstackshot_periodic' \
'com.apple.wifianalyticsd' \
'com.apple.audioanalyticsd' \
'com.apple.ecosystemanalyticsd' \
# coreduet, logs app usage for battery optimization, also part of knowledge db, handoff, continuity
'com.apple.coreduetd' \
'com.apple.locationd' \
'com.apple.SubmitDiagInfo' \
'com.apple.symptomsd-diag' \
'com.apple.symptomsd' \
'com.apple.rtcreportingd' \
# timemachine, will also periodically create apfs snapshots on the system drive, which might be annoying for proper free space calculation.
# however, timemachine is fully integrated in Apple's device restore process, so it makes a lot of sense to also do a timemachine backup.
'com.apple.backupd' \
'com.apple.backupd-helper' \
# icloud
'com.apple.cloudd' \
'com.apple.cloudpaird' \
'com.apple.cloudphotod' \
'com.apple.CloudPhotosConfiguration' \
'com.apple.icloud.fmfd' \
'com.apple.icloud.searchpartyd' \
'com.apple.ManagedClient.cloudconfigurationd' \
'com.apple.ManagedClient.enroll' \
'com.apple.ManagedClient.mechanism' \
'com.apple.ManagedClient' \
'com.apple.ManagedClient.startup' \
'com.apple.ManagedClientAgent.enrollagent' \
'com.apple.mdmclient.daemon' \
'com.apple.mdmclient' \
'com.apple.devicemanagementclient.teslad' \
# photos, media, itunes
'com.apple.itunescloudd' \
'com.apple.CoreLocationAgent' \
'com.apple.dhcp6d' \
'com.apple.familycontrols' \
'com.apple.followupd' \
'com.apple.FollowUpUI' \
'com.apple.ftp-proxy' \
'com.apple.ftpd' \
# gaming 'com.apple.GameController.gamecontrollerd' \
'com.apple.geod' \
'com.apple.ManagedClient.cloudconfigurationd' \
'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.SiriAUSP' \
'com.apple.triald.system' \
# added for sonoma
'com.apple.nearbyd' \
# collecting user data
'com.apple.dprivacyd' \
# apple pay
'com.apple.seld' \
# TEST completely disable logd, since it writes tons of data
# 'com.apple.logd'
# apple experience knowledge / user erlebnis
'com.apple.biomed' \
'com.apple.contextstored' \
# sequoia
# memory report, might be debugging / development
'com.apple.ReportSystemMemory' \
# keychain, hardware integrity, Secure Enclave, encryption
#'com.apple.applekeystored' \
'com.apple.attentionawarenessd' \
#'com.apple.devicemanagementclient.managedeventsd' \
#'com.apple.powerexperienced' \
# mesh wlan, smart home
'com.apple.threadradiod' \
# TEST ENABLE 24.10., usb sleep? YES, seems to fix it
#'com.apple.usbctelemetryd' \
'com.apple.betaenrollmentd' \
#'com.apple.wallpaper.export' \
# remote
'com.apple.mediaremoted' \
'com.apple.remotemanagementd' \
'com.apple.remoted' \
# find my mac
# to prevent diskutility warning, leave this: 'com.apple.icloud.findmydeviced' \
'com.apple.findmymacd' \
'com.apple.findmy.findmybeaconingd' \
'com.apple.findmymacmessenger'
# rosetta
#'com.apple.oahd'
)
for daemon in "${TODISABLE[@]}"
do
echo "disabling ${daemon}"
sudo launchctl bootout system/${daemon}
sudo launchctl disable system/${daemon}
done
# remove cloud personalized data
sudo rm /var/db/ConfigurationProfiles/Settings/.cloudConfigHasActivationRecord
sudo rm /var/db/ConfigurationProfiles/Settings/.cloudConfigRecordFound
sudo touch /var/db/ConfigurationProfiles/Settings/.cloudConfigProfileInstalled
sudo touch /var/db/ConfigurationProfiles/Settings/.cloudConfigRecordNotFound
#block mdm connect
#0.0.0.0 iprofiles.apple.com
#0.0.0.0 mdmenrollment.apple.com
#0.0.0.0 deviceenrollment.apple.com
#0.0.0.0 gdmf.apple.com
#0.0.0.0 acmdm.apple.com
#0.0.0.0 albert.apple.com
If you also want to completely disable Spotlight and use a replacement like Quicksilver, also execute this script once and reboot. You will then most likely have to use another email client, since Apple Mail’s search relies on Spotlight:
#!/bin/zsh
# Disable-Spotlight.sh
# Script to disable spotlight in Sonoma completely.
# Some search functionality in Apple apps depend on Spotlight and will loose search ability, e.g. Apple Mail
# To revert, delete
# sudo rm /private/var/db/com.apple.xpc.launchd/disabled.plist
# sudo rm /private/var/db/com.apple.xpc.launchd/disabled.501.plist
# and reboot
# user id 501 might be wrong in some cases
echo "Your user id:"
id -u
# user
TODISABLE=()
TODISABLE+=(
'com.apple.corespotlightd' \
'com.apple.Spotlight' \
'com.apple.spotlightknowledged' \
'com.apple.corespotlightservice' \
'com.apple.mdworker.mail' \
'com.apple.mdworker.shared' \
'com.apple.mdworker.single.arm64' \
'com.apple.mdworker.single.x86_64' \
'com.apple.mdworker.sizing' \
'com.apple.metadata.mdbulkimport' \
'com.apple.metadata.mdflagwriter' \
'com.apple.metadata.mdwrite'
)
for agent in "${TODISABLE[@]}"
do
echo "disabling ${agent}"
launchctl bootout gui/501/${agent}
launchctl disable gui/501/${agent}
done
# system
TODISABLE=()
TODISABLE+=(
'com.apple.diagnosticextensions.osx.spotlight.helper' \
'com.apple.metadata.mds' \
'com.apple.metadata.mds.index' \
'com.apple.metadata.mds.scan' \
'com.apple.metadata.mdbulkimport' \
'com.apple.metadata.mds.spindump'
)
for daemon in "${TODISABLE[@]}"
do
echo "disabling ${daemon}"
sudo launchctl bootout system/${daemon}
sudo launchctl disable system/${daemon}
done