New Key Added to SoftwareUpdate Command in macOS


When Big Sur released, I noticed an issue trying to discover what macOS versions were available in SoftwareUpdate. I worked around this by using the script to download full installers from the store. This script/tool is solid, but I was really hoping to be able to just do the updates using softwareupdate. Awhile back I filed feedback with Apple to the following:

The --fetch-full-installer parameter for the softwareupdate command line tool is awesome, but there's currently no way to discover the list of available values for the --full-installer-version parameter. Can you please add a --list-installer-versions parameter (or something to that effect) that would show the list of available full installer versions that softwareupdate can download? My understanding is the installer versions relate to the product marketing version (like 11.0, or 10.15.7), but as those versions are added/removed it would be nice easily discover that from the command line.

I admittedly forgot about the feedback after filing it (hoping that someday someone might see it and care).

New Functionality Arrives

To my surprise, I saw a note replying in December saying they fixed this in a new release. The response was vague and pointed to the "About this mac" functionality, which seemed odd. Nevertheless, I went into the command line and started poking around. I ran the softwareupdate command with the help parameter and found a new option:

 1softwareupdate --help
 2usage: softwareupdate <cmd> [<args> ...]
 4** Manage Updates:
 5	-l | --list		List all appropriate update labels (options:  --no-scan, --product-types)
 6	-d | --download		Download Only
 7	-i | --install		Install
 8		<label> ...	specific updates
 9		-a | --all		All appropriate updates
10		-R | --restart		Automatically restart (or shut down) if required to complete installation.
11		-r | --recommended	Only recommended updates
12	--list-full-installers		List the available macOS Installers
13	--fetch-full-installer		Install the latest recommended macOS Installer
14		--full-installer-version	The version of macOS to install. Ex: --full-installer-version 10.15
15	--install-rosetta	Install Rosetta 2
16	--background		Trigger a background scan and update operation
18** Other Tools:
19	--dump-state		Log the internal state of the SU daemon to /var/log/install.log
20	--evaluate-products	Evaluate a list of product keys specified by the --products option 
21	--history		Show the install history.  By default, only displays updates installed by softwareupdate.  
22	--all 			Include all processes in history (including App installs) 
24** Options:
25	--no-scan		Do not scan when listing or installing updates (use available updates previously scanned)
26	--product-types <type>		Limit a scan to a particular product type only - ignoring all others
27		Ex:  --product-types macOS  || --product-types macOS,Safari 
28	--products		A comma-separated (no spaces) list of product keys to operate on. 
29	--force			Force an operation to complete.  Use with --background to trigger a background scan regardless of "Automatically check" pref 
30	--agree-to-license		Agree to the software license agreement without user interaction.
32	--verbose		Enable verbose output
33	--help			Print this help

Did you catch that?

--list-full-installers List the available macOS Installers

YES! We can now get the list of installers that are available to download!

 1softwareupdate --list-full-installers
 2Finding available software
 3Software Update found the following full installers:
 4* Title: macOS Big Sur, Version: 11.2.3, Size: 12211077798K
 5* Title: macOS Big Sur, Version: 11.2.2, Size: 12200254955K
 6* Title: macOS Big Sur, Version: 11.2.1, Size: 12199403070K
 7* Title: macOS Catalina, Version: 10.15.7, Size: 8248985973K
 8* Title: macOS Catalina, Version: 10.15.7, Size: 8248854894K
 9* Title: macOS Catalina, Version: 10.15.6, Size: 8248781171K
10* Title: macOS Mojave, Version: 10.14.6, Size: 6038419486K
11* Title: macOS High Sierra, Version: 10.13.6, Size: 5221689433K

Happy Downloading and a huge Thank You to the folks at Apple!