Prevent your Mac from "upgrading" to Tahoe. A community-led effort to safely block unwanted macOS upgrades.
Shell
579
12 commits
updated Mar 1, 2026
A community-led effort to block unwanted macOS upgrades (e.g. Sequoia β Tahoe).
Safe β’ Transparent β’ Reversible
Everything here is inspectable and easy to undo.
Apple allows deferring major macOS upgrades using configuration profiles with official com.apple.applicationaccess keys. This repo provides a 90-day deferral profile along with scripts to install, check status, and uninstall it.
It uses Apple's official deferral keys:
<key>forceDelayedMajorSoftwareUpdates</key><true/>
<key>enforcedSoftwareUpdateMajorOSDeferredInstallDelay</key><integer>90</integer>
These settings hide major upgrades from Software Update for up to 90 days according to Apple's documentation. In practice, the deferral appears to continue working beyond that window β but your mileage may vary.
git clone https://github.com/travisvn/stop-tahoe-update.git
cd stop-tahoe-update
Ensure the scripts are executable:
chmod +x ./scripts/*.sh
The script will generate unique identifiers to prevent conflicts and attempt to install the profile.
./scripts/install-profile.sh profiles/deferral-90days.mobileconfig
[!NOTE] On recent macOS versions, silent installation may be blocked. If the script opens System Settings, locate the "Profiles" (or "Downloaded Profile") notification and click Install manually to complete the process.
./scripts/status.sh
./scripts/uninstall-profile.sh
The 90-day deferral profile works well today, but there are open questions the community can help answer:
If you have findings, ideas, or just want to share your experience, open a Discussion or submit a PR.
We welcome contributions of all kinds:
π See CONTRIBUTING.md and docs/GOALS.md.
While this repo focuses on Sequoia β Tahoe, the long-term goal is a general-purpose toolkit for macOS users who want to choose when β or if β they upgrade.
MIT License β simple, permissive, and open.
Shell
100.0%
Prevent your Mac from "upgrading" to Tahoe. A community-led effort to safely block unwanted macOS upgrades.
Shell
579
12 commits
updated Mar 1, 2026
A community-led effort to block unwanted macOS upgrades (e.g. Sequoia β Tahoe).
Safe β’ Transparent β’ Reversible
Everything here is inspectable and easy to undo.
Apple allows deferring major macOS upgrades using configuration profiles with official com.apple.applicationaccess keys. This repo provides a 90-day deferral profile along with scripts to install, check status, and uninstall it.
It uses Apple's official deferral keys:
<key>forceDelayedMajorSoftwareUpdates</key><true/>
<key>enforcedSoftwareUpdateMajorOSDeferredInstallDelay</key><integer>90</integer>
These settings hide major upgrades from Software Update for up to 90 days according to Apple's documentation. In practice, the deferral appears to continue working beyond that window β but your mileage may vary.
git clone https://github.com/travisvn/stop-tahoe-update.git
cd stop-tahoe-update
Ensure the scripts are executable:
chmod +x ./scripts/*.sh
The script will generate unique identifiers to prevent conflicts and attempt to install the profile.
./scripts/install-profile.sh profiles/deferral-90days.mobileconfig
[!NOTE] On recent macOS versions, silent installation may be blocked. If the script opens System Settings, locate the "Profiles" (or "Downloaded Profile") notification and click Install manually to complete the process.
./scripts/status.sh
./scripts/uninstall-profile.sh
The 90-day deferral profile works well today, but there are open questions the community can help answer:
If you have findings, ideas, or just want to share your experience, open a Discussion or submit a PR.
We welcome contributions of all kinds:
π See CONTRIBUTING.md and docs/GOALS.md.
While this repo focuses on Sequoia β Tahoe, the long-term goal is a general-purpose toolkit for macOS users who want to choose when β or if β they upgrade.
MIT License β simple, permissive, and open.
Shell
100.0%