Last active
January 25, 2026 19:11
-
-
Save hideandseekstheorder/25d63a8455542b6e7a860636573ac4a5 to your computer and use it in GitHub Desktop.
Curated subset of Disable-Sequoia-Bloatware by b0gdanw. Based on the original script: https://gist.github.com/b0gdanw/b349f5f72097955cf18d6e7d8035c665 This version only disables Profile A (ads/analytics) and Profile B (Siri/AI/suggestions). Created with the help of ChatGPT.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/zsh | |
| # | |
| # Based on: | |
| # Disable-Sequoia-Bloatware.sh by b0gdanw | |
| # https://gist.github.com/b0gdanw/b349f5f72097955cf18d6e7d8035c665 | |
| # | |
| # This is a curated subset (Profile A + B only), | |
| # created with the help of ChatGPT. | |
| # Core system services are intentionally excluded. | |
| # | |
| set -euo pipefail | |
| # Disable Sequoia "bloat" - Profile A + B ONLY | |
| # A: ads / analytics / experiment / tracking-like agents | |
| # B: Siri / speech / AI / suggestions / knowledge / NLP | |
| # | |
| # This version intentionally DOES NOT disable: | |
| # - iCloud / Find My / SearchParty | |
| # - Location services (locationd/CoreLocation) | |
| # - Time Machine (backupd) | |
| # - Sharing / AirDrop / Handoff (sharingd/rapportd) | |
| # - Maps/Geo core (geod) | |
| # - Photos analysis / library | |
| # - Screen sharing | |
| # | |
| # IMPORTANT: Some of these services may not exist on your macOS build. | |
| # If a label doesn't exist, launchctl may error; we try to continue. | |
| USER_UID="$(id -u)" | |
| echo "User UID detected: ${USER_UID}" | |
| echo "This script targets gui/${USER_UID} for user agents and system/ for system daemons." | |
| echo | |
| # Helper: run a command but don't stop the whole script if it fails | |
| run_no_fail() { | |
| local desc="$1" | |
| shift | |
| echo "-> ${desc}" | |
| if ! "$@"; then | |
| echo " (warn) command failed, continuing..." | |
| fi | |
| } | |
| # ------------------------- | |
| # USER agents: Profile A + B | |
| # ------------------------- | |
| USER_AGENTS=( | |
| # --- Profile A: ads/telemetry/experiments (user domain) | |
| com.apple.ap.adprivacyd | |
| com.apple.ap.promotedcontentd | |
| com.apple.geoanalyticsd | |
| com.apple.UsageTrackingAgent | |
| com.apple.inputanalyticsd | |
| com.apple.triald | |
| com.apple.BiomeAgent | |
| com.apple.biomesyncd | |
| # --- Profile B: Siri / speech / AI / suggestions / knowledge / NLP (user domain) | |
| com.apple.assistant_service | |
| com.apple.assistantd | |
| com.apple.assistant_cdmd | |
| com.apple.corespeechd | |
| com.apple.Siri.agent | |
| com.apple.siriactionsd | |
| com.apple.siriinferenced | |
| com.apple.sirittsd | |
| com.apple.SiriTTSTrainingAgent | |
| com.apple.siriknowledged | |
| com.apple.suggestd | |
| com.apple.parsecd | |
| com.apple.parsec-fbf | |
| com.apple.knowledge-agent | |
| com.apple.knowledgeconstructiond | |
| com.apple.naturallanguaged | |
| com.apple.intelligenceflowd | |
| com.apple.intelligencecontextd | |
| com.apple.intelligenceplatformd | |
| com.apple.generativeexperiencesd | |
| ) | |
| echo "=== Disabling USER agents (gui/${USER_UID}) ===" | |
| for agent in "${USER_AGENTS[@]}"; do | |
| run_no_fail "bootout gui/${USER_UID}/${agent}" launchctl bootout "gui/${USER_UID}/${agent}" | |
| run_no_fail "disable gui/${USER_UID}/${agent}" launchctl disable "gui/${USER_UID}/${agent}" | |
| done | |
| echo | |
| # ------------------------- | |
| # SYSTEM daemons: Profile A only (system analytics/experiments) | |
| # ------------------------- | |
| SYSTEM_DAEMONS=( | |
| com.apple.analyticsd | |
| com.apple.audioanalyticsd | |
| com.apple.ecosystemanalyticsd | |
| com.apple.wifianalyticsd | |
| com.apple.triald.system | |
| com.apple.biomed | |
| ) | |
| echo "=== Disabling SYSTEM daemons (system) ===" | |
| for daemon in "${SYSTEM_DAEMONS[@]}"; do | |
| run_no_fail "bootout system/${daemon}" sudo launchctl bootout "system/${daemon}" | |
| run_no_fail "disable system/${daemon}" sudo launchctl disable "system/${daemon}" | |
| done | |
| echo | |
| echo "Done." | |
| echo "Reboot is recommended for all changes to fully take effect." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment