# softwareupdate — Manage macOS Updates from the CLI

> Practical guide to softwareupdate — find, download and install macOS and Apple software updates from the command line, including full installers.

Source: https://www.jpkc.com/db/en/cheatsheets/macos/softwareupdate/

<!-- PROSE:intro -->
`softwareupdate` finds, downloads and installs macOS and Apple software updates straight from the command line – no detour through System Settings required. You can list available updates, apply security patches and firmware, or grab the complete macOS installer with `--fetch-full-installer`. Most write actions need `sudo`, and installing can trigger an automatic restart depending on the options – so save your work first. This guide walks you through the commands you reach for most, from listing updates to scheduling automatic checks.
<!-- PROSE:intro:end -->

## List & Check

`softwareupdate -l` — List all available updates.

```bash
softwareupdate -l
```

`softwareupdate -l --include-config-data` — List updates including configuration data updates.

```bash
softwareupdate -l --include-config-data
```

`softwareupdate --list --all` — List all available updates including already installed.

```bash
softwareupdate --list --all
```

## Install Updates

`softwareupdate -i '<name>'` — Install a specific update by name.

```bash
sudo softwareupdate -i 'macOS Sequoia 15.3.1-15.3.1'
```

`softwareupdate -ia` — Install all available updates.

```bash
sudo softwareupdate -ia
```

`softwareupdate -ir` — Install only recommended updates.

```bash
sudo softwareupdate -ir
```

`softwareupdate -ia --agree-to-license` — Install all updates and auto-accept license agreements.

```bash
sudo softwareupdate -ia --agree-to-license
```

`softwareupdate -ia -R` — Install all updates and restart if required.

```bash
sudo softwareupdate -ia -R
```

## Download Only

`softwareupdate -d '<name>'` — Download a specific update without installing.

```bash
sudo softwareupdate -d 'macOS Sequoia 15.3.1-15.3.1'
```

`softwareupdate -da` — Download all available updates without installing.

```bash
sudo softwareupdate -da
```

## macOS Upgrade

`softwareupdate --fetch-full-installer` — Download the full macOS installer for the latest version.

```bash
sudo softwareupdate --fetch-full-installer
```

`softwareupdate --fetch-full-installer --full-installer-version <ver>` — Download the full installer for a specific macOS version.

```bash
sudo softwareupdate --fetch-full-installer --full-installer-version 15.3.1
```

## Configuration

`softwareupdate --schedule on` — Enable automatic update checking.

```bash
sudo softwareupdate --schedule on
```

`softwareupdate --schedule off` — Disable automatic update checking.

```bash
sudo softwareupdate --schedule off
```

`softwareupdate --ignore '<name>'` — Ignore a specific update (hide it from the list).

```bash
sudo softwareupdate --ignore 'macOS Sequoia 15.3.1-15.3.1'
```

`softwareupdate --reset-ignored` — Clear the list of ignored updates.

```bash
sudo softwareupdate --reset-ignored
```

`defaults read /Library/Preferences/com.apple.SoftwareUpdate` — Show Software Update preferences.

```bash
defaults read /Library/Preferences/com.apple.SoftwareUpdate
```

<!-- PROSE:outro -->
## Conclusion

`softwareupdate` keeps macOS and its bundled Apple software current in a scriptable way, with no clicking through dialogs – ideal for remote management, automation and reproducible setups. For everyday use, `softwareupdate -l` to check and `sudo softwareupdate -ir` for the recommended updates usually do the job. Treat `--install -a` and `-R` with care: they can **restart the machine automatically** – so save any open work before running them. Plan larger OS upgrades via `--fetch-full-installer` deliberately (backup, enough free space, compatible software) rather than applying them on the fly.

## Further Reading

- [Update macOS on Mac](https://support.apple.com/en-us/108382) – official Apple Support guide
- [softwareupdate(8) man page](https://keith.github.io/xcode-man-pages/softwareupdate.8.html) – full reference of every option
<!-- PROSE:outro:end -->

## Related Commands

- [caffeinate](https://www.jpkc.com/db/en/cheatsheets/macos/caffeinate/) – prevent sleep during long update runs
- [defaults](https://www.jpkc.com/db/en/cheatsheets/macos/defaults/) – read and write macOS preferences (e.g. update options)
- [diskutil](https://www.jpkc.com/db/en/cheatsheets/macos/diskutil/) – manage disks and volumes from the command line

