MainspringGuides › softwareupdate Command
macOS Guide

Update macOS From Terminal With softwareupdate

Updated July 2026 · 3 min read

Everything the Software Update pane does, the softwareupdate command does from Terminal — plus a few things the pane can't, like downloading a full installer for a specific macOS version. Here are the flags that matter on macOS 13 Ventura, 14 Sonoma, and 15 Sequoia.

List what's available

# check Apple's servers for updates (takes a minute)
softwareupdate -l

Each result shows a Label line — for example Label: macOS Sonoma 14.7.1-23H222 — plus its size and whether it needs a restart. That label string is what you feed to the install flag if you want just one update. No new software available. means you're current.

Not sure what you're running now? sw_vers prints the installed macOS version and build in an instant — handy for comparing against what -l is offering.

Install from Terminal

# install every available update
sudo softwareupdate -i -a

# install one specific update by its label
sudo softwareupdate -i "macOS Sonoma 14.7.1-23H222"

# download now, install later from System Settings
sudo softwareupdate -d -a

Add -R to have the Mac restart automatically when the update requires it — useful for unattended machines, disruptive if you're mid-work. Without it, updates that need a restart wait for you. Quote the label exactly as -l printed it, version number and all — a partial name won't match. And keep the Terminal window open while the installer runs; it prints download and install progress as percentages, and interrupting it mid-install is the one way to make this genuinely messy.

The download-only flag earns its keep on a work machine: fetch the update over lunch with -d -a, then trigger the actual install — and its restart — from System Settings whenever it suits you.

Because it's an ordinary shell command, softwareupdate also shines over SSH: you can patch a headless Mac mini in a closet without ever plugging in a display, and pair the install with -R so the machine restarts itself and comes back up patched.

Two caveats worth knowing before you press return. First, there is no undo: macOS doesn't support downgrading in place, so the only way back from an update you regret is a full restore — make sure Time Machine is current. Second, on Apple Silicon Macs, installing OS updates from Terminal requires owner authentication; softwareupdate will prompt for the password of a user with ownership rights (the --user flag lets you name one).

Download a full installer

This is softwareupdate's best trick. System Settings only offers what your Mac considers an upgrade; Terminal can fetch the complete "Install macOS" app for any version Apple still serves:

# see which full installers Apple offers
softwareupdate --list-full-installers

# download one — lands in /Applications
softwareupdate --fetch-full-installer --full-installer-version 14.7.1

The --list-full-installers output shows each version's size up front, so check it before committing to a download that can top 12 GB. The installer app appears in /Applications (e.g. Install macOS Sonoma), ready for making a bootable USB installer, reinstalling, or upgrading a different Mac. If you fetched one you don't need, the undo is ordinary: drag the installer app to the Trash — they're 12 GB or more, so don't let spares pile up.

When Terminal isn't the answer

While you're under the hood

While you're tuning your Mac, Mainspring turns 90+ hidden macOS settings into labelled, reversible toggles — the power of Terminal tweaks without memorizing a single flag.

Try Mainspring free →

Signed & notarized by Apple · 1-day free trial · $29 once

If an update won't finish

A download that sits at "less than a minute remaining" for an hour isn't a Terminal-vs-Settings problem — it's a stuck update. Free disk space and a safe-mode retry usually clear it; see fixing a stuck macOS update for the full checklist.