#24030·brew

`--except` flag for `brew upgrade`

Author: dgrCreated Sep 18, 2026Updated Sep 18, 2026

Verification

  • This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.
  • I did not use AI/LLM to create this issue, or I disclosed the tool and model used; I will answer maintainer questions myself without AI/LLM.

Provide a detailed description of the proposed feature

I ran into a situation today where I have a long list of formulae that I need to upgrade, but I have one that I definitely don't want to upgrade at this point in time. In this situation, I could upgrade every single formulae by specifying it on the command line, but that's long and onerous. I'd rather use:

$ brew upgrade --except <formulae...>

Other commands might benefit from this (I haven't thought it all the way through for anything outside upgrade).

Yes, I know that I could pin the formula, but then when I upgrade it, I'd have to unpin and then upgrade. It's a lot easier to just say "upgrade everything except for ."

What is the motivation for the feature?

It saves time and improves the user experience by allowing users to quickly specify the rough equivalent of "upgrade everything except for ."

How will the feature be relevant to at least 90% of Homebrew users?

Lots of users have many formula installed and may just upgrade periodically (e.g., weekly or monthly) and end up with a long list of things needed to be upgraded. If there's one thing that they don't want to be upgraded in the list, then they're currently forced to specify the long list of things they want to upgrade to the upgrade command or put off the upgrade altogether.

What alternatives to the feature have been considered?

Currently, if the user wants to upgrade 19 out of 20 things, they must specify all 19 formulae to the upgrade command and leave out the one they do not want to upgrade (lots of typing), or they must pin the formulae and unpin before they upgrade it again (multiple steps and more complexity). The requested feature allows the user to specify the action more simply and directly.