Keep your Mac up to date,
without opening the terminal.
A menu bar utility that brings your Homebrew, npm, RubyGems and macOS updates together, then clears out the leftovers.
A summary
that doesn't lie.
Success or failure, real measured duration, an expandable and selectable log. The post-install check compares the installed version against the target, and exposes the fake npm successes the terminal lets slip by in silence.
- Real progress, X / N, no fake percentage
- Live shell output, package by package
- Likely cause identified on failure
What it actually does.
Not yet another GUI for Homebrew. The things it really does, that the command line never shows you.
Ghost cask detection
An app removed from disk without a clean uninstall leaves a reference in Homebrew. UpKeepy lists them and offers, for each one, to reinstall or clean it up.
Four managers, one view
Homebrew, global npm, RubyGems and macOS updates in the same popover. Apple's system Ruby is filtered out so you never touch it.
Diagnosis after failure
An npm update reports a fake success? UpKeepy compares installed against target, identifies the likely cause and suggests a command to try.
Periodic checks
Adjustable cadence from 30 minutes to 24 hours. A system notification only when something new shows up between two checks.
Measured progress
No fake percentage. An X / N bar for a bulk update, live shell output, timed duration at the end.
Per-package uninstall
A remove button on every row, with confirmation. Enough to clean up an unused package without reaching for the terminal.
The code is open.
Everything the app runs is readable before you install it: Swift code, brew and npm parsers, scheduler, ghost detection.
Read the code on GitHubBefore you go further.
Is it free?
V1 is free and the code is open on GitHub. A possible Pro version (demo mode, multi-Mac sync, update history, custom rules) may come later, but the core will stay usable without paying.
Why not the Mac App Store?
The Mac App Store sandbox forbids running tools like brew, npm or softwareupdate. UpKeepy is distributed directly, signed with an Apple Developer ID and notarized.
What is a ghost cask?
An app installed through Homebrew (a «cask») that you removed by hand, dragging it to the trash. Homebrew still thinks it is installed. UpKeepy detects these mismatches and offers to reinstall the app or remove the orphan reference.
Which managers are supported?
Homebrew (formulae and apps), global npm, RubyGems (user only, not the macOS system Ruby), and macOS updates via softwareupdate.
Does it replace Homebrew?
No. UpKeepy calls Homebrew under the hood, just as you would in the terminal. Updates apply in exactly the same way.
Which macOS version is required?
macOS 14 Sonoma or later. The app uses the SwiftUI MenuBarExtra and UserNotifications APIs introduced with that version.
Want a heads-up at launch?
Your email, the download link on launch day. Nothing else.