softwareupdate

Check for and install new and updated software versions based on information about your computer and current software.

Syntax
     softwareupdate command [args ...]

Options

   -l
   --list
       List all available macOS and some software updates, but not security data updates.
       To include security data updates use:
         -l --include-config-data

   --background
       Trigger a background check with a forced scan.
                 
   -d
   --download
       Each update specified by args is downloaded but not installed.
       The values of args are the same as for the --install command.
       Updates downloaded with --download can be subsequently installed with --install, or through
       System Settings (as long as they remain applicable to your system).

       To include security data updates use:
        -d --include-config-data [label]        
       where [label] is that given in the list of available updates.

   -i
   --install
       Each update specified by args is downloaded, unarchived, and installed.
       This command requires root.

       args can be one of the following:

       item ...     One or more update names.
                  The --list output shows the item names you can specify here, prefixed by
                  the * or - characters.

       -a | --all   All available active updates.

       -r | --recommended
                  All updates that are recommended for your system.
                  These are prefixed with a * character in the --list output.

       --os-only  Only macOS updates

       --safari-only
                  Only Safari updates

       -R | --restart
                  Automatically restart if required to complete installation.
                  If the user invoking this tool is logged in then macOS will attempt to quit
                  all applications, logout, and restart.
                  If the user is not logged in, macOS will trigger a forced reboot if necessary.
                  If you wish to always perform a forced reboot, use --force.

       --stdinpass
                  Collect a password from STDIN without interaction. Apple silicon only.

       --user     An owner user to authorize installation. Apple silicon only.

   --list-full-installers
       List the available macOS Installers.
                 
   --fetch-full-installer [--full-installer-version version.number]
       Install the latest recommended macOS Installer.
       Use --full-installer-version to specify the version of macOS to install
       (e.g. --full-installer-version 15.7).
       Use --launch-installer to launch the installer automatically after it has been downloaded.
                 
       This option is available in Catalina (10.15) and greater

   --install-rosetta
       Install Rosetta. Only applies to Apple silicon Macs.
       Pass --agree-to-license to agree to the software license agreement without any user interaction.
                 
   --ignore ...
       Manage the per-user list of ignored updates (no longer supported).

   --reset-ignored
       Clear the list of all ignored updates (no longer supported).

   --schedule  Returns the per-machine automatic (background) check preference.

   --schedule on
   --schedule off
       Enable or disable automatic checking.

   -h
   --help
       Print command usage.

Files:
/usr/sbin/softwareupdate

/Library/Updates - Downloaded security data updates (in hidden sub-folders)

Variable: COMMAND_LINE_INSTALL Set when downloading or installing using the softwareupdate command. Scripts can check for the existence of this variable to determine if they are executing in a command line environment (i.e. there may be no WindowServer available).

Examples

Install all available Software Updates:

$ sudo softwareupdate -ia

List all available updates:

$ softwareupdate --list

! iPhoto-2.0
iPhoto, 2.0, 34100K [recommended]
! iSync-1.0
iSync, 1.0, 4840K [recommended]
! StuffItExpander7-7.0
StuffIt Expander Security Update, 7.0, 4420K [recommended]

Install all available updates and reboot, passing a password via the pipe/STDIN:

$ echo "$1" | sudo -u root softwareupdate --install --all --restart --force --no-scan --agree-to-license --user "Fred" --stdinpass

Download a specific version of macOS:

macOS Sequoia:

$ softwareupdate --fetch-full-installer --full-installer-version 15.7.2

macOS Sonoma:

$ softwareupdate --fetch-full-installer --full-installer-version 14.1

macOS Ventura:

$ softwareupdate --fetch-full-installer --full-installer-version 13.6.1

macOS Monterey:

$ softwareupdate --fetch-full-installer --full-installer-version 12.7.1

macOS Catalina:

$ softwareupdate --fetch-full-installer --full-installer-version 10.15.4

Install iCal:

$ softwareupdate --install iCal-1.0.2

Software Update Tool
Copyright 2002-2003 Apple Computer, Inc.

Installing iCal:
0...10...20...30...40...50...60...70...80...90...100 Done.

Check if Auto-updates are turned on:

$ softwareupdate --schedule

Automatic check is on

Ignore updates for iPhoto:

$ softwareupdate --ignore iPhoto

“If you stuff yourself full of poems, essays, plays, stories, novels, films, comic strips, magazines, music, you automatically explode every morning like old faithful. I have never had a dry spell in my life, mainly because I feed myself well, to the point of bursting. I wake early and hear my morning voices leaping around in my head like jumping beans. I get out of bed to trap them before they escape” ~ Ray Bradbury

Related macOS commands

Local man page: softwareupdate - Command line help page on your local machine.
How to downgrade from macOS 26 Tahoe on a new Mac - ArsTechnica.
install - Copy files and set attributes.
installer - System software and .pkg package installer tool.


 
Copyright © 1999-2026 SS64.com
Some rights reserved