https://github.com/travisvn/stop-tahoe-update
Prevent your Mac from "upgrading" to Tahoe. A community-led effort to safely block unwanted macOS upgrades.
https://github.com/travisvn/stop-tahoe-update
configuration-profile deferral mac macadmin macos macos-sequoia macos-tahoe mdm mobileconfig sequoia sysadmin tahoe update-blocker
Last synced: 22 days ago
JSON representation
Prevent your Mac from "upgrading" to Tahoe. A community-led effort to safely block unwanted macOS upgrades.
- Host: GitHub
- URL: https://github.com/travisvn/stop-tahoe-update
- Owner: travisvn
- License: mit
- Created: 2025-10-11T06:46:29.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-03-01T03:19:16.000Z (about 2 months ago)
- Last Synced: 2026-03-01T06:04:30.578Z (about 2 months ago)
- Topics: configuration-profile, deferral, mac, macadmin, macos, macos-sequoia, macos-tahoe, mdm, mobileconfig, sequoia, sysadmin, tahoe, update-blocker
- Language: Shell
- Homepage:
- Size: 32.2 KB
- Stars: 237
- Watchers: 12
- Forks: 19
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# π Stop Tahoe Update
_A community-led effort to block unwanted macOS upgrades (e.g. Sequoia β Tahoe)._
[](LICENSE)
[](.github/CONTRIBUTING.md)
[](https://github.com/travisvn/stop-tahoe-update/discussions)
[](https://github.com/travisvn/stop-tahoe-update/actions)
> 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:
```xml
forceDelayedMajorSoftwareUpdates
enforcedSoftwareUpdateMajorOSDeferredInstallDelay90
```
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
```bash
git clone https://github.com/travisvn/stop-tahoe-update.git
cd stop-tahoe-update
```
Ensure the scripts are executable:
```bash
chmod +x ./scripts/*.sh
```
### 2. Apply the 90-day deferral profile
The script will generate unique identifiers to prevent conflicts and attempt to install the profile.
```bash
./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
```bash
./scripts/status.sh
```
### 4. Remove later if needed
```bash
./scripts/uninstall-profile.sh
```
---
## π Guides
- [Remove the Red Badge from the System Settings Dock Icon](./docs/REMOVE_DOCK_BADGE.md) β Get rid of the persistent notification badge on the System Settings icon in your Dock
---
## π§© 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](https://github.com/travisvn/stop-tahoe-update/discussions) 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](./.github/CONTRIBUTING.md) and [docs/GOALS.md](./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](https://github.com/travisvn/stop-tahoe-update/discussions) β share findings, test results, and ideas
- [Issues](https://github.com/travisvn/stop-tahoe-update/issues) β report bugs or problems with the scripts/profiles
---
## π§Ύ License
**MIT License** β simple, permissive, and open.