Repository navigation
Releases
Releases · Kevinjohn/claude-usage-swift
v2.6.5
Changes
- Rename "Open Dashboard" to "Open platform.claude.com"
- Rename "Copy Usage" to "Copy usage to clipboard"
- Move actions section below Launch at Login
- Add app info section (repo, version, last update check) above Quit
- Add separators for cleaner menu grouping
v2.6.4
v2.6.3
v2.4.0
Timer tolerance for better battery efficiency
- Sleep/wake awareness: Stops all timers during system sleep and display sleep, ensuring zero CPU/network activity when the user is away. On wake, timers restart and an immediate refresh fetches fresh data.
- Timer tolerance: Both timers set a tolerance (10s for display, 10% of interval for API refresh, minimum 10s) so macOS can coalesce wake-ups with other system activity, reducing battery impact.
- Cleanup: Removes notification observers on app termination.
PR: #1
v2.3.1 — Reset notifications on by default
Patch to v2.3.0 — reset notifications now default to on so you get notified out of the box when any usage category resets to 0%. Still toggleable via Notifications > Reset to 0% in the dropdown menu.
Changed
- Reset notifications default to on (was off in v2.3.0)
Full Changelog: v2.3.0...v2.3.1
v2.3.0 — Reset to 0% Notification
What's New
Reset notifications — Get a macOS push notification the moment any usage category resets to 0%. No more guessing when your limits have refreshed.
Added
- "Reset to 0%" notification — fires when any category (5-hour, Weekly, Sonnet, Extra) drops from >0% to 0%
- "Notifications" submenu with toggle for reset alerts (on by default, toggleable via menu)
- Re-enabled
UserNotificationsframework
How it works
The app compares each category's current percentage against the previously seen value on every refresh. When previous was >0 and current is 0, a reset occurred and a notification is sent (if enabled).
Note: See v2.3.1 for the latest patch — reset notifications now default to on.
Full Changelog: v2.2.7...v2.3.0
v2.0.0
What's New in v2.0.0
Major enhancements to ClaudeUsage:
- Structured error handling —
UsageErrorenum with specific menu bar indicators (key?,net?,auth?,http?,json?) - Async keychain access — background queue via
withCheckedThrowingContinuationto avoid blocking the main thread - Ephemeral URLSession — prevents disk caching of API responses
- Usage rate tracking — snapshots with %/hr rate and estimated time to limit
- Threshold alerts — UserNotifications at 80% and 90% usage
- Centralized DisplayThresholds — single configuration for all percentage-based thresholds
- Stale data indicator — appends "(stale)" when last fetch exceeds 2× refresh interval
- Test Display submenu — preview color thresholds at 10/40/75/85/95%
- Copy Usage — copy all usage stats to clipboard
- Open Dashboard — quick link to Anthropic usage console
- Launch at Login — via SMAppService (macOS 13+)
- Configurable refresh intervals — 1, 5, 15, 30, or 60 minutes
- Nullable API field handling — graceful handling of optional fields in API responses