This repository contains a single macOS configuration profile, Defer_macOS_90days.mobileconfig.
What it does
- Defers major macOS upgrades for 90 days after Apple makes them available via Software Update.
- Suppresses the Software Update setup screen / setup assistant item so the Settings/System Settings icon doesn't show the persistent red badge prompting users to "Update Your Mac Automatically" or similar.
Why this exists
- To delay machines from being upgraded to the next major macOS release (for example: delaying upgrades from macOS 14/15 to a later major release) for 90 days while preserving security/minor updates.
- To remove the recurring Software Update setup prompt that can show as a red badge on the System Settings icon.
Files in this repo
Defer_macOS_90days.mobileconfig— the configuration profile to install on a Mac (system-scoped profile).
Profile contents (key details)
-
PayloadDisplayName: "Defer Major macOS Updates (90 days)"
-
PayloadType:
com.apple.applicationaccess -
enforcedSoftwareUpdateMajorOSDeferredInstallDelay:
90(days) -
forceDelayedMajorSoftwareUpdates:
true -
PayloadDisplayName: "Skip Software Update Setup Screen"
-
PayloadType:
com.apple.SetupAssistant.managed -
SkipSetupItems:
["SoftwareUpdate"]
Important notes and limitations
- This profile defers major OS upgrades only. It does not prevent macOS from installing minor updates, security updates, or allow manual upgrades started by a user or an administrator.
- Profiles installed locally can be removed by an administrator. If your machine is managed by an MDM server, MDM policies can override or replace this profile.
- Apple may change how these keys behave in future macOS releases. Test on a small number of machines before broad deployment.
- This does not modify firmware or block installers — it only delays the automatic major-upgrade path exposed through Software Update.
Installation (GUI)
- Copy
Defer_macOS_90days.mobileconfigto the Mac. - Double-click the file and follow the prompt to install the profile. If prompted, install as a System profile (you may need admin credentials).
Installation (Terminal) Use the built-in profiles tool (may require admin privileges). Example commands:
# Install as a system profile (path must be adjusted to where you placed the file):
sudo /usr/bin/profiles install -path /path/to/Defer_macOS_90days.mobileconfig
# (Alternative syntax on older/newer macOS builds)
sudo profiles install -path /path/to/Defer_macOS_90days.mobileconfigUninstall (GUI)
- Open System Settings (System Preferences) → Privacy & Security → Profiles (or search for Profiles). Select the profile named "Defer macOS Major Upgrades (90 days) + Skip Setup Prompt" and remove it. Admin credentials are required.
Uninstall (Terminal) You can remove the profile by identifier or UUID. The profile in this repo uses the following identifier/UUID values inside the .mobileconfig, which you can use when removing:
- Profile Identifier:
com.arie_legs.defermac.1266BC34-9B7B-46FC-A2F2-F4463A6B011E - Payload UUID(s):
1266BC34-9B7B-46FC-A2F2-F4463A6B011E(top-level), plus component UUIDs inside the profile.
Example remove commands:
# Remove by identifier (replace identifier if you changed it):
sudo /usr/bin/profiles remove -identifier com.arie_legs.defermac.1266BC34-9B7B-46FC-A2F2-F4463A6B011E
# Or remove by profile UUID (if supported on your macOS build):
sudo /usr/bin/profiles remove -uuid 1266BC34-9B7B-46FC-A2F2-F4463A6B011EVerify the profile is installed
- In System Settings / System Preferences → Profiles, you should see the profile listed.
- Using Terminal:
# Show all installed profiles (may require sudo depending on macOS release):
sudo /usr/bin/profiles -P
# Or on some macOS versions:
sudo profiles show -type systemHow to confirm it's working
- The profile sets a 90-day delay for major OS upgrades and suppresses the Software Update setup step. After a new major macOS is released, the upgrade offered via Settings/System Settings should be deferred for 90 days for machines with the profile active.
- The persistent Software Update setup prompt / red badge should no longer appear while the SetupAssistant managed item is in place.
Security & audit
- Inspect any
.mobileconfigbefore installing. This repository contains the full plist and you can open the file in a text editor to review the keys. - Deploy only from trusted sources and verify the payload identifiers if you use automation or MDM.
Support / Next steps
- If you want this profile adapted (different defer length, MDM-friendly naming/identifiers, or conversion into an MDM payload), open an issue or request the change.
License
- This repository is provided as-is. No warranty. Use at your own risk.
Contact
- Maintainer: arie_legs