Update, Check Outdated, and Upgrade with Homebrew

The three forgotten steps of Homebrew maintenance: brew update refreshes metadata, brew outdated lists what's stale, brew upgrade applies new versions.

macOSpackagesbrewupgradeLow risk
Run `brew update && brew outdated && brew upgrade` to refresh, review, and upgrade all installed formulae and casks.

01Command

Command
$ brew update && brew outdated && brew upgrade

02What it does

A common mistake is running only brew upgrade, which uses stale metadata from the last update — always brew update first. brew outdated shows formulae and casks with newer versions so you can inspect release notes before committing; pass --greedy to include auto-update-excluded casks. Upgrade selectively with `brew upgrade node` or pin with `brew pin <formula>` when a new version breaks your build.

03Risk

RiskLow risk
RequirementsHomebrew (https://brew.sh)
!Warning: Major version upgrades can break dependent projects — check `brew outdated` before a blanket upgrade on build machines.

04Undo

Undo
$ brew install formulae@old-version (reinstall pinned version; Homebrew keeps old kegs via brew cleanup timeout)

05Sources

  • Homebrew Man Page
    Homebrew · vendor-doc · 2026-09-17
    Evidence: Documents brew update (fetch package metadata), brew outdated (list stale formulae/casks), and brew upgrade.

Last verified: 2026-09-17 · Category: Developer