Homebrew uses package metadata to decide which formulae, casks, taps, and package versions are available before install, search, info, and upgrade commands. Refreshing that metadata keeps those decisions aligned with the current Homebrew repositories without upgrading installed packages.

brew update fetches the newest Homebrew release and formula metadata from GitHub and performs any migrations that Homebrew needs. Normal Homebrew commands can also perform automatic metadata checks, but a manual refresh is useful after a long offline period, before planned upgrade work, or when search and package information look stale.

A metadata refresh can change Homebrew itself and local tap state, so treat it as package-manager maintenance rather than an upgrade command. Installed formulae and casks stay at their current versions until a separate brew upgrade command is run.

Steps to update Homebrew package metadata:

  1. Refresh Homebrew package metadata.
    $ brew update
    ==> Updating Homebrew...
    Already up-to-date.

    The output may list updated formulae, casks, taps, or migrations instead of Already up-to-date. brew update does not upgrade installed packages by itself. Use --force only when a recent no-op update still leaves metadata stale and a slower full check is warranted.

  2. Repeat the update with verbose output when the normal result is too terse for troubleshooting.
    $ brew update --verbose
    Checking if we need to fetch /opt/homebrew...
    ==> Updating Homebrew...
    Fetching /opt/homebrew...
    Updating /opt/homebrew...
    ##### snipped #####
    Already up-to-date.

    --verbose prints the checked directories and Git operations. The path shown is the Homebrew prefix, so Linux and Intel Mac installs can show a different prefix. Keep the normal command for routine metadata refreshes.

  3. Run a package search against the refreshed metadata.
    $ brew search wget
    wget
    wget2
    wgetpaste

    Search results should reflect the current formula and cask metadata known to Homebrew.
    Related: How to search for Homebrew packages

  4. Check outdated packages after the metadata refresh when preparing upgrade work.
    $ brew outdated --verbose

    No output means Homebrew did not find outdated installed packages in the default formula and cask set.
    Related: How to check for outdated Homebrew packages