GitHub - travisvn/stop-tahoe-update: Prevent your Mac from "upgrading" to Tahoe. A community-led effort to safely block unwanted macOS upgrades.

3 min read Original article ↗

A community-led effort to block unwanted macOS upgrades (e.g. Sequoia → Tahoe).

License: MIT Contributions Welcome GitHub Discussions Build & Validate

Safe • Transparent • Reversible

Everything here is inspectable and easy to undo.


⚙️ What This Does

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.

🔍 What the deferral profile actually does

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.


🧰 Quick Start

1. Clone or download the repo

git clone https://github.com/travisvn/stop-tahoe-update.git
cd stop-tahoe-update

Ensure the scripts are executable:

2. Apply the 90-day deferral profile

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.

3. Verify status

4. Remove later if needed

./scripts/uninstall-profile.sh

📖 Guides


🧩 What's Next? (Help Wanted)

The 90-day deferral profile works well today, but there are open questions the community can help answer:

  • How long does the deferral actually last? Apple says 90 days, but anecdotal experience suggests it may persist longer. More data points would be valuable.
  • Can we suppress the Settings badge and upgrade prompts? The red notification badge and "Install Now" prompts are a separate annoyance.
  • Are there other safe, reversible approaches? If you've found something that works, we'd love to hear about it.
  • What changes with new macOS versions? Apple may change deferral behavior in future releases.

If you have findings, ideas, or just want to share your experience, open a Discussion or submit a PR.


🧑‍💻 Contributing

We welcome contributions of all kinds:

  • Testing — verify the profile works on your macOS version and report results
  • Research — document macOS update behavior, deferral edge cases, or new Apple keys
  • Scripts & tooling — improve the install/uninstall experience
  • Ideas — propose approaches for suppressing prompts or extending deferrals

📄 See CONTRIBUTING.md and docs/GOALS.md.


⚖️ Safety Philosophy

  • No surprises — every approach is documented and well-understood before it ships
  • Community-reviewed — all code goes through PR review

🗺️ Beyond Tahoe

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.


💬 Community & Support

  • GitHub Discussions — share findings, test results, and ideas
  • Issues — report bugs or problems with the scripts/profiles

🧾 License

MIT License — simple, permissive, and open.