There is now finally an official upgrade mechanism for Homebrew Cask (see Issue 3396 for the implementation)! To use it, simply run this command:

brew upgrade --cask

However this will not update casks that do not have versioning information (version :latest) or applications that have a built-in upgrade mechanism (auto_updates true). To reinstall these casks (and consequently upgrade them if upgrades are available), run the upgrade command with the --greedy flag like this:

brew upgrade --cask --greedy

To get outdated:

brew outdated --cask --greedy --verbose

Answer from scribblemaniac on Stack Overflow
🌐
GitHub
github.com › buo › homebrew-cask-upgrade
GitHub - buo/homebrew-cask-upgrade: A command line tool for upgrading every outdated app installed by Homebrew Cask · GitHub
Executes cask upgrades. pin Pin the current app version, preventing it from being upgraded when issuing the `brew cu` command. See also `unpin`. unpin Unpin the current app version, allowing them to be upgraded by `brew cu` command.
Author   buo
Discussions

A command to upgrade all casks ?
What is the best method on updating and upgrading a cast? Say I have webstorm and I want to update to a new version? Is there a method to upgrade all casks at once? More on github.com
🌐 github.com
13
August 13, 2015
homebrew - Is there any way to upgrade brew cask - Ask Different
As the quote in the other answer says, there is currently no way to upgrade all updated casks. The second part of the answer is wrong, though: brew upgrade --all cannot upgrade casks. More on apple.stackexchange.com
🌐 apple.stackexchange.com
June 4, 2015
Homebrew casks are not updating, how can I fix this? - Ask Different
All I want - once a week do whole system update and that is it. In a few weeks I decided to do such system update. I found many formulas which has higher version than I had installed: $ brew info --cask phpstorm phpstorm: 2021.3,213.5744.279 (auto_updates) https://www.jetbrains.com/phpstorm/ ... More on apple.stackexchange.com
🌐 apple.stackexchange.com
Homebrew doesn't update casks?
I use an add on app called "homebrew-cask-upgrade" it allows me to updates the casks by typing, brew cu --all link https://github.com/buo/homebrew-cask-upgrade More on reddit.com
🌐 r/MacOS
5
7
May 1, 2022
🌐
Homebrew
docs.brew.sh › FAQ
Homebrew Documentation: FAQ (Frequently Asked Questions)
Naming a cask explicitly, using --greedy-auto-updates or using the broader --greedy option can include casks that the default checks skip. Set HOMEBREW_UPGRADE_GREEDY=1 to apply --greedy persistently to all cask upgrades, or list selected casks ...
🌐
Mchael Poncardas
poncardas.com › home › blog › how to update homebrew and formulae
How to Update Homebrew and Formulae | Mchael Poncardas
December 15, 2024 - All-in-one command you can run to update everything (formulae, casks, and Homebrew itself) and clean up old versions afterward · brew update && brew upgrade && brew upgrade --cask && brew cleanup
🌐
Commands.dev
commands.dev › workflows › upgrade_all_installed_homebrew_casks
Upgrade all installed Homebrew casks
This will not update casks that do not have versioning information or applications that have a built-in upgrade mechanism. To reinstall these casks, append the `--greedy` flag.. Command is `brew upgrade --cask`
🌐
GitHub
github.com › Homebrew › homebrew-cask › blob › main › USAGE.md
homebrew-cask/USAGE.md at main · Homebrew/homebrew-cask
May 9, 2023 - upgrade — updates all outdated casks (run with just --cask). ... Homebrew comes with bash, zsh and fish tab completion for the brew command.
Author   Homebrew
🌐
GitHub
github.com › Homebrew › homebrew-cask › issues › 13256
A command to upgrade all casks ? · Issue #13256 · Homebrew/homebrew-cask
August 13, 2015 - What is the best method on updating and upgrading a cast? Say I have webstorm and I want to update to a new version? Is there a method to upgrade all casks at once?
Author   Homebrew
Find elsewhere
🌐
Nickjvturner
nickjvturner.com › posts › upgrade-all-your-brew-packages
Upgrade ALL your Brew packages - Nick Turner
September 10, 2023 - It is possible to exclude specific packages from examination with grep -v 'package' ... brew update && brew list --casks | grep -v 'autodesk-fusion360' | xargs brew upgrade --cask && brew cleanup
🌐
Nonbleedingedge
nonbleedingedge.com › cheatsheets › brew.html
Brew Cheatsheet — NonBleedingEdge documentation
The --cask extension is built on top of Homebrew to simplify the installation and updating of applications such as Google Chrome, Firefox, Alfred, Docker etc. (avoids manually downloading and installing the .dmg file) $ brew search --cask firefox # search, incomplete names permitted $ brew install --cask [--verbose] firefox # install $ brew uninstall --cask [--verbose] firefox # uninstall · Browsing all casks available via the Homebrew package manager
🌐
DEV Community
dev.to › stephencweiss › updating-a-homebrew-cask-1557
Updating A Homebrew Cask - DEV Community
January 23, 2020 - We have a script that will ask for the new version number, and take care of updating the Cask file and submitting a pull request to us: # install and setup script - only needed once brew install vitorgalvao/tiny-scripts/cask-repair cask-repair --help # use to update <outdated_cask> cask-repair <outdated_cask>
🌐
Fig
fig.io › manual › brew › upgrade
brew upgrade [outdated_formula|outdated_cask...] | Fig
Upgrade outdated casks and outdated, unpinned formulae using the same options they were originally installed with, plus any appended brew formula options
🌐
Reddit
reddit.com › r/osx › stumbled upon a way to update all homebrew casks
r/osx on Reddit: Stumbled upon a way to update all homebrew casks
June 5, 2016 -

brew cask install --force $(brew cask list) && brew cask cleanup

(In terminal)

EDIT: Yes, it does reinstall (hence also update) all the apps but for me its faster than having to find out which apps are out of date and install manually. Brew Cask seems to be lacking a feature that is essential to keeping apps relevant, that is a simple app version checker and updater.

🌐
Steemit
steemit.com › programming › @golgaroth › homebrew-brew-cask-cheat-sheet
Homebrew Brew Cask Cheat Sheet — Steemit
August 20, 2017 - Fetch the latest version of homebrew cask and all casks · brew update · View all outdated packages: brew outdated · Upgrade all currently installed brew formula · brew upgrade · Finally, upgrade all your casks · brew cu · And that's it! Hope this helps.
🌐
Homebrew
docs.brew.sh › Manpage
Homebrew Documentation: brew(1) – The Package Manager for Everywhere
Treat all named arguments as casks. Control Homebrew’s developer mode. When developer mode is enabled, brew update will update Homebrew to the latest commit on the main branch instead of the latest stable version along with some other behaviour ...
🌐
RubyDoc
rubydoc.info › gems › brew-cask-upgrade › 2.0.1
RubyDoc.info: File: README – Documentation for brew-cask-upgrade (2.0.1) – RubyDoc.info
With brew-cask-upgrade, you just need to type one command to upgrade all the apps installed by Homebrew Cask.
Top answer
1 of 3
20

If you're only trying to upgrade one package:

brew upgrade package_name

All packages

brew update && brew outdated && brew upgrade && brew cleanup

Note, I had to add my own answer for this since I got here looking for just one, and noticed the top answer had brew upgrade --cask, while I got the following from here:

During 2020 the sub-commands of the cask command were gradually integrated into the core of Homebrew and were deprecated. The core commands now operate on both formulae and casks. To limit their scope to only formulae or casks add the --formula or --cask option to the command line.

The cask command has been completely removed from Homebrew in version 2.6.0, released in December 2020.

There is a unified flow now for both formulae and casks:

brew update
brew outdated
brew upgrade

The first command (brew update) gets from the Homebrew servers the information about the most recent versions of the available formulae and casks.

The second command (brew outdated) lists the outdated installed formulae and casks. Add --formulae or --casks to the command line to limit the command scope to formulae or casks. Add --greedy to the command line to include in its output the casks that are marked as "auto-updateable". This command is not needed. It can be used to see what programs will be upgraded before doing the actual upgrade.

The third command (brew upgrade) upgrades the packages listed by brew outdated. It also supports the options listed above for brew outdated and operates accordingly.

2 of 3
12

To have your packages and apps you just need to run these commands in your terminal:

brew update && brew upgrade && brew upgrade --cask && brew cleanup