A Brewfile turns a Homebrew package set into a declarative dependency list for a project, workstation, or CI image. Checking that file before a bundle install shows whether the machine already matches the recorded state and avoids changing packages just to learn what is missing.
Homebrew Bundle reads the Brewfile in the current directory unless --file or --global points it somewhere else. A satisfied check exits with status 0 and prints that the dependencies are satisfied, while a failed check exits nonzero so scripts and CI jobs can stop before they mutate the environment.
The normal check also considers outdated dependencies, so an installed formula can still appear in verbose output when Homebrew would update it during an install. Add --no-upgrade when the gate should answer only whether Brewfile entries are present.
brew "bash"
Keep the project Brewfile beside the code or pass its path with --file. Use --global only when checking the configured global Brewfile.
$ brew bundle check --file Brewfile The Brewfile's dependencies are satisfied.
$ brew bundle check --no-upgrade --file Brewfile The Brewfile's dependencies are satisfied.
--no-upgrade keeps already installed but outdated entries from failing a presence-only check.
$ brew bundle check --verbose --file Brewfile brew bundle can't satisfy your Brewfile's dependencies. → Formula tree needs to be installed or updated. Satisfy missing dependencies with `brew bundle install`.
If the missing entry belongs on the machine, install from the same Brewfile after review. If the entry is wrong for this environment, edit the Brewfile and check it again.
Related: How to install Homebrew packages from a Brewfile
$ brew bundle check --file Brewfile The Brewfile's dependencies are satisfied.