How to Use the ‘softwareupdate’ Command to Manage macOS Upgrades via Terminal

Bypassing the App Store

For standard users, updating a Mac involves clicking the Apple menu, opening System Settings, navigating to Software Update, and clicking a graphical “Update Now” button.

For an IT administrator managing a fleet of 50 Mac Minis in a remote data center, or an MDM (Mobile Device Management) administrator writing silent deployment scripts, clicking graphical buttons is impossible.

macOS includes a powerful, native command-line utility called softwareupdate. It allows administrators to check for available updates, download massive OS installers in the background, and silently install security patches without ever opening the System Settings app.

1. Checking for Updates

To see a complete list of all updates currently available for the Mac, open the Terminal and type:

softwareupdate -l

(The -l stands for “list”).

The command will reach out to Apple’s servers and output a detailed list. You will see the exact internal name of the update (e.g., Label: macOS Sonoma 14.4-23E214) and whether a reboot will be required after installation.

2. Downloading Updates Without Installing

If a massive 12-Gigabyte macOS upgrade is released, you don’t want to install it in the middle of the workday because the Mac will be unusable for 45 minutes.

However, you can force the Mac to quietly download the massive file in the background so it is instantly ready to install when the employee goes home. Use the -d (download) flag.

softwareupdate -d -a

(The -a stands for “all” available updates).

The terminal will show a live percentage as the gigabytes download, but the system will not reboot or modify any existing files.

3. Installing Security Updates

When you are ready to actually install the software, use the -i (install) flag. Because you are modifying core operating system files, this requires sudo.

If you want to install every single available update on the machine and you are willing to let the Mac reboot if necessary:

sudo softwareupdate -i -a -R

(The -R flag tells the command to automatically restart the Mac if the update requires it, without waiting for a user to click “OK” on a graphical prompt).

4. Installing Specific Updates

Sometimes you want to install a specific security patch, but you do not want to upgrade to the next major version of macOS (e.g., moving from Ventura to Sonoma), because it might break corporate software.

Instead of using the -a flag, you can copy the exact “Label” name from the softwareupdate -l command and pass it directly.

sudo softwareupdate -i "Safari17.4-17.4"

This surgically installs only the Safari update, leaving the underlying operating system untouched.

5. Fetching Full Installers for USB Drives

If you are an IT technician building bootable USB drives to reformat multiple Macs, you need the massive, full “Install macOS” application (not just an over-the-air delta update).

softwareupdate includes a brilliant hidden feature to pull full OS installers directly from Apple’s servers into your Applications folder.

softwareupdate --fetch-full-installer --full-installer-version 14.4

This command downloads the complete 13GB Install macOS Sonoma.app file perfectly, ensuring you have the exact version required for your deployment USB.

Conclusion

The softwareupdate command is the foundation of Apple device management. By allowing administrators to decouple the massive download process from the actual installation, and by providing surgical control over specific security patches, it ensures that enterprise Mac fleets remain secure without interrupting user workflows.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.