
Free macOS menu bar app
UsageBar
Your AI usage and limits, live in the macOS menu bar
See Claude, Cursor, and ChatGPT usage at a glance from the menu bar — without opening another dashboard.
v0.3.9 · 26.5 MB · macOS · Apple silicon · free for personal and public use
What it does
AI usage at a glance
- Menu bar glanceable usage
- Stay aware without opening dashboards
- Free for personal and public use
Install
Get UsageBar running in under a minute
Terminal install · UsageBar
After downloading the zip
Ad-hoc signed apps are not Apple-notarized. Paste these commands if Gatekeeper blocks launch — same flow across all tools.
1. Unzip into Applications
unzip -o "$HOME/Downloads/UsageBar-0.3.9-macos-arm64.zip" -d /Applications/2. Remove Gatekeeper quarantine (if macOS blocks launch)
xattr -dr com.apple.quarantine "/Applications/UsageBar.app"3. Open UsageBar
open -a "UsageBar"
Version history
UsageBar release notes
Every published version, newest first.
v0.3.9
Current9 Oct 2026Fixed
- Update notice never seen — When the background check finds a new version, the “Update available” dialog (Install & restart… / Not now) now opens by itself, in front of other windows, once per version. Until now it only posted a notification, which macOS never showed.
- Notifications never shown — Notifications go through Apple's current API (UNUserNotificationCenter). rumps used the deprecated NSUserNotificationCenter, whose notifications current macOS drops without an error. macOS only shows them for Developer ID signed apps; this ad-hoc build logs the reason to its error log instead.
- Update check failed without Homebrew — Update checks and downloads work on Macs without Homebrew: the bundled OpenSSL only looked for certificates in Homebrew's folder. macOS's own `/etc/ssl/cert.pem` is now trusted as well.
v0.3.8
9 Oct 2026Changed
- Python 3.14 — the app now bundles Python 3.14.8 (was 3.13.7).
- Current dependencies — `curl_cffi` 0.16.3, `requests` 2.34.2, `urllib3` 2.8.0, `certifi` 2026.7.22, PyObjC 12.2.2, `python-dotenv` 1.2.4, `pycryptodomex` 3.24.0, PyInstaller 6.22.3.
- Quieter build — dropped leftover hidden imports (`Crypto`, `keyring`, `secretstorage`, `jeepney`) from `ai_usage.spec`, so the build no longer logs `Hidden import … not found`. browser-cookie3 uses `Cryptodome`, which is still bundled.
v0.3.7
16 Sep 2026Changed
- Auto update check every 6 hours (was 12). A failed check — offline right after login, server error — is retried up to 3 times, 10 minutes apart, instead of waiting for the next interval.
- Python 3.10+ for source installs — `install.sh` skips Apple's bundled Python 3.9 and rebuilds a virtualenv that was created with it; the bundled .app is unaffected.
Fixed
- Auto update check ran at launch, twice — rumps timers fire as soon as they start, so the “first check about a minute after launch” happened immediately (often before Wi-Fi was up) and the periodic timer fired once more right behind it. The first check now really waits a minute.
v0.3.6
12 Sep 2026Added
- Auto update check — every 12 hours (first check about a minute after launch). A purple dot on the menu-bar icon plus a notification when a new version is ready; Check for Updates… becomes “Update x.y.z available…”.
v0.3.5
12 Sep 2026Fixed
- Quit after login — Launch at login used `KeepAlive`, so the next login would make Quit reopen UsageBar. Match RunBar: `KeepAlive` off, unload the login item on Quit (plist stays for the next login).
v0.3.4
9 Sep 2026Added
- Pin several metrics — click more than one row to keep them on the menu bar at once (click again to unpin; at least one stays). Example: Claude weekly + Cursor plan total shows `ClW 42% · Cu 67%`. Tags: ClS / ClW / ClSn / ClO / ClF, Cu / CuA / CuAPI / CuCr / CuOD, G5h / GW. Each percentage keeps its own green / yellow / red tint; the gauge follows the highest.
v0.3.3
9 Sep 2026Added
- Claude Fable — Weekly (Fable) usage from the `limits[]` payload (Max per-model windows)
Changed
- Claude org id — resolve from `lastActiveOrg` / `/api/organizations` instead of a hard-coded uuid (403 after Max upgrade)
- Claude Auto-Import — skip browsers that have cookies but no `sessionKey`
v0.3.2
27 Aug 2026Changed
- Menu chrome — Settings… (providers + Launch at login), Check for Updates…, Version, then Quit. Refresh now is now Refresh.
Fixed
- Duplicate menu bar icon after update — after `open` of the new app, do not reload the LaunchAgent. KeepAlive would start a second copy. The plist stays on disk, so Launch at login is unchanged at the next login.
v0.3.0
22 Aug 2026Added
- Cursor credits and on-demand — remaining credit grants (plus Stripe prepaid) and on-demand spend/limit from the dashboard APIs
Changed
- Claude free plan — a 404 from the usage API shows “Free · limits not available on free plan” instead of an error code
Fixed
- ChatGPT weekly — classify 5-hour vs weekly by window length so a weekly-only `primary_window` is not left as `?`
v0.2.15
14 Aug 2026Fixed
- Self-update with launch at login — start the installer script before parking the KeepAlive LaunchAgent, then relaunch with `open`
- Unpack the free-tools zip with `ditto` and skip `__MACOSX/*.app` stubs
v0.2.14
13 Aug 2026Fixed
- Relaunch after update — open the new `.app` with LaunchServices instead of treating LaunchAgent bootstrap as a successful start
v0.2.13
13 Aug 2026Fixed
- Update progress window — briefly become a regular app so the percent panel stays visible on a menu-bar-only process
- Double reopen after update — park the LaunchAgent before replacing the app so KeepAlive plus `open -n` cannot start both the old and new copies
v0.2.12
13 Aug 2026Changed
- `install.sh` picks the newest Python 3 from Homebrew or Xcode / CLT (no longer hard-coded to 3.12)
v0.2.11
9 Aug 2026Fixed
- Check for Updates zlib Error -3 — fetch manifest/zip via stdlib urllib instead of requests/urllib3 so a CDN that wrongly sets `Content-Encoding: gzip` no longer breaks the update check
v0.2.10
18 Jul 2026Changed
- Patch release for ENTELXCORE Free Tools
v0.2.9
18 Jul 2026Changed
- Menu bar icon is now `gauge.with.needle` (Bars family; matches website UsageBar mark)
- Badge styling aligned with CommitBar / RunBar (size, weight, tint)
- App bundle renamed to `UsageBar.app`; logo aligned with ENTELXCORE free-tools product mark
Fixed
- `release.sh` always rebuilds before zipping so the published version matches the binary (fixes endless “update available”)
v0.2.8
18 Jul 2026Added
- ChatGPT provider — 5-hour and weekly usage via chatgpt.com session cookie
Changed
- Release artifact is now `UsageBar-{version}-macos-arm64.zip` (same install flow as CommitBar / RunBar)
- In-app update check uses `https://entelxcore.com/downloads/usagebar/release-macos.json`
- “Open download page” opens `https://entelxcore.com/free-tools#tools`
- Self-update installs from zip; older DMG manifests still apply until they roll off
v0.2.7
18 Jul 2026Added
- Production packaging: `build.sh`, `release.sh`, `install_app.sh`, `run.sh`
- Dev app wrapper with custom icon (`scripts/make_dev_app.sh`)
- Launch at login via `launch_login.py` (dev + installed `.app`)
- `pyproject.toml`, pinned build requirements, CI workflow
- MIT license and changelog
Changed
- `build_dmg.sh` delegates to `build.sh` + `release.sh`
- Version in `ai_usage.spec` synced from `ai_usage.version`
- `release.sh` publishes DMG to `ai-usage-website` and ENTELXCORE free-tools




