softwareupdate — Manage macOS Updates from the CLI

Practical guide to softwareupdate — find, download and install macOS and Apple software updates from the command line, including full installers.

softwareupdate finds, downloads and installs macOS and Apple software updates straight from the command line – no detour through System Settings required. You can list available updates, apply security patches and firmware, or grab the complete macOS installer with --fetch-full-installer. Most write actions need sudo, and installing can trigger an automatic restart depending on the options – so save your work first. This guide walks you through the commands you reach for most, from listing updates to scheduling automatic checks.

List & Check

softwareupdate -l — List all available updates.

softwareupdate -l

softwareupdate -l --include-config-data — List updates including configuration data updates.

softwareupdate -l --include-config-data

softwareupdate --list --all — List all available updates including already installed.

softwareupdate --list --all

Install Updates

softwareupdate -i '<name>' — Install a specific update by name.

sudo softwareupdate -i 'macOS Sequoia 15.3.1-15.3.1'

softwareupdate -ia — Install all available updates.

sudo softwareupdate -ia

softwareupdate -ir — Install only recommended updates.

sudo softwareupdate -ir

softwareupdate -ia --agree-to-license — Install all updates and auto-accept license agreements.

sudo softwareupdate -ia --agree-to-license

softwareupdate -ia -R — Install all updates and restart if required.

sudo softwareupdate -ia -R

Download Only

softwareupdate -d '<name>' — Download a specific update without installing.

sudo softwareupdate -d 'macOS Sequoia 15.3.1-15.3.1'

softwareupdate -da — Download all available updates without installing.

sudo softwareupdate -da

macOS Upgrade

softwareupdate --fetch-full-installer — Download the full macOS installer for the latest version.

sudo softwareupdate --fetch-full-installer

softwareupdate --fetch-full-installer --full-installer-version <ver> — Download the full installer for a specific macOS version.

sudo softwareupdate --fetch-full-installer --full-installer-version 15.3.1

Configuration

softwareupdate --schedule on — Enable automatic update checking.

sudo softwareupdate --schedule on

softwareupdate --schedule off — Disable automatic update checking.

sudo softwareupdate --schedule off

softwareupdate --ignore '<name>' — Ignore a specific update (hide it from the list).

sudo softwareupdate --ignore 'macOS Sequoia 15.3.1-15.3.1'

softwareupdate --reset-ignored — Clear the list of ignored updates.

sudo softwareupdate --reset-ignored

defaults read /Library/Preferences/com.apple.SoftwareUpdate — Show Software Update preferences.

defaults read /Library/Preferences/com.apple.SoftwareUpdate

Conclusion

softwareupdate keeps macOS and its bundled Apple software current in a scriptable way, with no clicking through dialogs – ideal for remote management, automation and reproducible setups. For everyday use, softwareupdate -l to check and sudo softwareupdate -ir for the recommended updates usually do the job. Treat --install -a and -R with care: they can restart the machine automatically – so save any open work before running them. Plan larger OS upgrades via --fetch-full-installer deliberately (backup, enough free space, compatible software) rather than applying them on the fly.

Further Reading

  • caffeinate – prevent sleep during long update runs
  • defaults – read and write macOS preferences (e.g. update options)
  • diskutil – manage disks and volumes from the command line