I am trying to install a macOS update from the command line. Let's see what updates are available:

$/usr/sbin/softwareupdate -l
Software Update Tool

Finding available software
Software Update found the following new or updated software:
* Label: macOS Catalina 10.15.7 Update- 
    Title: macOS Catalina 10.15.7 Update, Version:  , Size: 5099042K, Recommended: YES, Action: restart, 

But what is the actual label? According to this resource https://www.macrumors.com/how-to/update-macos-terminal-command/ it is the exact wording:

enter image description here

So the analogous value here would be macOS Catalina 10.15.7 Update- . However that does not work:

 $/usr/sbin/softwareupdate -i "macOS Catalina 10.15.7 Update-"
Software Update Tool

macOS Catalina 10.15.7 Update-: No such update
No updates are available.

I also tried some variants:

(python39) 10:25:21/~ $/usr/sbin/softwareupdate -i "macOS Catalina 10.15.7 Update"
Software Update Tool

macOS Catalina 10.15.7 Update: No such update
No updates are available.

$/usr/sbin/softwareupdate -i "macOS Catalina 10.15.7"
Software Update Tool

macOS Catalina 10.15.7: No such update
No updates are available.

So then how is the softwareupdate tool supposed to be used ?

  • I don't know whether it makes any difference but if I read man softwareupdate then examples provided there don't include quotation marks. – Aivar Paalberg Feb 26 at 18:57
  • @AivarPaalberg That does not work: each of the space separated tokens is treated as a separate installation request. The man is incorrect. – StephenBoesch Feb 26 at 18:59
  • @AivarPaalberg The example in the man page doesn't have spaces in the tag. The quotes are required by the shell to ensure that the whole tag is read as one argument. – nohillside Feb 26 at 19:01
  • Simply said you need sudo to install software via softwareupdate. The error message isn't really helpful though. – nohillside Feb 26 at 19:07
  • @nohillside Thanks, it makse sense. However, does it mean that this part of man is also incorrect: `item ... One or more specified updates. The --list output shows the item names you can specify here, prefixed by the * or - characters – Aivar Paalberg Feb 26 at 19:11

As documented in the man page you need to use sudo to actually install software via softwareupdate. So in your case it's

sudo /usr/sbin/softwareupdate -i "macOS Catalina 10.15.7 Update"

to install 10.15.7, or

sudo /usr/sbin/softwareupdate -ia

to install all available updates.

  • I am interested to install a specific update. – StephenBoesch Feb 26 at 18:56
  • But .. I can't find a working solution and will give this a roll anyways.. – StephenBoesch Feb 26 at 18:59
  • @StephenBoesch You only seem to have one pending so it doesn't matter. But try with sudo and the label macOS Catalina 10.15.7 Update. – nohillside Feb 26 at 18:59
  • Too late "Cannot cancel updates after installation has started." ;) – StephenBoesch Feb 26 at 19:02
  • 1
    I wouldn't be surprised if the CLI version only requests the delta. See your other question, get the combo. – Tetsujin Feb 26 at 19:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .