BREW-CASK(1)

NAME
brew-cask - a friendly binary installer for macOS

SYNOPSIS
brew cask command [options] [ token ... ]

DESCRIPTION
Homebrew Cask is a tool for installing precompiled macOS binaries (such as Applications) from the command line. The user is never required to use the graphical user interface.

FREQUENTLY USED COMMANDS

install [--force] [--skip-cask-deps] [--require-sha] [--no-quarantine] [--language=iso-language[,iso-language ... ]] token [ token ... ]
    Install Cask identified by token.

uninstall [--force] token [ token ... ]
    Uninstall Cask identified by token.

COMMANDS

--cache token [ token ... ]
    Display the file used to cache the Cask identified by token.

audit [--language=iso-language[,iso-language ... ]] [ token ... ]
    Check the given Casks for installability. If no tokens are given on the command line, all Casks are audited.

cat token [ token ... ]
    Dump the given Cask definition file to the standard output.

create token
    Generate a Cask definition file for the Cask identified by token and open a template for it in your favorite editor.

doctor or dr
    Check for configuration issues. Can be useful to upload as a gist for developers along with a bug report.

edit token
    Open the given Cask definition file for editing.

fetch [--force] [--no-quarantine] token [ token ... ]
    Download remote application files for the given Cask to the local cache. With --force, force re-download even if the files are already cached. --no-quarantine will prevent Gatekeeper from enforcing its security restrictions on the Cask.

home or homepage [ token ... ]
    Display the homepage associated with a given Cask in a browser.

    With no arguments, display the project page https://brew.sh/.

info or abv token [ token ... ]
    Display information about the given Cask.

install [--force] [--skip-cask-deps] [--require-sha] [--no-quarantine] token [ token ... ]
    Install the given Cask. With --force, re-install even if the Cask appears to be already present. With --skip-cask-deps, skip any Cask dependencies. --require-sha will abort installation if the Cask does not have a checksum defined. --no-quarantine will prevent Gatekeeper from enforcing its security restrictions on the Cask.

    token is usually the ID of a Cask, but see OTHER WAYS TO SPECIFY A CASK for variations.

list or ls [-1] [--versions] [ token ... ]
    Without any arguments, list all installed Casks. With -1, always format the output in a single column. With --versions, show all installed versions.

    If token is given, summarize the staged files associated with the given Cask.

outdated [--greedy] [--verbose|--quiet] [ token ... ]
    Without token arguments, display all the installed Casks that have newer versions available in the tap; otherwise check only the tokens given in the command line. If --greedy is given then also include in the output the Casks having auto_updates true or version :latest. Otherwise they are skipped because there is no reliable way to know when updates are available for them.
    --verbose forces the display of the outdated and latest version.
    --quiet suppresses the display of versions.

reinstall [--no-quarantine] token [ token ... ]
    Reinstall the given Cask.

style [--fix] [ token ... ]
    Check the given Casks for correct style using RuboCop (with custom Cask cops). If no tokens are given on the command line, all Casks are checked. With --fix, auto-correct any style errors if possible.

uninstall or rm or remove [--force] token [ token ... ]
    Uninstall the given Cask. With --force, uninstall even if the Cask does not appear to be present.

upgrade [--force] [--greedy] [--dry-run] token [ token ... ]
    Without token arguments, upgrade all the installed Casks that have newer versions available in the tap; otherwise update the tokens given in the command line. If --greedy is given then also upgrade the Casks having auto_updates true or version :latest.

    If --dry-run is given, show what would be upgraded, but do not actually upgrade anything.

zap [--force] token [ token ... ]
    Unconditionally remove all files associated with the given Cask. With --force, zap even if the Cask does not appear to be currently installed.

    Implicitly performs all actions associated with uninstall.

    Removes all staged versions of the Cask distribution found under <Caskroom_path>/token.

    If the Cask definition contains a zap stanza, performs additional zap actions as defined there, such as removing local preference files. zap actions are variable, depending on the level of detail defined by the Cask author.

    zap may remove files which are shared between applications.

INTERNAL COMMANDS

_stanza stanza_name [ --table | --yaml | --inspect | --quiet ] [ token ... ]
    Given a stanza_name and a token, returns the current stanza for a given Cask. If no token is given, then data for all Casks is returned.

OPTIONS
To make these options persistent, see the ENVIRONMENT section, below.

Some of these (such as --prefpanedir) may be subject to removal in a future version.

--force
    Force an install to proceed even when a previously-existing install is detected.

--skip-cask-deps
    Skip Cask dependencies when installing.

--require-sha
    Abort Cask installation if the Cask does not have a checksum defined.

--no-quarantine
    Prevent Gatekeeper from enforcing its security restrictions on the Cask. This will let you run it straightaway.

--verbose
    Give additional feedback during installation.

--appdir=<path>
    Target location for Applications. The default value is /Applications.

--language=<iso-language>[,<iso-language> ... ]]
    Set language of the Cask to install. The first matching language is used, otherwise the default language on the Cask. The default value is the language of your system.

--colorpickerdir=<path>
    Target location for Color Pickers. The default value is ~/Library/ColorPickers.

--prefpanedir=<path>
    Target location for Preference Panes. The default value is ~/Library/PreferencePanes.

--qlplugindir=<path>
    Target location for QuickLook Plugins. The default value is ~/Library/QuickLook.

--dictionarydir=<path>
    Target location for Dictionaries. The default value is ~/Library/Dictionaries.

--fontdir=<path>
    Target location for Fonts. The default value is ~/Library/Fonts.

--servicedir=<path>
    Target location for Services. The default value is ~/Library/Services.

--input_methoddir=<path>
    Target location for Input Methods. The default value is ~/Library/Input Methods.

--internet_plugindir=<path>
    Target location for Internet Plugins. The default value is ~/Library/Internet Plug-Ins.

--audio_unit_plugindir=<path>
    Target location for Audio Unit Plugins. The default value is ~/Library/Audio/Plug-Ins/Components.

--vst_plugindir=<path>
    Target location for VST Plugins. The default value is ~/Library/Audio/Plug-Ins/VST.

--vst3_plugindir=<path>
    Target location for VST3 Plugins. The default value is ~/Library/Audio/Plug-Ins/VST3.

--screen_saverdir=<path>
    Target location for Screen Savers. The default value is ~/Library/Screen Savers.

--no-binaries
    Do not link "helper" executables to /usr/local/bin.

--debug
    Output debugging information of use to Cask authors and developers.

INTERACTION WITH HOMEBREW
Homebrew Cask is implemented as a external command for Homebrew. That means this project is entirely built upon the Homebrew infrastructure. For example, upgrades to the Homebrew Cask tool are received through Homebrew:

    brew update; brew cask upgrade; brew cleanup

And updates to individual Cask definitions are received whenever you issue the Homebrew command:

    brew update

OTHER WAYS TO SPECIFY A CASK
Most Homebrew Cask commands can accept a Cask token as an argument. As described above, the argument can take the form of:

•   A simple token, e.g. google-chrome

Homebrew Cask also accepts three other forms in place of plain tokens:

•   A fully-qualified token which includes the Tap name, e.g. homebrew/cask-fonts/font-symbola

•   A fully-qualified pathname to a Cask file, e.g. /usr/local/Library/Taps/homebrew/homebrew-cask/Casks/google-chrome.rb

•   A curl-retrievable URI to a Cask file, e.g. https://raw.githubusercontent.com/Homebrew/homebrew-cask/f25b6babcd398abf48e33af3d887b2d00de1d661/Casks/google-chrome.rb

ENVIRONMENT
Homebrew Cask respects many of the environment variables used by the parent command brew. Please refer to the brew(1) man page for more information.

Environment variables specific to Homebrew Cask:

HOMEBREW_CASK_OPTS
    This variable may contain any arguments normally used as options on the command-line. This is particularly useful to make options persistent. For example, you might add to your .bash_profile or .zshenv something like:

           export HOMEBREW_CASK_OPTS='--appdir=~/Applications --fontdir=/Library/Fonts'

Other environment variables:

SUDO_ASKPASS
    When this variable is set, Homebrew Cask will call sudo(8) with the -A option.

SEE ALSO
The Homebrew home page: https://brew.sh/

The Homebrew Cask GitHub page: https://github.com/Homebrew/homebrew-cask

brew(1), curl(1)

AUTHORS
Paul Hinze and Contributors.

Man page format based on brew.1.md from Homebrew.

BUGS
We still have bugs - and we are busy fixing them! If you have a problem, don't be shy about reporting it on our GitHub issues page https://github.com/Homebrew/homebrew-cask/issues?state=open.

When reporting bugs, remember that Homebrew Cask is an separate repository within Homebrew. Do your best to direct bug reports to the appropriate repository. If your command-line started with brew cask, bring the bug to us first!