Releases: ksterx/MenubarCC
Release list
MenubarCC v2.1.1
Fixed
- Suppress sounds and banner notifications for hidden helper sessions (e.g. claude-mem's background "observer" sessions under
~/.claude-mem). These are not the user's own work and were surfacing as confusing "observer-sessions" banners. The menu bar session list and waiting animation are unaffected.
MenubarCC v2.1.0
Separate sound & banner controls, banners for every event 🦀
New
- Banners for all events — Clawd now posts a native macOS banner when Claude finishes a response, asks for permission, or sends a notification (previously only stuck sessions did). Each banner is headlined with the session's project name, and notifications group per project in Notification Center.
- Independent Sounds / Banners toggles — mute sounds and banners separately from the menu.
- Discoverable notification permission — the Banners switch reflects the effective state (app setting AND OS permission). If macOS permission is missing, the switch reads OFF and a warning row guides you to the system prompt or the right System Settings page. No more silently-broken banners.
Fixed
- The menu toggle now shows its accent color correctly (it rendered gray on macOS 26).
- Removed the laggy On/Muted subtitle from the toggle row.
Notes
- The bundled Claude Code hook is updated automatically at launch — no reinstall needed.
- Upgrading from v2.0.0: just replace the app; settings carry over.
🤖 Generated with Claude Code
MenubarCC v2.0.0
Clawd is back on macOS 26 🦀
MenubarCC v2.0.0 is a complete rewrite in Swift/AppKit. If Clawd vanished from your menu bar after updating to macOS 26 (Tahoe), this release brings him back.
What happened
macOS 26's Liquid Glass menu bar stopped rendering status items created by the previous Python-based app — the process kept running (notifications still worked), but the icon was positioned off-screen. On top of that, macOS caches the broken position per bundle ID, so no fix within the old app could recover it.
What's new
- Native Swift/AppKit app — same features, same look, no Python runtime
- ~150 KB download (previously tens of MB)
- New bundle ID (
com.ksterx.clawd) to escape the poisoned status-item cache - Notifications now use the modern UserNotifications framework
All your settings carry over — the app reads the same configuration and hook setup as v1.x, so there's nothing to reconfigure.
Install
Download the DMG, drag MenubarCC to Applications, and launch. If you're upgrading from v1.x, quit the old app first.
🤖 Generated with Claude Code
MenubarCC v1.6.4
Patch -- fix in-app update crash (#1).
Fixed
- Confirming "Download & Apply" no longer dies with "'ascii' codec can't encode character ...". A stray em dash in the helper shell script combined with ASCII-only locale in the frozen build broke Path.write_text(). The script is now pure ASCII, and write_text() is given an explicit utf-8 encoding so any future non-ASCII does not regress.
Drop-in upgrade from v1.6.3. Settings preserved.
Signed with Developer ID and notarized by Apple.
MenubarCC v1.6.3
Patch — WAITING bounce now has gravity.
Changed
- The waiting-for-input bounce was a symmetric sin curve, which read as a heartbeat. It's now an asymmetric arc: fast takeoff, brief hang at the apex, then an ease-in descent so the crab is yanked into the ground. No pause on the floor — it bounces continuously like a ball
Drop-in upgrade from v1.6.2. No setting changes.
Signed with Developer ID and notarized by Apple.
MenubarCC v1.6.2
Patch — custom sound files now travel with the app.
Changed
- Choose Stop sound… / Choose Notification sound… / Choose Permission Request sound… now copy the picked file into
~/Library/Application Support/com.ksterx.MenubarCC/sounds/<event>.<ext>. Previously they only stored the absolute path, so moving or renaming the original silently broke the custom sound. Picking a new sound replaces the previous copy - Reset All Custom Sounds also drops the copied files, so the storage stays tidy
Drop-in upgrade from v1.6.1. Existing settings are preserved; the copies are created the next time you pick a sound.
Signed with Developer ID and notarized by Apple.
MenubarCC v1.6.1
Patch — strip the "Today" footer from the menu.
Changed
- The
Today N sessions · N tool callsline at the bottom of the menu is gone. Computing the tool-call count meant scanning every file under~/.claude/projectson every refresh; that's gone too - Same notarized release pipeline as v1.6.0
Drop-in upgrade from v1.6.0.
Signed with Developer ID and notarized by Apple.
MenubarCC v1.6.0
Configurable stuck detection
- Quieter stuck signal — a stuck session no longer shows a count or ⚠ badge in the menu bar. It's now indicated only by the pulsing crab animation; the title stays empty in every state.
- Adjustable threshold — new Advanced Settings → Stuck Detection submenu lets you pick when a busy session counts as stuck: 5 / 10 / 15 / 30 / 60 minutes (was hard-coded to 10).
- Turn it off — toggle stuck detection off entirely; pulsing, notifications and the STUCK menu section all go quiet.
Settings persist in settings.json (stuckEnabled, stuckSecs).
Existing users can update in place via Check for Updates….
MenubarCC v1.5.0
In-app updates
Check for Updates now downloads the new release and applies it automatically — no more opening the release page, downloading the DMG, and dragging it into Applications. The app downloads, swaps itself, and relaunches on its own.
Fixes
- Update check no longer fails with "Could not reach GitHub" — it was hitting the GitHub API rate limit (60 req/hr per IP). It now uses a rate-limit-free endpoint.
- Fixed a version-comparison bug that could always report an update was available.
- Bundle
libexpatso the app launches reliably.
MenubarCC v1.4.0
First-run onboarding, smarter animation priority, and login-item support.
What's new
- First-run install prompt — on the very first launch, if the Claude Code hook isn't installed yet, a one-shot Welcome dialog asks once whether to install it. The flag is recorded before the dialog opens so a force-quit can't trap you in an infinite prompt loop. You can always install/uninstall later from Advanced Settings
- WAITING is now the top animation priority. When Claude is waiting for your input, the menu bar crab bounces — even if other sessions are still busy. STUCK keeps its
⚠ Ntitle badge so the warning stays visible during the bounce - Launch at Login. New toggle under Advanced Settings, backed by
SMAppService(the modern macOS 13+ login-item API). One click adds MenubarCC to your login items
Upgrading
Drag-drop the new app over the previous one in /Applications. Hook installation, sound settings, and the install-prompt state are preserved.
Signed with Developer ID and notarized by Apple.