249

I know when I brew update, it lists all ==> Updated Formulae, but when I've updated several times without running brew upgrade, how do I get a list of all apps that could be upgraded?

Andy
  • 11,215
  • 5
  • 31
  • 33

2 Answers2

394

Per homebrew code on github, this shows all apps that can be updated:

brew outdated

brew help does not list the command, but it is documented in man brew.

Rob Bednark
  • 25,981
  • 23
  • 80
  • 125
Andy
  • 11,215
  • 5
  • 31
  • 33
  • 14
    And `brew upgrade` if you want apply availables upgrades for all of your formulas (or `brew upgrade formula` for single package) – Przemek Nowak Mar 01 '18 at 07:12
  • 28
    Note: You need to run `brew update` **before** you run `brew outdated` to get the latest list of updatable packages. – Pierz Apr 24 '19 at 10:34
  • How can I update all the outdated packages? Can we use | or anything else? – Mahdi Amrollahi Nov 01 '20 at 04:25
  • 1
    @MahdiAmrollahi `brew upgrade` updates all outdated casks, formulae, etc. – Hussein Esmail Feb 16 '21 at 02:24
  • @Pierz is correct! As of 2022 running `brew outdated` before `brew update` [will return nothing](https://github.com/Homebrew/discussions/discussions/3205). Which seems counterintuitive, why run an update command **before** checking what needs to be updated? You might create a function that combines both commands and name it `brew outdated` – John Apr 22 '22 at 20:02
  • `brew outdated` with the latest brew already automatically runs `brew update --auto-update`... – Chris Apr 05 '23 at 08:54
45

Since Homebrew 2.6.0 released in 2020.12.01, brew outdated behaves a little differently.

# update package repo
brew update

# list outdated pkgs, both formula and cask
brew outdated
# list formula only, the old behavior of 
#  `brew outdated` before brew 2.6.0
brew outdated --formula
# list cask only
brew outdated --cask

In Homebrew's jargon, a package is called a "Formula". Homebrew is not only manages TUI apps, it's also capable of managing GUI apps. A package for a GUI app is known as "Cask".

Before Homebrew 2.6.0, brew outdated only list formulae. Since 2.6.0 brew outdated both of formulae and casks.

Simba
  • 23,537
  • 7
  • 64
  • 76
  • 9
    This should (now) be the accepted answer. Without running `brew update` first, you do not get anything from `brew outdated`. – craig.kaminsky Jun 15 '21 at 15:22
  • Note since we're talking about jargon: a "formula" is named so because it's a list of downloads and steps needed to install a specific application. It does not hold the binaries or get them from a central repository like a 'traditional' package manager. – joshfindit Jun 09 '22 at 14:53
  • 1
    @craig.kaminsky no more necessary, brew outdated with the latest brew already automatically runs brew update --auto-update – Chris Apr 05 '23 at 08:55