LinuxCommandLibrary

brew-cask

Install macOS GUI applications with Homebrew

TLDR

Search for formulas and casks

$ brew search [text]
copy


Install a cask
$ brew install --cask [cask_name]
copy


List all installed casks
$ brew list --cask
copy


List installed casks that have newer versions available
$ brew outdated --cask
copy


Upgrade an installed cask (if no cask name is given, all installed casks are upgraded)
$ brew upgrade --cask [cask_name]
copy


Uninstall a cask
$ brew uninstall --cask [cask_name]
copy


Uninstall a cask and remove related settings and files
$ brew zap --cask [cask_name]
copy


Display information about a given cask
$ brew info --cask [cask_name]
copy

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.

SEE ALSO

brew(1), flatpak(1), snap(8), apt(8), dnf(8)

Copied to clipboard