Skip to content

Instantly share code, notes, and snippets.

@b0gdanw
Last active June 2, 2025 05:24
Show Gist options
  • Save b0gdanw/b349f5f72097955cf18d6e7d8035c665 to your computer and use it in GitHub Desktop.
Save b0gdanw/b349f5f72097955cf18d6e7d8035c665 to your computer and use it in GitHub Desktop.
Disable Sequoia Bloatware
#!/bin/zsh
# WARNING! The script is meant to show how and what can be disabled. Don’t use it as it is, adapt it to your needs.
# 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), macOS Ventura (13), macOS Sonoma (14) and macOS Sequoia (15)
# 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.accessibility.axassetsd' \
'com.apple.ap.adprivacyd' \
'com.apple.ap.promotedcontentd' \
'com.apple.assistant_service' \
'com.apple.assistantd' \
'com.apple.assistant_cdmd' \
'com.apple.avconferenced' \
'com.apple.BiomeAgent' \
'com.apple.biomesyncd' \
'com.apple.calaccessd' \
'com.apple.CallHistoryPluginHelper' \
'com.apple.chronod' \
'com.apple.cloudd' \
'com.apple.cloudpaird' \
'com.apple.cloudphotod' \
'com.apple.CloudSettingsSyncAgent' \
'com.apple.CommCenter-osx' \
'com.apple.ContextStoreAgent' \
'com.apple.CoreLocationAgent' \
'com.apple.corespeechd' \
'com.apple.dataaccess.dataaccessd' \
'com.apple.duetexpertd' \
'com.apple.familycircled' \
'com.apple.familycontrols.useragent' \
'com.apple.familynotificationd' \
'com.apple.financed' \
'com.apple.findmy.findmylocateagent' \
'com.apple.followupd' \
'com.apple.gamed' \
'com.apple.generativeexperiencesd' \
'com.apple.geoanalyticsd' \
'com.apple.geodMachServiceBridge' \
'com.apple.helpd' \
'com.apple.homed' \
'com.apple.icloud.fmfd' \
'com.apple.iCloudNotificationAgent' \
'com.apple.icloudmailagent' \
'com.apple.iCloudUserNotifications' \
'com.apple.icloud.searchpartyuseragent' \
'com.apple.imagent' \
'com.apple.imautomatichistorydeletionagent' \
'com.apple.imtransferagent' \
'com.apple.inputanalyticsd' \
'com.apple.intelligenceflowd' \
'com.apple.intelligencecontextd' \
'com.apple.intelligenceplatformd' \
'com.apple.itunescloudd' \
'com.apple.knowledge-agent' \
'com.apple.knowledgeconstructiond' \
'com.apple.ManagedClientAgent.enrollagent' \
'com.apple.Maps.pushdaemon' \
'com.apple.Maps.mapssyncd' \
'com.apple.maps.destinationd' \
'com.apple.mediaanalysisd' \
'com.apple.mediastream.mstreamd' \
'com.apple.naturallanguaged' \
'com.apple.navd' \
'com.apple.newsd' \
'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' \
'com.apple.rapportd-user' \
'com.apple.remindd' \
'com.apple.replicatord' \
'com.apple.routined' \
'com.apple.screensharing.agent' \
'com.apple.screensharing.menuextra' \
'com.apple.screensharing.MessagesAgent' \
'com.apple.ScreenTimeAgent' \
'com.apple.SSInvitationAgent' \
'com.apple.security.cloudkeychainproxy3' \
'com.apple.sharingd' \
'com.apple.sidecar-hid-relay' \
'com.apple.sidecar-relay' \
'com.apple.siriactionsd' \
'com.apple.Siri.agent' \
'com.apple.siriinferenced' \
'com.apple.sirittsd' \
'com.apple.SiriTTSTrainingAgent' \
'com.apple.macos.studentd' \
'com.apple.siriknowledged' \
'com.apple.suggestd' \
'com.apple.tipsd' \
'com.apple.telephonyutilities.callservicesd' \
'com.apple.TMHelperAgent' \
'com.apple.triald' \
'com.apple.universalaccessd' \
'com.apple.UsageTrackingAgent' \
'com.apple.videosubscriptionsd' \
'com.apple.voicebankingd' \
'com.apple.watchlistd' \
'com.apple.weatherd')
for agent in "${TODISABLE[@]}"
do
launchctl bootout gui/501/${agent}
launchctl disable gui/501/${agent}
done
# system
TODISABLE=()
TODISABLE+=('com.apple.analyticsd' \
'com.apple.audioanalyticsd' \
'com.apple.backupd' \
'com.apple.backupd-helper' \
'com.apple.biomed' \
'com.apple.cloudd' \
'com.apple.coreduetd' \
'com.apple.dhcp6d' \
'com.apple.ecosystemanalyticsd' \
'com.apple.familycontrols' \
'com.apple.findmymac' \
'com.apple.findmymacmessenger' \
'com.apple.findmy.findmybeaconingd' \
'com.apple.ftp-proxy' \
'com.apple.GameController.gamecontrollerd' \
'com.apple.icloud.findmydeviced' \
'com.apple.icloud.searchpartyd' \
'com.apple.locationd' \
'com.apple.ManagedClient.cloudconfigurationd' \
'com.apple.modelmanagerd' \
'com.apple.netbiosd' \
'com.apple.rapportd' \
'com.apple.screensharing' \
'com.apple.triald.system' \
'com.apple.wifianalyticsd')
for daemon in "${TODISABLE[@]}"
do
sudo launchctl bootout system/${daemon}
sudo launchctl disable system/${daemon}
done
sudo launchctl bootout user/205/com.apple.geod
sudo launchctl disable user/205/com.apple.geod
macOS Launch Agents and Launch Daemons
###########
Do NOT disable
/System/Library/LaunchAgents/com.apple.contactsd.plist
contactsd – contactsd daemon
- reason: App Store freeze
/System/Library/LaunchDaemons/com.apple.AirPlayXPCHelper.plist
/usr/libexec/AirPlayXPCHelper
- reason: media playback error (YouTube) in Safari & WebKit browsers
/System/Library/LaunchAgents/com.apple.donotdisturbd.plist
donotdisturbd – do dot disturb daemon
donotdisturbd manages the system do not disturb mode and configuration
- reason: Notification Center stops working
###########
Launch Agents
/System/Library/LaunchAgents/com.apple.inputanalyticsd.plist
inputanalyticsd – User Input Diagnostics and Usage
inputanalyticsd is a daemon that collects diagnostics and usage data on user input locally for users that have opted in.
/System/Library/LaunchAgents/com.apple.geoanalyticsd.plist
GeoAnalytics framework
/System/Library/LaunchAgents/com.apple.accessibility.MotionTrackingAgent.plist
MotionTrackingAgent – Motion Tracking Launch Agent
/System/Library/LaunchAgents/com.apple.accessibility.axassetsd.plist
AXAssetLoader.framework com.apple.accessibility.axassetsd
/System/Library/LaunchAgents/com.apple.AMPArtworkAgent.plist
AMPArtworkAgent – The artwork agent for Music.app, TV.app, and iOS/iPod device syncing
/System/Library/LaunchAgents/com.apple.AMPLibraryAgent.plist
AMPLibraryAgent – The media library agent for Music.app and TV.app.
/System/Library/LaunchAgents/com.apple.assistant_cdmd.plist
assistant_cdmd, CDM/NLX Daemon – daemon handles Natural Langauge Understanding tasks for Siri and other internal Apple teams.
/System/Library/LaunchAgents/com.apple.ap.adprivacyd.plist
adprivacyd – advertising privacy services daemon
/System/Library/LaunchAgents/com.apple.ap.promotedcontentd.plist
com.apple.ap.adservicesd.statusconditionservice
com.apple.ap.promotedcontent.metrics
/System/Library/LaunchAgents/com.apple.assistant_service.plist
com.apple.siri.execution_service
/System/Library/LaunchAgents/com.apple.assistantd.plist
assistantd – Siri Daemon
/System/Library/LaunchAgents/com.apple.avconferenced.plist
/usr/libexec/avconferenced com.apple.videoconference.camera
/System/Library/LaunchAgents/com.apple.BiomeAgent.plist
BiomeAgent – Biome operation graph execution launch agent
/System/Library/LaunchAgents/com.apple.biomesyncd.plist
biomesyncd – data synchronization daemon
/System/Library/LaunchAgents/com.apple.calaccessd.plist
CalendarDaemon.framework
/System/Library/LaunchAgents/com.apple.CallHistoryPluginHelper.plist
CallHistory.framework
/System/Library/LaunchAgents/com.apple.chronod.plist
ChronoCore.framework
com.apple.chrono.widgetcenterconnection
/System/Library/LaunchAgents/com.apple.cloudd.plist
cloudd is the system daemon backing the CloudKit feature
/System/Library/LaunchAgents/com.apple.cloudpaird.plist
cloudpaird – cloudpaird daemon
/System/Library/LaunchAgents/com.apple.cloudphotod.plist
cloudphotod is the iCloud Photos agent. It is responsible for all iCloud Photos activity.
/System/Library/LaunchAgents/com.apple.CloudSettingsSyncAgent.plist
Cloud Settings Sync Agent
/System/Library/LaunchAgents/com.apple.CommCenter-osx.plist
CoreTelephony.framework
/System/Library/LaunchAgents/com.apple.CoreLocationAgent.plist
CoreLocationAgent – manages location authorization prompts
/System/Library/LaunchAgents/com.apple.corespeechd.plist
CoreSpeech.framework
/System/Library/LaunchAgents/com.apple.dataaccess.dataaccessd.plist
dataaccessd is the calendar sync process. It is used by the system to sync calendar data with calendar servers.
/System/Library/LaunchAgents/com.apple.duetexpertd.plist
duetexpertd powers personalized system experiences.
/System/Library/LaunchAgents/com.apple.familycircled.plist
FamilyCircle.framework
/System/Library/LaunchAgents/com.apple.familycontrols.useragent.plist
/System/Library/LaunchAgents/com.apple.FamilyControlsAgent.plist
/System/Library/LaunchDaemons/com.apple.familycontrols.plist
FamilyControlsAgent handles and persists family controls authorization requests for Screen Time API
/System/Library/LaunchAgents/com.apple.familynotificationd.plist
FamilyNotification.framework
/System/Library/LaunchAgents/com.apple.financed.plist
financed – Apple Pay & Wallet daemon
/System/Library/LaunchAgents/com.apple.followupd.plis
CoreFollowUp.framework
Notification = "com.apple.mobile.keybagd.lock_status"
/System/Library/LaunchAgents/com.apple.gamed.plist
GameCenterFoundation.framework
/System/Library/LaunchAgents/com.apple.generativeexperiencesd.plist
generativeexperiencesd – A daemon that powers generative experience.
/System/Library/LaunchAgents/com.apple.geodMachServiceBridge.plist
GeoServices.framework
/System/Library/LaunchAgents/com.apple.helpd.plist
helpd – Help Daemon
helpd is a macOS agent that manages software documentation.
/System/Library/LaunchAgents/com.apple.homed.plist
homed is a daemon that manages home state and controls HomeKit accessories.
/System/Library/LaunchAgents/com.apple.icloud.fmfd.plist
fmfd is the daemon for Find My Friends
/System/Library/LaunchAgents/com.apple.iCloudNotificationAgent.plist
iCloudNotification.framework
/System/Library/LaunchAgents/com.apple.iCloudUserNotifications.plist
AOSAccounts.framework iCloudUserNotificationsd.app
/System/Library/LaunchAgents/com.apple.icloud.searchpartyuseragent.plist
searchpartyuseragent – icloud searchparty user agent
/System/Library/LaunchAgents/com.apple.imagent.plist
IMCore.framework iChat / iMessage
/System/Library/LaunchAgents/com.apple.imautomatichistorydeletionagent.plist
IMDPersistence.framework IMAutomaticHistoryDeletionAgent.app
/System/Library/LaunchAgents/com.apple.imtransferagent.plist
IMTransferServices.framework IMTransferAgent.app
/System/Library/LaunchAgents/com.apple.intelligenceflowd.plist
intelligenceflowd – A daemon that manages sessions for intelligence services.
/System/Library/LaunchAgents/com.apple.intelligenceplatformd.plist
intelligenceplatformd – A daemon that analyzes content on the device to build and query a general purpose knowledge graph.
/System/Library/LaunchAgents/com.apple.intelligencecontextd.plist
intelligencecontextd – This is a daemon that retrieves contextual information from various sources.
/System/Library/LaunchAgents/com.apple.intelligenceplatformd.plist
intelligenceplatformd – A daemon that analyzes content on the device to build and query a general purpose knowledge graph.
/System/Library/LaunchAgents/com.apple.itunescloudd.plist
music-subscription-status-service playactivity
/System/Library/LaunchAgents/com.apple.knowledge-agent.plist
siri suggestions
/System/Library/LaunchAgents/com.apple.knowledgeconstructiond.plist
knowledgeconstructiond – A daemon that analyzes content on the device to build a general purpose knowledge graph.
/System/Library/LaunchAgents/com.apple.mediaanalysisd.plist
MediaAnalysis.framework
com.apple.mediaanalysisd.photos
/System/Library/LaunchAgents/com.apple.naturallanguaged.plist
naturallanguaged – System post editing daemon
/System/Library/LaunchAgents/com.apple.ManagedClientAgent.enrollagent.plist
The ManagedClientAgent -- Device enrollment and ManagedClient process notification daemon process handles
device enrollment and other ManagedClient related process notifications.
/System/Library/LaunchAgents/com.apple.Maps.pushdaemon.plist
mapspushd - Maps application services daemon
/System/Library/LaunchAgents/com.apple.mediastream.mstreamd.plist
mstreamd is the photo stream agent. It is responsible for My Photo Stream and Shared Albums for Photos.
/System/Library/LaunchAgents/com.apple.navd.plist
navd – Time to Leave Daemon
navd uses your location, calendar event's location and traffic conditions to generate hypotheses about when you need to leave.
/System/Library/LaunchAgents/com.apple.newsd.plist
NewsDaemon.framework
/System/Library/LaunchAgents/com.apple.parsec-fbf.plist
parsec-fbf is responsible for periodic flush and upload of Siri Search analytics data.
/System/Library/LaunchAgents/com.apple.parsecd.plist
parsecd – Support daemon for Siri Search
/System/Library/LaunchAgents/com.apple.passd.plist
passd – Apple Pay & Wallet daemon
/System/Library/LaunchAgents/com.apple.photoanalysisd.plist
photoanalysisd is the photo library analysis agent. It handles background processing of photo librariesfor Memories, People and scene or object based search.
/System/Library/LaunchAgents/com.apple.photolibraryd.plist
photolibraryd – The macOS photo library agent.
photolibraryd is the photo library agent. It handles all photo library requests.
/System/Library/LaunchAgents/com.apple.progressd.plist
progressd is the ClassKit sync agent. It handles syncing classes, class members, student handouts and progress data between student and teacher managed Apple Accounts.
/System/Library/LaunchAgents/com.apple.protectedcloudstorage.protectedcloudkeysyncing.plist
ProtectedCloudKeySyncing manages backup and syncing of encrypted PCS keys to CloudKit.
/System/Library/LaunchAgents/com.apple.quicklook.ui.helper.plist
/System/Library/LaunchAgents/com.apple.quicklook.plist
/System/Library/LaunchAgents/com.apple.quicklook.ThumbnailsAgent.plist
QuickLook
/System/Library/LaunchAgents/com.apple.rapportd-user.plist
rapportd – Daemon that enables Phone Call Handoff and other communication features between Apple devices.
/System/Library/LaunchAgents/com.apple.remindd.plist
com.apple.alarm com.apple.locationd-events
/System/Library/LaunchAgents/com.apple.replicatord.plist
replicatord – remote widget sync daemon
launchctl bootout gui/501/com.apple.replicatord
launchctl disable gui/501/com.apple.replicatord
/System/Library/LaunchAgents/com.apple.routined.plist
routined – A daemon that learns the historical location patterns of a user.
routined is a per-user daemon that learns historical location patterns of a user and predicts future visits to locations.
/System/Library/LaunchAgents/com.apple.screensharing.agent.plist
/System/Library/LaunchAgents/com.apple.screensharing.menuextra.plist
/System/Library/LaunchAgents/com.apple.screensharing.MessagesAgent.plist
ScreensharingAgent – communicates with screensharingd to provide access to a user session.
/System/Library/LaunchAgents/com.apple.ScreenTimeAgent.plist
ScreenTimeAgent supports the Screen Time feature.
/System/Library/LaunchAgents/com.apple.security.cloudkeychainproxy3.plist
CloudKeychainProxy part of iCloud keychain syncing
/System/Library/LaunchAgents/com.apple.sharingd.plist
sharingd – Sharing Daemon that enables AirDrop, Handoff, Instant Hotspot, Shared Computers, and Remote Disc in the Finder.
/System/Library/LaunchAgents/com.apple.sidecar-hid-relay.plist
/System/Library/LaunchAgents/com.apple.sidecar-relay.plist
SidecarDisplayAgent – Sidecar Virtual Display Service
SidecarDisplayAgent provides virtual display service.
/System/Library/LaunchAgents/com.apple.Siri.agent.plist
Siri com.apple.siri.activation com.apple.siri.invoke
/System/Library/LaunchAgents/com.apple.macos.studentd.plist
studentd – Classroom's student control agent.
/System/Library/LaunchAgents/com.apple.siriknowledged.plist
com.apple.siri.conversation_context_module com.apple.siriknowledged.vocabulary.admin
/System/Library/LaunchAgents/com.apple.siriinferenced.plist
SiriInference.framework com.apple.sirisuggestions
/System/Library/LaunchAgents/com.apple.sirittsd.plist
SiriTTSService.framework
/System/Library/LaunchAgents/com.apple.SiriTTSTrainingAgent.plist
SiriTTSTraining.framework
/System/Library/LaunchAgents/com.apple.siriactionsd.plist
The siriactionsd daemon coordinates running and syncing of shortcuts created in the Shortcuts application, among other Shortcuts-related auxiliary tasks.
/System/Library/LaunchAgents/com.apple.suggestd.plist
suggestd – daemon that processes user content in order to detect contacts, events, named entities, etc.
/System/Library/LaunchAgents/com.apple.tipsd.plist
com.apple.language.changed com.apple.mobile.keybagd.first_unlock
/System/Library/LaunchAgents/com.apple.telephonyutilities.callservicesd.plist
callservicesd is the system daemon responsible for maintaining call state.
/System/Library/LaunchAgents/com.apple.TMHelperAgent.plist
TimeMachine
/System/Library/LaunchAgents/com.apple.triald.plist
/System/Library/LaunchAgents/com.apple.universalaccessd.plist
universalaccessd provides universal access services.
/System/Library/LaunchAgents/com.apple.UsageTrackingAgent.plist
UsageTrackingAgent monitors and reports limits set by Screen Time.
/System/Library/LaunchAgents/com.apple.videosubscriptionsd.plist
com.apple.VideoSubscriberAccount.AnalyticsService
/System/Library/LaunchAgents/com.apple.voicebankingd.plist
TextToSpeechVoiceBankingSupport.framework
/System/Library/LaunchAgents/com.apple.watchlistd.plist
watchlistd – Support daemon for Apple TV app
/System/Library/LaunchAgents/com.apple.weatherd.plist
WeatherDaemon.framework
###########
Launch Daemons
/System/Library/LaunchDaemons/com.apple.analyticsd.plist
analyticsd – Diagnostics and Usage
analyticsd is a system daemon that collects diagnostics and usage data locally for users that have opted in.
/System/Library/LaunchDaemons/com.apple.audioanalyticsd.plist
audioanalyticsd – Audio Diagnostics and Usage Reporting
audioanalyticsd is a launch agent that aggregates and analyzes audio usage data for users that have opted in for reporting.
/System/Library/LaunchDaemons/com.apple.ecosystemanalyticsd.plist
ecosystemanalyticsd – Analyzes which frameworks and APIs are used by 3rd party applications
ecosystemanalyticsd analyzes 3rd party applications to determine API usage. The reports are used by Apple to improve its products.
/System/Library/LaunchDaemons/com.apple.backupd.plist
/System/Library/LaunchDaemons/com.apple.backupd-helper.plist
backupd – Time Machine backup daemon
/System/Library/LaunchDaemons/com.apple.biomed.plist
biomed – Biome operation graph execution daemon
biomed accepts downstream subscriptions for real time event processing.
/System/Library/LaunchDaemons/com.apple.biometrickitd.plist
biometrickitd provides support for biometric operations.
/System/Library/LaunchDaemons/com.apple.cloudd.plist
cloudd is the system daemon backing the CloudKit feature
/System/Library/LaunchDaemons/com.apple.coreduetd.plist
com.apple.coreduetd.knowledge com.apple.coreduetd.people com.apple.proactive.SuggestionRequest
/System/Library/LaunchDaemons/com.apple.dhcp6d.plist
dhcp6d is a stateless DHCPv6 server used by the InternetSharing(8) service.
/System/Library/LaunchDaemons/com.apple.familycontrols.plist
FamilyControlsAgent handles and persists family controls authorization requests for Screen Time API
/System/Library/LaunchDaemons/com.apple.findmymacmessenger.plist
/System/Library/LaunchDaemons/com.apple.findmymac.plist
FindMyMac.framework
/System/Library/LaunchDaemons/com.apple.findmy.findmybeaconingd.plist
FindMyBeaconDaemon – Daemon to manage local Mac FindMy beaconing.
/System/Library/LaunchDaemons/com.apple.ftp-proxy.plist
ftp-proxy – Internet File Transfer Protocol proxy server
/System/Library/LaunchDaemons/com.apple.GameController.gamecontrollerd.plist
gamecontrollerd arbitrates access to hardware game controllers amongst apps using the GameController framework.
/System/Library/LaunchDaemons/com.apple.icloud.findmydeviced.plist
/System/Library/LaunchDaemons/com.apple.icloud.searchpartyd.plist
findmydeviced is the daemon for Find My Mac.
/System/Library/LaunchDaemons/com.apple.locationd.plist
locationd obtains geographic location and manages the authorization for apps, daemons and widgets that request location updates.
/System/Library/LaunchDaemons/com.apple.ManagedClient.cloudconfigurationd.plist
cloudconfigurationd assists in helping install client Device Enrollment profiles.
/System/Library/LaunchDaemons/com.apple.modelmanagerd.plist
modelmanagerd is a daemon that manages ML models and requests for execution of those models.
/System/Library/LaunchDaemons/com.apple.modelcatalogd.plist
modelcatalogd provides a catalog of models, adapters, and tokenizers for use by the system
/System/Library/LaunchDaemons/com.apple.netbiosd.plist
netbiosd is responsible for interacting with NetBIOS networks. netbiosd registers and defends one or more NetBIOS name, depending on the set of configured services. It also browses and scavenges names from the NetBIOS network, making them available to the system through mDNSResponder.
/System/Library/LaunchDaemons/com.apple.rapportd.plist
rapportd – Daemon that enables Phone Call Handoff and other communication features between Apple devices.
/System/Library/LaunchDaemons/com.apple.screensharing.plist
ScreensharingAgent – communicates with screensharingd to provide access to a user session.
/System/Library/LaunchDaemons/com.apple.triald.system.plist
/usr/libexec/triald_system
/System/Library/LaunchDaemons/com.apple.wifianalyticsd.plist
com.apple.wifianalyticsd
@teqtic
Copy link

teqtic commented Apr 8, 2025

Hey @b0gdanw would you please explain some of the more recent changes you've made?

@b0gdanw
Copy link
Author

b0gdanw commented Apr 9, 2025

@teqtic
Copy link

teqtic commented Apr 9, 2025

Running the latest version and all seems good, even with modelmanagerd disabled. I no longer have the issue I had before with coreaudiod going crazy. I wonder if that's because you removed modelcatalogd from the script? Location services still seem to work without the newly added com.apple.geod.

Here is my list of services I chose to keep enabled and the reasons why I need them:

Required (User)
com.apple.chronod - Widgets
com.apple.imagent - iMessage
com.apple.quicklook - Thumbnails in Finder
com.apple.quicklook.ui.helper - Thumbnails in Finder
com.apple.quicklook.ThumbnailsAgent - Thumbnails in Finder
com.apple.remindd - Reminders
com.apple.sharingd - Airdrop
com.apple.siriactionsd - Stocks widget breaks without this
com.apple.telephonyutilities.callservicesd - FaceTime
com.apple.TMHelperAgent - Time Machine

Required (System)
com.apple.backupd - Time Machine
com.apple.backupd-helper - Time Machine
com.apple.dhcp6d - Won't reconnect to WiFi after using VPN
com.apple.icloud.findmydeviced - Required for Disk Utility to be able to erase / format drives
com.apple.locationd - Location services (mainly used for Weather)

@prynhart
Copy link

Hi all - I've just got myself the entry level MacBook Air M1 (2020) - which has only 8GB of Ram. I'm thinking of using this script to help keep memory usage down - but how can I tell which of these services use the most memory ? Is there a list somewhere ?

@b0gdanw
Copy link
Author

b0gdanw commented Apr 21, 2025

@teqtic
Copy link

teqtic commented Apr 23, 2025

Any idea which services are required for screen mirroring to work? Just noticed mine is not working: no devices show up when I tap on screen mirroring from control center.

@b0gdanw
Copy link
Author

b0gdanw commented Apr 23, 2025

/System/Library/LaunchAgents/com.apple.screensharing.agent.plist
/System/Library/LaunchAgents/com.apple.screensharing.menuextra.plist
/System/Library/LaunchAgents/com.apple.screensharing.MessagesAgent.plist

/System/Library/LaunchDaemons/com.apple.screensharing.plist

@teqtic
Copy link

teqtic commented Apr 25, 2025

Thanks! A few things regarding screen mirroring:

  1. Something was disabled on the TV making it not show up. After enabling it on the TV, the TV started showing up when clicking on Screen Mirroring but the computer would say "Could not connect to "TV"".
  2. I deleted the disabled files and rebooted and then it worked. This confirms the issue is a disabled service.
  3. I disabled the services one by one, while screen mirroring was active, and would periodically disconnect and reconnect to make sure that it still worked. I got to the end of the list and it was still working. However, after rebooting it was not working again! So it looks like rebooting after disabling/enabling services may be required to see the full effect.

Unfortunately excluding the plist files you listed above was not enough. What else might be needed for screen mirroring to work? It asks for a code when connecting so I'm thinking maybe it's something to do with that. Unfortunately I don't have the time to disable one at a time and also reboot after each one.

@teqtic
Copy link

teqtic commented Apr 25, 2025

On a separate note, while manually disabling each service, I found this list of launch agents and daemons for which bootout fails with "Boot-out failed: 3: No such process":

Launch agents:
com.apple.avconferenced
com.apple.cloudpaird
com.apple.CloudSettingsSyncAgent
com.apple.CommCenter-osx
-com.apple.icloud.fmfd [plist also not found in folder]
com.apple.iCloudUserNotifications
com.apple.imtransferagent
com.apple.Maps.pushdaemon
com.apple.rapportd-user
com.apple.SSInvitationAgent - should be lower down alphabetically
com.apple.sidecar-hid-relay
com.apple.macos.studentd

Launch daemons:
com.apple.findmymac
com.apple.ftp-proxy
com.apple.screensharing

Interestingly all except "com.apple.icloud.fmfd" have corresponding plist files. Does this mean they weren't "bootstrap"'ed by the system yet and we should still leave them in the script?

I have added 'echo' lines to the script so that it's easy to tell for which agent/daemon a bootout fails:

for agent in "${TODISABLE[@]}"
do
echo 'Booting out agent' ${agent}
launchctl bootout gui/501/${agent}
echo 'Disabling agent' ${agent}
launchctl disable gui/501/${agent}
done

...

for daemon in "${TODISABLE[@]}"
do
echo 'Booting out daemon' ${daemon}
sudo launchctl bootout system/${daemon}
echo 'Disabling daemon' ${daemon}
sudo launchctl disable system/${daemon}
done

...

echo 'Booting out com.apple.geod'
sudo launchctl bootout user/205/com.apple.geod
echo 'Disabling com.apple.geod'
sudo launchctl disable user/205/com.apple.geod

@b0gdanw
Copy link
Author

b0gdanw commented Apr 26, 2025

Try to enable /System/Library/LaunchAgents/com.apple.sharingd.plist

Some have KeepAlive 0/false, that means they are started when needed, not at boot.
“KeepAlive - This key specifies whether your daemon launches on-demand or must always be running.”
https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html

com.apple.icloud.fmfd seems to have been replaced by Apple with /System/Library/LaunchAgents/com.apple.icloud.findmydeviced.findmydevice-user-agent.plist

@dtpoirot-git
Copy link

Having run the script, and being delighted at the return of resources, I have only found Message to be a disabled thing I would like to have back.

Is there a script which restores each daemon?

Thank you!

@b0gdanw
Copy link
Author

b0gdanw commented Apr 26, 2025

If you want to restore Messages, run launchctl enable gui/501/com.apple.imagent and reboot.
If you want to restore all, delete disabled.205.plist, disabled.501.plist and disabled.plist from /private/var/db/com.apple.xpc.launchd/ and reboot

@dtpoirot-git
Copy link

My 8gb MacBook running Sequoia blesses your name!

even without Messages!

@teqtic
Copy link

teqtic commented Apr 26, 2025

Try to enable /System/Library/LaunchAgents/com.apple.sharingd.plist

Some have KeepAlive 0/false, that means they are started when needed, not at boot. “KeepAlive - This key specifies whether your daemon launches on-demand or must always be running.” https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html

com.apple.icloud.fmfd seems to have been replaced by Apple with /System/Library/LaunchAgents/com.apple.icloud.findmydeviced.findmydevice-user-agent.plist

I already had com.apple.sharingd enabled from when I noticed it was needed for Airdrop to work. Any other ideas?

@b0gdanw
Copy link
Author

b0gdanw commented Apr 26, 2025

com.apple.SSInvitationAgent
SSInvitationAgent - Screen Sharing Invitation Agent
SSInvitationAgent notifies the current user that a request to view the screen has been received.

@teqtic
Copy link

teqtic commented Apr 26, 2025

Unfortunately it's still not working after deleting the files, rebooting, making sure the following lines are commented out, applying the script, and rebooting again:

USER
#'com.apple.screensharing.agent'
#'com.apple.screensharing.menuextra'
#'com.apple.screensharing.MessagesAgent'
#'com.apple.SSInvitationAgent'
#'com.apple.sharingd' \

SYSTEM
#'com.apple.screensharing' \

@b0gdanw
Copy link
Author

b0gdanw commented Apr 26, 2025

As you need many Apple services, you could try a different approach. Instead of disabling all and trying to reenable what you need, you could manually disable what you are sure you don’t need. In time, you will gather a list that works best for your needs.

@dtpoirot-git
Copy link

dtpoirot-git commented Apr 26, 2025

If this was 35 years ago, I would suggest a Tcl/Tk script to build a quick and dirty GUI.

Is Tcl/Tk still a thing?

My main target is a MacBook Retina 9,1 with 8GB of RAM. Memory usage is important...

@teqtic
Copy link

teqtic commented May 14, 2025

I found what was breaking screen mirroring:

The launch agent 'com.apple.rapportd' is required. Interestingly, this same launch daemon under system is NOT required and the "screensharing" agents are also not required!

MacOS 15.5. I also replaced 'com.apple.icloud.fmfd' with 'com.apple.icloud.findmydeviced.findmydevice-user-agent'

@490398290
Copy link

490398290 commented May 19, 2025

@teqtic Mind, sharing adapted script? Id also like to still have iCloud keychain active with password generation and save active.
basically i need remote desktop/file sharing/screen sharing and password saving features enabled, the rest could be off.
thx.

@teqtic
Copy link

teqtic commented May 19, 2025

@teqtic Mind, sharing adapted script? Id also like to still have iCloud keychain active with password generation and save active. basically i need remote desktop/file sharing/screen sharing and password saving features enabled, the rest could be off. thx.

I don't think iCloud keychain would work with what I've commented out since I don't use any iCloud services.

@490398290
Copy link

Oh, that’s ok then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment