brew-cask-upgrade is a command-line tool for upgrading every outdated app
installed by Homebrew Cask.
Homebrew Cask extends Homebrew and brings its elegance, simplicity, and speed to the installation and management of GUI macOS applications and large binaries alike.
brew-cask-upgrade is an external command to replace the native upgrade by offering interactivity, an improved interface, and higher granularity of what to upgrade.
brew tap buo/cask-upgradeIn order to simply verify that brew cu is correctly installed, you can simply run brew tap command and see if the repo is included:
> brew tap
buo/cask-upgrade
homebrew/bundle
homebrew/cask
homebrew/corebrew untap buo/cask-upgradeUpgrade outdated apps:
brew cuUpgrade a specific app:
brew cu [CASK]While running the brew cu command without any other further options, the script automatically runs brew update to get
latest versions of all the installed casks (this can be disabled, see options below).
It is also possible to use * to install multiple casks at once, i.e. brew cu flash-* to install all casks starting with flash- prefix.
If the app has the auto update functionality (i.e. they ask you themselves if you want to upgrade them), they are not
upgraded while running brew cu and will display a PASS result. If you want to upgrade them, pass the -a or --all option to include also those kind of apps.
Please note, that if you update the apps using their auto-update functionality, that change will not reflect in the
brew cu script! Tracked version gets only updated, when the app is upgraded through brew cu --all.
Usage: brew cu [command=run] [CASK] [options]
Commands:
run Default command, doesn't have to be specified. 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. See also `pin`.
pinned Print all pinned apps and its version. See also `pin`.
Options:
-a, --all Include apps that auto-update in the upgrade.
--cleanup Cleans up cached downloads and tracker symlinks after
updating.
-f --force Include apps that are marked as latest
(i.e. force-reinstall them).
--no-brew-update Prevent auto-update of Homebrew, taps, and formulae
before checking outdated apps.
-y, --yes Update all outdated apps; answer yes to updating packages.
-q, --quiet Do not show information about installed apps or current options.
-v, --verbose Make output more verbose.
--no-quarantine Pass --no-quarantine option to `brew cask install`.
-i, --interactive Running update in interactive mode
--include-mas (Experimental) Include applications from Mac App Store.
Display usage instructions:
brew help cuBy adding --include-mas parameter to the brew cu command, we use mas cli tool to manage
upgrades for Mac App Store applications as well.
Note: This feature is highly experimental and we don't guarantee it's functionality. Use at your own risk.
When using interactive mode (by adding --interactive argument or confirming app installation with i) will trigger per-cask confirmation.
For every cask it is then possible to use following options:
ywill install the current cask updateNwill skip the installation of current caskpwill pin the current version of the cask (see version pinning)
Pinned apps will not be updated by brew cu until they are unpinned.
NB: version pinning in brew cu will not prevent brew cask upgrade from updating pinned apps.
In order to export backup of your pinned casks into a file, simply pass --export option to the pinned command.
brew cu pinned --export my-backup-filename.txtNote: Versions, in which were casks pinned, are not exported as it isn’t possible to install a specific version afterwards.
In order to load the configuration back, use --load option.
brew cu pinned --load my-backup-filename.txtNote: Loading the configuration will replace current values.
