Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
At last! So happy to see this thread. So happy to have a disussion on this topic without 'why, do you want to do that?' BS...

Have you guys got a stable OS after the pruning? ie., is all the 'leave-it-alone' BS just scareware because they lack the skills then?
I ask because I have a macbook for asahi linux but I upgraded to an m4 pro and didn't realize asahi isn't available for M4 yet, do'h! Being from the arch world, these things are super bloated to me. Happy to tear through the OS and prune however, the macbook -unlike my linux machines- is for dev work whilst traveling so needs to be stable 😀
 
I already have done a lot of research myself on the topic - both space on the drive and service disabling stuff in a script i made myself, and i find it strange that there is not a place to discuss this topic anywhere. .... I am willing to write all my findings, just wanted to know if i missed some thread before starting it.
Yes, please.
 
20260315_122502.jpg

Pictured is a typical "cheap" intel-era Macbook Air with 4/121 base-model specs running Mojave in which I've perma-disabled MRT, MDS_stores, Spotlight Indexing, Reportcrash, Notifications, and System Update, and all Adobe & MS gunk is trashed out of the Library/Launch folders. Not logged into iCloud, and nothing has been running since startup except Activity Monitor and System Preferences. Only three small non-Apple widgets are auto-launched: Himmelbar, MacsFanControl, and MainMenu. I clicked Activity Monitor (its icon is on my Dock) as soon as the desktop was visible, and ram usage read 1.45gb, then slowly increased to a stable 1.95, which is still a lot more than I'd like.

What can be be carved off or disabled to get Mojave down to El Capitan levels of trim? (This is a laptop, so disabling wifi or dark-mode are off the table. And, while I have no use for iCloud, I don't want it to be completely inaccessible.)
 
Disable-Golden-Gate-Bloatware.sh
https://gist.github.com/b0gdanw/47fe6a8c1dfec0a9b11edded58565dd5
Only tested in a virtual machine.
Thanks but not there yet... still on Sequoia. 😊
I wonder if any of the previous tips you gave in this thread could work on Sequoia too?

P.s.
I have plenty of files that end in “.tracev3”, in folders like Signpost, Special and Persist
under Diagnostic in Private. Could they be eliminated without remorse?
tracev3 files.jpg
 
Last edited:
I have plenty of files that end in “.tracev3”, in folders like Signpost, Special and Persist
under Diagnostic in Private. Could they be eliminated without remorse?
Don't bother. It would not hurt very much to delete them, but more will get recreated. They are storage for the Unified Log and are managed by macOS with old entries being removed keeping the overall size pretty even. Leave them alone.
As an introduction to the Unified Log, here is the first of 3 posts by Howard Oakley https://eclecticlight.co/2025/09/23/inside-the-unified-log-1-goals-and-architecture/
 
  • Like
Reactions: katbel
Thanks but not there yet... still on Sequoia. 😊
I wonder if any of the previous tips you gave in this thread could work on Sequoia too?

Disable-Sequoia-Bloatware https://gist.github.com/b0gdanw/b349f5f72097955cf18d6e7d8035c665
P.s.
I have plenty of files that end in “.tracev3”, in folders like Signpost, Special and Persist
under Diagnostic in Private. Could they be eliminated without remorse?
It's best to leave the decision to Onyx, its maintenance option does a good job at cleaning diagnostics reports.
OnyX 4.8.5 for macOS Sequoia 15 https://titanium-software.fr/en/onyx.html
 
  • Like
Reactions: katbel
Just as another datapoint: I found the following on Github, and have used it successfully. It is is nicely interactive, and as a result perhaps a bit kinder and gentler than @bogdanw's script. It might be worth investigating, for those interested in debloating with a slightly lighter touch.

Use appropriate caution, of course, but I can say that it worked very well on Sequoia for me. Your mileage may vary!


debloat.png
 
  • Like
Reactions: katbel
I haven't tried it that way- I used it with SIP disabled. I can't imagine that it would work with it enabled. I never have SIP enabled on any of my machines, in any case...

Realistically, it is just a minimalist GUI on top of your list of targeted services. There were a few I wanted to keep, and this made it trivial to deal with those as groups, and pick and choose among them. It simply provides an alternate therapy for MacBloat... (;-)
 
I can’t get it to work. After entering the password, it show the interface, but Terminal doesn’t respond to any key (arrow, q, Return). It seems to be running mdutil -s
I’ll try again tomorrow.
 
I can only speak of Sequoia on Intel with a 2018 8.1 i7 Mini, as that is all I have tried it on. The build process complains about a downrev Xcode installation, since it was written for Tahoe and Xcode 26. But despite that complaint, it builds and runs just fine under Sequoia.

However, having said that, and being basically a lazy person, I did build it under Homebrew. Sorry about that, @bogdanw... (;-)

I have no idea if it would work with anything older than Sequoia, and I would counsel caution in trying it. But the list of services hasn't changed much in a while, so I think the chances are reasonably good that it would work as advertised.
 
I did build it under Homebrew.
That kind of defeats the big, bold opening line "Zero dependencies. Zero install." 🙂
I've tested in macOS 27, it works if installed with homebrew, I opened an issue for the curl method.
I need to take a closer look at what is being disabled. I remember that disabling AirPlayXPCHelper breaks video play in Safari and WebKit dependent apps.
 
That kind of defeats the big, bold opening line "Zero dependencies. Zero install." 🙂
I've tested in macOS 27, it works if installed with homebrew, I opened an issue for the curl method.
I need to take a closer look at what is being disabled. I remember that disabling AirPlayXPCHelper breaks video play in Safari and WebKit dependent apps.
Understand, and I'm sure that the author of that tool would respect and appreciate any and all well-reasoned feedback. You are certainly in an excellent position to provide it, and I for one appreciate your many contributions in this area. Speaking strictly for myself, I have no problem with using Homebrew (and yes, I do understand the objections you raise in your .sig). If one is comfortable with using Homebrew, then installing this really is the closest thing to a zero/zero build that there is likely to be. I suspect that that was the author's intention.

The thing I like about this particular script that it disables nothing whatsoever by default: the user can opt in to disabling anything, in groups or individually, or even disable nothing at all. That differs from many other scripts out there that disable everything by default, requiring the user to edit the script to opt out of disabling items that they wish to keep- not all of which are well documented. Most average users do not have a deep understanding of the interdependencies of these services (or, for that matter, a level of comfort in editing scripts).

That interactive opt-in mechanism allows an incremental, multipass approach to debloating, with the ability to test each incremental pass- as opposed to simply pulling the trigger on a larger, unmodified script, and then having to recover from any unexpected breakage, especially from some unexpected issue (such as the one you point out). While I'm certifiably lazy, I'm also a bit conservative in that sense: I wanted to disable only the real cycle-wasters, using the lightest touch possible.

Different strokes for different folks, and everyone's mileage will certainly vary.
 
Last edited:
I will be very happy if the developer is serious about this project, keeps it tested and updated. At the moment, I fear it was mainly made with Claude and not much testing. LLMs are good at creating code, but they definitely need repeated guidance.

I only began making the list public after the original developer (pwnsdx) deleted his Github account and, with the lists, gone was the trove of information gathered by reports from people using it.

The script I use on my Sequoia M4 mini includes more values than the public one. And I have constantly other values in testing. Now: com.apple.proactiveeventtrackerd, com.apple.AccessibilityVisualsAgent, com.apple.accessibility.heard, com.apple.businessservicesd, com.apple.intelligentroutingd, on top of:

#!/bin/zsh

# user
TODISABLE=()

TODISABLE+=('com.apple.accessibility.MotionTrackingAgent' \
'com.apple.accessibility.axassetsd' \
'com.apple.ap.adprivacyd' \
'com.apple.AMPArtworkAgent' \
'com.apple.AMPDeviceDiscoveryAgent' \
'com.apple.AMPDevicesAgent' \
'com.apple.AMPLibraryAgent' \
'com.apple.ap.promotedcontentd' \
'com.apple.assistant_service' \
'com.apple.assistantd' \
'com.apple.assistant_cdmd' \
'com.apple.AirPlayUIAgent' \
'com.apple.avconferenced' \
'com.apple.BiomeAgent' \
'com.apple.biomesyncd' \
'com.apple.calaccessd' \
'com.apple.CallHistoryPluginHelper' \
'com.apple.CallHistorySyncHelper' \
'com.apple.chronod' \
'com.apple.cloudd' \
'com.apple.cloudpaird' \
'com.apple.cloudphotod' \
'com.apple.CloudSettingsSyncAgent' \
'com.apple.CommCenter-osx' \
'com.apple.ContextStoreAgent' \
'com.apple.contacts.donation-agent' \
'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.icloud.findmydeviced.findmydevice-user-agent' \
'com.apple.followupd' \
'com.apple.gamed' \
'com.apple.generativeexperiencesd' \
'com.apple.geod' \
'com.apple.geoanalyticsd' \
'com.apple.geodMachServiceBridge' \
'com.apple.helpd' \
'com.apple.homed' \
'com.apple.icloud.findmydeviced' \
'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.lockdownmoded' \
'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.mediaremoteagent' \
'com.apple.naturallanguaged' \
'com.apple.navd' \
'com.apple.newsd' \
'com.apple.parsec-fbf' \
'com.apple.parsecd' \
'com.apple.passd' \
'com.apple.peopled' \
'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.spotlightknowledged' \
'com.apple.spotlightknowledged.importer' \
'com.apple.spotlightknowledged.updater' \
'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.mediaremoted' \
'com.apple.modelcatalogd' \
'com.apple.modelmanagerd' \
'com.apple.netbiosd' \
'com.apple.rapportd' \
'com.apple.remoted' \
'com.apple.remotemanagementd' \
'com.apple.remotepairtool' \
'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
 
That is excellent news, and I look forward to hearing how it goes! I'm glad that you are interacting with the developer, as well. All of those of us who like to think outside Apple's box need to stick together. It is a journey, for sure...

Once I finally call it a career and fully retire, I might actually be able to contribute some more, myself. This working-for-a-living thing really does interfere with more interesting pursuits.
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.