Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save hideandseekstheorder/25d63a8455542b6e7a860636573ac4a5 to your computer and use it in GitHub Desktop.

Select an option

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.
#!/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