brew-cask
Install macOS GUI applications with Homebrew
TLDR
Search for formulas and casks
Install a cask
List all installed casks
List installed casks that have newer versions available
Upgrade an installed cask (if no cask name is given, all installed casks are upgraded)
Uninstall a cask
Uninstall a cask and remove related settings and files
Display information about a given cask
SYNOPSIS
brew cask subcommand [--options] [cask1 cask2 ...]
brew install --cask cask
PARAMETERS
install
Install one or more casks
uninstall
Uninstall casks (removes files but keeps cache)
list
List installed casks
search
Search available casks
info
Show details about a cask
cleanup
Remove stale cache files
--force
Override safeguards (e.g., reinstall)
--verbose
Print verbose logs
--debug
Enable debug output
--quarantine
Apply macOS quarantine attribute
--no-quarantine
Skip quarantine attribute
--cask
Explicitly invoke cask mode (modern alias)
DESCRIPTION
The brew cask (or brew-cask in some notations) is a subcommand of Homebrew, the popular package manager originally for macOS. It handles installation, management, and removal of graphical applications (casks), which are pre-compiled binaries distributed outside traditional repositories.
Unlike standard Homebrew formulae for command-line tools, casks target user-facing apps like browsers, editors, and media players. Common examples include brew cask install firefox google-chrome.
In modern Homebrew (post-2019), brew cask is an alias for brew --cask, streamlining syntax (e.g., brew install --cask visual-studio-code). It automates downloads from official sources, handles dependencies, and supports quarantining for security.
Important for Linux users: Casks are macOS-exclusive due to reliance on macOS-specific formats like .dmg, .pkg, and App bundles. Linuxbrew/Homebrew on Linux supports only formulae, not casks. Attempting brew cask on Linux results in errors like 'Cask is unsupported on this platform'. Use native tools like apt, dnf, or Flatpak instead.
Casks simplify app management, avoiding manual downloads and avoiding App Store restrictions, but require Xcode Command Line Tools on macOS.
CAVEATS
Not supported on Linux. Casks require macOS for GUI app handling (.dmg, .app bundles). On Linux, brew cask fails with platform errors. Use Flatpak, Snap, or distro packages instead.
Deprecated syntax; prefer brew --cask. May require disabling SIP for some installs.
SUBCOMMANDS OVERVIEW
Key subs: audit (validate), fetch (download), outdated (check updates), zap (complete removal incl. prefs). Run brew cask help for full list.
LINUX ALTERNATIVES
Linuxbrew installs CLI tools only. For GUI: flatpak install flathub org.mozilla.firefox or apt install firefox.
HISTORY
Launched in 2012 as Caskroom GitHub repo by Phin Elias and others. Gained popularity for macOS app management. Merged into Homebrew core on Feb 28, 2019 (Homebrew 2.0.0), eliminating separate taps. brew cask aliased to brew --cask for compatibility. Active development via homebrew-cask repo with 10k+ formulae.


