A Homebrew pin is an upgrade hold on an installed formula or cask. Removing that hold is useful after compatibility testing, a temporary rollback, or a blocked release window has ended and the package should rejoin normal upgrade runs.
Unpinning does not remove package files or install a newer version by itself. It only deletes the hold state that makes brew upgrade skip the package, so the next targeted or general upgrade can consider the available Homebrew release.
Confirm the token against the pinned list before changing it, especially where a formula and cask have similar names. Homebrew accepts --formula and --cask to force the package type, and a targeted pinned-list check that returns no output after unpinning means the hold is gone.
Related: How to pin a Homebrew package
Related: How to check for outdated Homebrew packages
Steps to unpin a Homebrew package:
- Check that the target package is pinned.
$ brew list --pinned hello hello
Replace hello with the formula or cask token. If the command prints nothing, the package is not currently pinned.
Related: How to check Homebrew package information - Unpin the package.
$ brew unpin hello
Use brew unpin --formula hello or brew unpin --cask visual-studio-code when the package type should be explicit.
- Confirm that the target package no longer has a pin.
$ brew list --pinned hello
No output from the targeted pinned-list check means hello is no longer pinned. If brew list --pinned still shows other packages, only those remaining names are still held.
- Run a targeted upgrade when the package is ready to move again.
$ brew upgrade hello Warning: hello 2.12.3 already installed
If a newer version exists, Homebrew upgrades the package. If the installed version is already the newest release Homebrew can install, this warning is normal.
Related: How to upgrade Homebrew packages
Mohd Shakir Zakaria is a cloud architect with deep roots in software development and open-source advocacy. Certified in AWS, Red Hat, VMware, ITIL, and Linux, he specializes in designing and managing robust cloud and on-premises infrastructures.