UTILITY · SHELL · MIT

Disable automatic updates. Keep a way back.

A reversible, idempotent shell-based approach for disabling automatic macOS system update checks, downloads and installations while keeping manual update capability available.

ShellMITReversibleManual updates stay available
$ ./disable-macos-updates.sh

→ softwareupdate --schedule off
→ backup SoftwareUpdate preferences
→ set five automatic-update keys to 0
→ optionally hide the Dock badge
→ verify resulting state

✓ rollback on verification failure

$ ./restore-macos-updates.sh
✓ restore from backup / normal schedule

01 / DESIGN

Control the policy without breaking manual maintenance.

The scripts do not disable the softwareupdated daemon or redirect Apple's update server, so System Settings and the softwareupdate command remain available for manual maintenance.

01

Reversible

Relevant preference files are backed up before modification, and a companion restore script returns automatic update behavior.

02

Idempotent

The project is designed to be safe to run again rather than assuming a pristine state every time.

03

Verification + rollback

The disable script checks the resulting values and automatically rolls back when verification fails.

02 / WHAT CHANGES

Five update preferences plus the schedule.

The Dock badge change is optional and can be preserved with a flag.

Schedulesoftwareupdate --schedule off
AutomaticCheckEnabledDisabled
AutomaticDownloadDisabled
AutomaticallyInstallMacOSUpdatesDisabled
ConfigDataInstallDisabled
CriticalUpdateInstallDisabled

03 / USE

One script to disable, one to restore.

The scripts request administrator privileges through sudo. They contain no password and do not require network access.

chmod +x disable-macos-updates.sh restore-macos-updates.sh
./disable-macos-updates.sh

# keep the System Settings Dock badge
./disable-macos-updates.sh --keep-dock-badge

# restore automatic updates
./restore-macos-updates.sh

Security trade-off

Disabling automatic updates also disables automatic configuration-data and critical-security-update installation. That increases long-term exposure to known vulnerabilities. The repository recommends checking and installing updates manually on a regular schedule.

The README describes the approach as designed for macOS Catalina and newer, with explicit support noted for macOS 13 Ventura and macOS 14 Sonoma. Apple may change update policy in future releases, so script output should be reviewed before relying on it.