Homebrew Cask¶
The cask half of Homebrew: pre-built macOS applications.
Homebrew is the umbrella project behind the brew CLI. mpm splits it into
two managers over the same binary, this one for casks and Brew
for formulae; a forced --cask selector keeps every call on the cask side.
Casks ship macOS .app bundles and .pkg installers, so this manager is
macOS-only.
mpm drives brew non-interactively with the same environment pins as
Brew (analytics and hints off, HOMEBREW_NO_AUTO_UPDATE so the
metadata refresh stays a separate sync) and the same >=6.0.0 floor
(ask mode default, the --yes opt-out, and the tap-trust gate that
Homebrew.trust_tap() clears for user/tap/name packages).
Note
Casks self-escalate: their artifacts (.pkg installers, kernel
extensions) invoke sudo from inside brew, so mpm never wraps a
cask command in its own sudo.
Caution
Casks flagged auto_updates true or version :latest update
themselves, and brew upgrade skips them unless --greedy is
passed. mpm supplies --greedy (to outdated and to
upgrade --all) unless auto-updating packages are being ignored.
--greedy conflicts with --formula, so this handling is cask-only
and cannot fold into the base shared with Brew.
Home page: https://github.com/Homebrew/homebrew-cask
Version requirement:
>=6.0.0
Platforms¶
🍎 macOS
Operations¶
Operation |
Supported |
|---|---|
|
✓ |
|
✓ |
|
✓ |
|
✓ |
|
✓ |
|
✓ |
|
✓ |
|
✓ |
|
✓ |
Ecosystem¶
Accepted purl types:
pkg:caskMaps to
caskentries in Brewfile backups
Usage¶
$ mpm --cask installed
$ mpm --cask search "query"
$ mpm --cask upgrade --all
$ mpm install pkg:cask/hello
$ mpm --dry-run --cask upgrade --all
Every example above accepts --dry-run, which simulates the underlying manager calls without touching the system: the safe way to watch what mpm would do before trusting it.
Deselect the manager for a single run with --no-cask, disable it from your configuration, or tune its invocation attributes with per-manager overrides.
Command line¶
CLI names, in lookup order:
brewArguments forced after each call:
--caskEnvironment forced on each call:
HOMEBREW_NO_ANALYTICS=1HOMEBREW_NO_AUTO_UPDATE=1HOMEBREW_NO_ENV_HINTS=1
The version is extracted from the output of brew --version with:
r"Homebrew\s+(?P<version>\S+)"
Privilege escalation¶
Homebrew Cask runs sudo from inside its own commands: mpm never wraps it, keeps an already-warm credential cache alive for those internal escalations, and warns when a mutating call goes silent on a terminal with a cold cache, since a password prompt may be hiding in the stream.
See privilege escalation for the full policy.
Cooldown¶
State of Homebrew Cask’s release-age gating, from the cooldown support table:
Status: 🚧 Same as
brew(inherits)Reference: Homebrew/brew#21129
With --cooldown set, mpm skips this manager’s install and upgrade operations rather than run them unguarded (fail-closed); --allow-unsupported-managers opts back in.