Is there a way to list only the packages that were built from source? I want to check what options they were built with, and since that's the main reason I install packages by building from source most of the time, this would be useful.

I imagine it wouldn't be too difficult to write a script to list all packages and filter out the ones poured from bottle, but I'm wondering if a simpler way exists.

I could just brew info and go through all of them to check, but when the output is really long, it isn't that trivial to do this.

  • you get sauce from a bottle and for the output - it needs time to ferment...
    – Solar Mike
    Jan 22, 2018 at 19:29
  • I don't get it... bottles have binaries not "sauce" (pun is the only thing I got lol) but you lost me at the output fermenting. EDIT: This is tongue in cheek right? I'm not talking about beer, just to clarify, I didn't realize it might be misunderstood... Jan 22, 2018 at 23:10
  • beer : bottles - fermenting... sorry the brackets with bottle in the title just go to me :) and sorry can't help with an answer but hope someone else does. I had not come across "bottle" in terms of packages before...
    – Solar Mike
    Jan 22, 2018 at 23:14
  • oh. yeah I guess it would be confusing if you're not familiar with homebrew haha. It's a package manager for macOS, and the packaged precompiled binaries are called bottles. apparently the guy who made the system never thought it would become so popular and wrote the whole thing as a hobby/joke (and possibly while drinking a lot of beer, lol) Jan 26, 2018 at 23:18

2 Answers 2


I believe that Cakebrew lets you do that, but I can't confirm this

  • This is a great tool and I can't believe I've never heard of this before. I'll have to check if it lets me do what I want, but nevertheless thank you for introducing me to it! May 1, 2019 at 16:13

List all bottled formulae

by querying the JSON and parsing the output

brew info --json=v1 --installed | jq -r "map(select(.installed[].poured_from_bottle) | .name) | unique | .[]" | tr '\n' ' '

List all non-bottled formulae

by querying the JSON and parsing the output and using | not

brew info --json=v1 --installed | jq -r "map(select(.installed[].poured_from_bottle | not) | .name) | unique | .[]"

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .