r/macapps • u/alielsokary • Jul 29 '26
Free [OS] CaskHub: a free, open source native Mac app store for Homebrew casks
I'm Ali, a software engineer and an iOS & macOS developer for 10+ years, and I use Homebrew almost every day. I've always wished there was an easy way to see what casks were added recently and what people are actually installing, but the thing is, Homebrew was never built to help you discover apps, and this is actually by design. So I built CaskHub.
Problem
In Homebrew there's no easy way to see which casks were added recently, what people are actually installing this month, or to just browse the catalog with decent categories.
CaskHub is a native SwiftUI app that treats Homebrew casks like an app store: browse, search, install, update, and uninstall, all through your real brew binary, so nothing is locked into the app and everything stays manageable from the CLI. The part I care most about is Recently Added, a feed of casks published to Homebrew in the last 30 to 90 days, which was the whole reason I started building it.
Comparison
The two closest alternatives I know are Applite and Taphouse, both of which I genuinely like and use.
The difference is really about discovery. Applite's browsing is built around a curated, hand-picked selection, and Taphouse doesn't surface the full catalog either, with only a few apps showing real icons.
CaskHub instead surfaces the entire cask catalog, automatically sorted into categories and shown with real icons, so a brand new cask appears in the browse experience on day one instead of waiting to be hand-added.
In any of those alternatives you could technically find a brand new cask through search, but only if you already heard about it somewhere else first. The whole point of CaskHub's Recently Added is that you don't have to know the name to find it.
This is where CaskFlow comes in, a separate open source pipeline that's the backbone of CaskHub. It classifies every cask, extracts its real app icon from the actual artifact instead of a placeholder, and powers the Recently Added feed that gives new casks a homepage spotlight the day they land in Homebrew.
Pricing
Free. 100% free and open source under the MIT license, with no subscription, no premium tier, and no ads.
Links
Source: https://github.com/alielsokary/CaskHub
Classification tools & pipeline: https://github.com/alielsokary/CaskFlow
About me
Linkedin: https://www.linkedin.com/in/alielsokary
Notes
CaskHub is notarized and signed. It sends anonymous, opt-out usage analytics (TelemetryDeck) and crash reports (Sentry), that can be disabled anytime in Settings.
I built this app for my own selfish reason, which is that I wanted to use it every day. I hope you find it as useful as I do.
It's still early, so I'm posting for honest feedback, including the harsh kind. Contributions of all kinds to the project are very much welcome :)
What would make a GUI like this worth it for you over just typing brew install?
16
u/Healthy_Landscape417 Jul 29 '26
Nice wedge. One thing I would put on the detail page, since you are using the app store framing.
A cask is not reviewed the way an App Store listing is. Plenty of casks ship with sha256 :no_check because the app updates itself, so what you install is whatever sits at that URL today, not a pinned build. Casks can also run preflight and postflight shell steps.
None of that is a reason to avoid Homebrew. But "app store" makes people expect vetting that is not there. If you showed the cask's sha256 state and whether it has install scripts, right on the detail page, that would be real information nobody else surfaces.
6
u/alielsokary Jul 29 '26
Thank you so much for the feedback. Great idea and this is definitely worth adding it. I will let you know when it’s live ;)
2
u/grokcodile Jul 30 '26
AppMarket… better name. And captures that element that it is “less formal and less gated” than the Apple App Store.
3
u/alielsokary Jul 30 '26
Thank you, It's already taken. I'm not against a name change in general but I'd still wanted it to be related to brew/casks.
3
1
u/alielsokary 20d ago
Hi, CaskHub 0.7.0 now displays the SHA for each cask :) The pre/post install scripts info for each cask will be a separate feature to be included in the cask detail screen to be implemented later on.
7
u/Express_Fox8952 Jul 29 '26
Nice I will give this a go. I don't always remember brew commands so a homebrew GUI is perfect for me.
→ More replies (1)
3
u/RevolutionaryJob5425 Jul 29 '26
This is going to be very useful. Right away, it found apps that hadn't been uninstalled properly and cleaned them up. Can I suggest an option to remove or hide apps that you don't want to adopt? I see at least one that will cause an issue if I manage to click adopt by accident.
3
u/alielsokary Jul 29 '26
Thank you that's actually a very good observation, It's definitely worth adding it. I will mention you when it's live ;)
1
u/alielsokary 23d ago
Hi, on the new update: 0.7.0 you can now ignore apps from the adopt list :)
2
u/RevolutionaryJob5425 22d ago
That's great! Thank you for taking the suggestion and implementing it. I've found this to be a really useful app across multiple computers. Great work!
3
3
3
u/defaulthtm Jul 29 '26
I downloaded it and am running it. I’m having a screen resolution issue- tried to reported it on GitHub but on a 15” Mac book air it full screens off the screen and can’t be resized or exit full screen https://i.imgur.com/Cpx7jfj.jpeg
2
u/alielsokary Jul 29 '26
Hmmm, yes that doesn't look right. Could you please try to double click on the center top bar or drag the app window at the top of your screen to make the OS auto resize it?
Let me know if it works.
If it didn't then yes this is definitely and issue and you open it and submit as much details as you like if you have the time of course. If you don't have the time let me know. I took notes already.2
u/defaulthtm Jul 29 '26
Did it and it recentered and got weird differently https://i.imgur.com/L13shwh.jpeg
Tahoe 26.5.2 fwiw
→ More replies (1)
2
2
u/Chadiiii Jul 29 '26
kindly how can i install it am new in macos, and i dont have bre installed yet too
1
u/Chadiiii Jul 29 '26
ana bahawel ya ali bas mesh 3aref a3mlha ezay law fahmny please sa3edny
2
u/alielsokary Jul 29 '26
Welcome fellow Egyptian :) (I suppose :D)
Please follow the instructions above and let me know if it works for you.2
u/Chadiiii Jul 29 '26
mmkn netklm 3l discord i wanna have a tech geek friend like zayak :D
→ More replies (1)1
u/alielsokary Jul 29 '26
In app main screen and in settings you should see a hint that homebrew is not installed.
You need to install brew from brew from: https://brew.sh follow the instructions on the website copy paste the one command in terminal and that’s it. This is the only time you are going to need the terminal after that you can manage every app.
→ More replies (1)
2
u/Dry-Concentrate6204 Jul 29 '26
Very cool! One of my challenges is managing the leftovers from uninstalling or updating brew packages, having the UI show where these storage leaks are would be super helpful personally.
1
u/alielsokary Jul 29 '26
Thank you so much for the feedback, Yes absolutely. For now there is only an action on the install button if a cask itself need a cleanup. But rest assured a complete and reliable maintenance feature is coming very soon. Stay tuned.
2
2
2
u/live_kpk Jul 29 '26
Extracting icons directly from app artifacts during build pipelines can get messy. How are you handling app formats that don't package standard .icns files or use non-standard bundle structures?
Other than that, the app looks dope, will definitely check it out :D thanks!
3
Jul 29 '26
[removed] — view removed comment
2
u/live_kpk Jul 29 '26
Thanks so much!
Using AppKit's Bundle(url:).image(forResource:) offscreen to unpack Assets.car without needing an unarchiver CLI is such a clever workaround! If you have time, I have another question I’d like to ask. For apps delivered as raw binaries or pkg installers rather than standard .app bundles, are you mounting DMGs/extracting PKGs in CI to pull those icons, or fallback to something else?Again, I really appreciate the time and effort you took in answering me :)
2
u/alielsokary Jul 29 '26
For
pkgI used another trickpkgutil --expand-fullthis unpacks the payload without executing any install scripts, so you get the .app for ex: Zoom and Microsoft Teams.Raw binaries however are the one case with no fallback extraction because simply a bare CLI binary has no icon resource in it, so nothing to pull. for ex: Claude Code, Codex, Slack CLI.
For those I marked them as a CLI with a simple terminal icon indicating that there is no Icon for that because it's a CLI.
Let me know if you have any questions ;)
2
u/live_kpk Jul 30 '26
Once more, thank you so much for taking the time to answer my questions. Expanding PKGs with pkgutil in CI without executing scripts is super clean. If you don’t mind, I have one last one on my mind which I’d like to ask. How do you handle non-standard DMG/ZIP artifacts where the binary or app bundle lives inside nested subfolders or disk image layouts - does CaskFlow just do a recursive search for .app paths?
Really appreciate you taking the time to break down the tech behind CaskFlow. Excited to see where the project goes!
2
u/alielsokary Jul 30 '26
No problem :)
Actually yes, sometimes the DMGs required a bit of divide and conquer kind of a situation. Finding the candidates is the easy half but picking one is the real challenge.
In a lot of cases complex layouts often contain several .apps (helpers, uninstallers, updater stubs). What I did is to rank every selection and, crucially, recorded as an audit signal. from my trial and error process there were 4 different kind of signals:
- exact - name matches the cask's declared artifact stanza (near-certain) and usually the happy path
- token - normalized name matches the cask token, ex: docker picks Docker.app over Docker Helper.app
- single - only one non-installer app in the whole tree (unambiguous) again happy path
- shallowest - multiple candidates, nothing matched in that case I extract the least-nested one store it and flag it for manual review.
If you checked the history you won't find a magical solution really. Just trial and error, patience and a little scripting power :D
2
2
u/codismycopilot Jul 29 '26 edited Jul 29 '26
I'm definitely going to try this simply because I find GUI ticks a box in my brain that brew doesn't.
Edit: OK, just in like two seconds of using this app, I'm already finding it SO useful! I just traded in my old MBP toward a new studio, so I'm having to re-install all the apps I had on the other machine. This is like a one click shop kind of deal. Very nice!!
1
u/alielsokary Jul 29 '26
Thank you so much! Your feedback made my day! :)
So glad you found it useful already and actually I have this use case into consideration and I'm going to support it really soon where you can import/export your Brewfile in case you are switching machines so that you can install your favorite apps in one go without having to search and install each app separately, stay tuned ;)
2
2
2
u/Jebus-Xmas Jul 29 '26
An option to locate apps already installed and switch to Homebrew versions would also be nice.
2
u/alielsokary Jul 29 '26
Yes that's already supported on the installed tab in Sidebar. For now you can only manage apps (update, adopt, uninstall) only if it's not installed with the Native App Store, every app that has a cask in homebrew and it's not disabled/deprecated should be visible in the installed tab.
You still can see the apps installed from App Store in the installed app as well, but managing it is not supported yet.
2
u/TheMrLeo1 Jul 29 '26
I got the app and I love the adopt app feature, makes migrating apps from regular downloads to homebrew super easy! One thing to note is that I'm seeing some odd visual glitches and the app could benefit from either hardware acceleration option or just optimization as when I try scrolling fast, the fps drops drastically. Otherwise, seems like a good app, definitely keeping it!
1
u/alielsokary Jul 30 '26
Glad you like the app. Noted. Already working on an optimization, expect an update very soon ;)
1
u/alielsokary Aug 03 '26
Hi, I've made an update (0.6.9) to make the rendering & scrolling more smooth. You can check it out when you have the time and let me know what do you think :)
2
2
u/jdmssmkr Jul 30 '26
Looks good, but still needs some love. According to CaskHub I have Docker Desktop installed. I haven't, but OrbStack is installed (same docker related utilities?).
2
u/alielsokary Jul 30 '26 edited Jul 30 '26
Thank you for the feedback, I will look into this and get back to you. Expect and update very soon :)
edit: typo
2
2
u/ko-ol Jul 30 '26
How do this app handle brew update?
1
u/alielsokary Jul 30 '26
There are two options, a normal update and a greedy (for apps that has auto-update enabled) one both in the update section from Sidebar.
2
u/Intelligent_East3337 Jul 30 '26
How does this differ from Cork? Serious question. I use Cork and it seems to work well.
2
u/alielsokary Jul 30 '26
Cork is actually a great choice for managing both formulae and casks. I respect it a lot. The main difference is discoverability, categories, and Icons which are the main focus of CaskHub.
2
u/Intelligent_East3337 Jul 30 '26
Ah gotcha. So with your app, I can go to a category, say video player or something, and choices will show up?
2
u/alielsokary Jul 30 '26 edited Jul 30 '26
Yes exactly! for example: 2 days ago I was looking for a DPI measurement on a gaming mouse, this is not supported on a mac out of the box. So I opened Caskhub and 5 seconds later I found BetterMouse.
2
u/Intelligent_East3337 Jul 30 '26
Okay. I’m convinced. When I get back to the house I’ll check it out. Thanks.
2
2
2
u/LieAshamed2924 Jul 30 '26
ngl this is one of the few Homebrew GUI ideas that actually makes sense to me lol
I still use brew from the terminal for installing stuff, but I basically never “browse” casks because it’s just not a good discovery experience. Recently added apps + icons would probably make me open this just to see what’s new, not necessarily because I need help running brew commands.
Would be cool if you eventually added filters for Apple Silicon/native apps, deprecated casks, or apps with their own auto-updaters too.
1
u/alielsokary Jul 31 '26
I’m happy that you found the app useful :)
This is exactly why I built it. I wanted to find out if there are new apps that could help me with my productivity & work and I wanted the process to be fast.
The other reason is that there are so many many great apps out there that most users never knew anything about unless they were lucky to see one or two in a blog post or here on reddit.
2
u/jakegh Jul 30 '26
This is a good idea, and I appreciate that it’s open source and free, but I just don’t think it needs or benefits from being an app rather than a webpage like https://cask.news.
1
u/alielsokary Jul 31 '26
WOW! Thank you for this. Never knew it existed, I can tell that it was created with care. It looks like it was live since April 2026.
Well I would argue that CaskHub also is a package manager, It was designed for discoverability and installing, adopting and updating existing apps as well.
2
u/sharpvik Jul 30 '26
This is one of those things where I install an app and think (1) why didn't I think of it myself and (2) thank god someone else made it already :)
1
2
u/RedditSylus Jul 31 '26
I want to see what apps I have installed on my Mac from home brew. Can this show me that. If not. Can you add that feature
1
u/alielsokary Jul 31 '26
It's actually supported. If an app installed from App Store, or a DMG and it's already available as a cask in Homebrew you will see it in the installed tab.
2
u/RedditSylus Jul 31 '26
Is this app in AppStore or any plans on making it available on iOS AppStore
→ More replies (1)
2
2
2
2
u/pmullins11 Jul 31 '26
You can tell you spent a lot of time on this. Thanks for sharing! That being said, is there any chance of adding the ability to change font size?
1
u/alielsokary Jul 31 '26
It's not supported right now but i'm interested to know. Which label type is bugging you the most? and do you need it larger/smaller? so I can validate and add it to inbox. would something like small/medium/large option would be good or maybe you are looking into more control of changing the point size itself?
2
2
2
2
u/MonospatialDeveloper Jul 31 '26
I use Homebrew a lot, but I still forget what’s available half the time. Having a native app to browse everything actually seems pretty handy. Does it handle updating installed apps too?
2
2
u/Ok_Explorer7384 Jul 31 '26
this makes sense to me because brew is great when you already know the exact thing you want, but kinda bad for browsing. I’d love to see trust/context next to each app too: official site or not, apple silicon status, last update, uninstall notes, maybe if it asks for weird permissions. that would make it feel more useful than just “app store but for casks”.
2
u/alielsokary Jul 31 '26
Thank you for feedback. definitely all great ideas. I added this to the inbox :)
2
u/luciovpe Jul 31 '26
Looks great! A time ago I looked exactly for this and I didnt like most of the apps that were available. Ill try this one!
2
2
u/MockingMatador Jul 31 '26
This is fantastic! Thank you so much, I have shared with my colleagues.
2
2
2
Aug 01 '26
[removed] — view removed comment
1
u/alielsokary Aug 02 '26
Thank you, glad you like the app :). If an app you downloaded from github and it's in the homebrew catalogue you should be able to see it in installed and you should also be able to adopt it (if you want to manage it with homebrew).
→ More replies (1)
2
2
2
u/Competitive-Lead3035 Aug 01 '26
Using the command line is cool, but not every task is suitable for the command line, and you often need to look up the exact commands and procedures. A graphical interface is simple and straightforward - you can just click and get things done.
1
2
u/lrningprogrammer Aug 01 '26
This looks very useful! Thanks
1
2
u/Visible_Wasabi2591 Aug 01 '26
Thanks for this. I had been using Pearcleaner to manage but it wouldn't adopt because it's passing a command that Brew doesn't support. This found a number of apps that I didn't even realize I could adopt. Great job. I look forward to your implementing some of the suggestions in this thread.
1
u/alielsokary Aug 02 '26
Thank you so much, so glad you found the adopt feature useful :)
BTW I absolutely love Pearcleaner and the dev's work in general. and yes expect an updates with the suggestions very soon ;)
2
u/Icy_Associate2022 Aug 01 '26
It looks, at first glance, like the app is very well done 👍. Say, will it become multilingual in future updates ? Will French, Russian, and Italian be supported?
1
u/alielsokary Aug 02 '26
Thank you, glad you like the app :) Will, it was already in the roadmap but it was deferred because I honestly wasn't expecting this thing to blow up (outside my inner circle of friends and colleague :D).
So I can tell you for sure that the translation is on top of my priorities right now. Expect an update very soon ;)2
u/Icy_Associate2022 Aug 02 '26
I really do appreciate the positive response 🤝. I'm eagerly awaiting your next update.
I'm now going to add your application to my list of favorite Mac apps. Thanks for sharing it. The work is exceptional 👍.
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
u/little_cup Aug 05 '26
Looks great! Is it possible to add Spotlight/Alfred/Raycast support?
1
u/alielsokary 29d ago
This is actually a neat idea :), I think it would be a great addition. What kind of actions do you think would be productive to add to any of the mentioned launchers?
→ More replies (2)
2
2
2
2
2
u/OsmaniaUniversity 26d ago
Saw this work being featured on Mostly Mac: https://www.youtube.com/watch?v=oy49gvlC4eE
→ More replies (1)
2
u/jasongw 25d ago
Nice, this looks super useful! Gotta love third party app stores!
→ More replies (1)
2
u/KaleidoscopeStill123 23d ago
How do I install it on my Mac
2
u/alielsokary 23d ago
You can head to the repo link written in the post, scroll until you can see “Download for mac” button. the latest version will be downloaded. You can double click on the zip file downloaded and move the app into Applications folder. That it.
2
2
u/Ed15on 23d ago
Great job! That's really helpful. btw, can I setup http/https proxy in this application? because sometime I have to use the proxy to install apps by brew.
2
u/alielsokary 23d ago
hmm, I didn't think of this. legit scenario. I will add it to the inbox to work on it.
2
2
2
2
u/armynante 8d ago
This is super cool, but I could see this as a danger to myself. Ha ha. It would be like a candy store for installing massive binaries on my machine. It would be way too fun to install esoteric programming languages and scientific OCR libraries that I have no business poking around at.
→ More replies (1)
2
u/eliostruyf 7d ago
Nice! I'll give it a try, as it makes discovering apps much easier.
→ More replies (1)
2
u/SEImport 7d ago
Oh wow that’s awesome - has this never been created before?
2
u/alielsokary 7d ago
There are several alternatives. The closest 2 are Applite and Taphouse. I wrote in the post about the difference between the two compared to CaskHub.
2
u/killermike523 6d ago
I cannot believe this didn't exist already! Makes so much sense. Thank you!
→ More replies (1)
2
u/CandidAd7569 6d ago
Este é, definitivamente, o melhor App do ano. Basicamente até hoje não existia nada tão amigável ao usuário quanto isto. Cheguei aqui graças ao algoritmo do Youtube, que me recomentou o video do Canal do Mostly Mac. Atualmente é o video com maior visualização do Canal dele. Sabe o que isso significa? Que você realmente fez um bom trabalho. O video viralizou. 👏🏼 Um grande abraço do Brasil. 🙏🏼
→ More replies (1)
2
u/bs_ramin 5d ago
Convenient and well-made at first glance, congratulations.
I just find it very "alien" on my Mac: the fonts and colors (especially the light one) are very different from my MacOS, and this bothers me a bit: why not give the user freedom?
→ More replies (3)
2
u/categorie 4d ago edited 4d ago
Looks neat. I would appreciate the app to conform to the classic macOS light/dark colors and maybe offer solarized as an option ?
EDIT: Noticed that the app doesn't show obsolete casks even if installed. (In my case, Affinity Photo 2).
→ More replies (1)
2
u/jcomey 3d ago
I downloaded CaskHub and, so far, rather like it. However, I have one problem (which greatly pains me to write):
The font size is bordering on too small. Is there a way to increase it?
→ More replies (6)
3
3
u/awizemann Jul 29 '26
Great-looking app. Just curious, as I currently use brew-browser for this. BB reports 28 updates available, and yours reports Zero. (update - the updates are for formulas and not apps)
4
u/alielsokary Jul 29 '26
Thank you. Glad You liked the app :)
That’s the intended behavior. The option to enable greedy updates (Show app updates even if they have a built-in auto update enabled) is available at the top of the updates screen. It’s a checkbox and it’s off by default, you can Enable/Disable it anytime.
2
u/__Loot__ Jul 29 '26
Great looking ui and features going to give it a go thanks 😊
2
u/alielsokary Jul 29 '26
Thank you! Yes I would love if you give it a shot and tell me what do you think of it.
2
u/Koko-Choco Jul 29 '26
The discovery gap is real - brew search only works if you already know the name, so new casks basically don't exist for the first months unless they get lucky on a blog post. Recently Added is the right wedge.
To answer your question: what would make the GUI worth it for me over the CLI is update legibility. Before I hit upgrade, I want to see what changed - release notes or at least the version diff inline, per cask. Today answering "what am I about to get?" is a browser trip per app, and that's the part I'd happily never do again. Greedy vs auto-updating apps as a per-app toggle (which it sounds like you have) is the other half.
Also respect for extracting real icons from the artifacts instead of placeholders - that's the kind of unglamorous pipeline work nobody notices until it's missing.
3
u/alielsokary Jul 29 '26 edited Jul 29 '26
Thank you so much for your feedback.
I can tell you for sure that the recently added was the main reason I started CaskHub.
During the past few months I already found a couple of apps that I really really like from recently added that it would have taken me way longer to find out about them without CaskHub :)
I can share some examples perhaps in a separate post if you guys would like that.
For the update release notes for apps: While this feature is not currently supported in CaskHub, I can really see how useful it is. I’m going to add this to the inbox and see if it can be implemented in a good clean way. I’ll let you know :)
2
u/Koko-Choco Jul 30 '26
Recently Added already earning its keep — would definitely read that examples post. And glad update legibility made the inbox. Even a minimal version (version delta + link out to the release page) would cover most of it; inline notes can come later. Nice work shipping this.
2
1
u/delreyloveXO Aug 01 '26
A vibe coded app that runs commands and manages my brew installs? sure, what possibly can go wrong.
1
u/alielsokary Aug 02 '26
Honestly, I understand your concern completely. The thing is this app is built on top of brew that is already installed on your machine, So commands like
install, uninstall, updateare the same commands for brew. So technically the app could still work as a discoverability hub without running a single command on your machine. So does that means that there is nothing ever could go wrong with installation, etc? Absolutely not! Software breaks, like every app on your Phone/PC.That's why the project has a high standards, rules, unit-tests coverage target, and strict analysis checks running on every pull requests. Not to completely 100% prevent bugs. (that's not possible, systems change) But in order to have a clean code and a stable project that is easy for maintainers to adjust and fix.
1
1
1


32
u/Kicks_2023 Jul 29 '26
You should switch the analytics and crash reports to opt-in, or at least on first run allow the user to select to opt-in/out for them.