Repository navigation
Releases
v0.5.0
Changes
- Show a ticket icon and exclamation mark beside Codex usage when a banked reset expires in less than seven days.
- Show the nearest reset expiry countdown beside each affected account, including paused accounts.
- Keep countdowns current without the TimelineView wrapper that caused a blank menu-bar label.
- Preserve per-account quota thresholds, duplicate-main handling, and existing widget snapshot compatibility.
- Log reset lookup failures while keeping quota data available. Reset credits are never redeemed by the app.
Verification
54 unit tests pass. Universal macOS app includes the Notification Center widget. Developer ID signed, notarized, and stapled.
v0.4.4
Changes
- Codex pool totals and account dropdowns now respect per-account auto-switch thresholds.
- ProLite accounts with a 50% threshold show 12.5% total Pro-equivalent allowance; remaining allowance subtracts weekly usage before conversion.
- Compatible with public OpenCodex: missing or invalid account overrides inherit the global setting, and unavailable settings retain full allowance. A zero threshold means switching is disabled.
- Preserves paused-account exclusions and duplicate-main handling across the tray and widget.
Verification
49 tests pass. Independent Fable and Astra reviews completed without actionable findings. Universal macOS app includes the Notification Center widget; release is Developer ID signed, notarized, and stapled.
v0.4.3
Paused Codex accounts are now excluded from tray and widget pool totals. Detail rows remain visible with strikethrough and a (paused) suffix. Missing quotas on paused accounts no longer make the active total unknown.
Duplicate-main suppression remains intact even when main and its named pool entry have different pause flags. The named pool entry controls display and quota contribution. Existing widget snapshots remain compatible.
Universal macOS app for Apple silicon and Intel, requiring macOS 14 or later. Version 0.4.3, build 10.
Signed with Developer ID, notarized by Apple, and validated by Gatekeeper. Built from merged main commit 74f458e9b28bf401a45feb40abeb2ce23efec8ce (PR #7).
Validation: 44 core tests, 23 widget tests, build-script and release-artifact checks; Fable medium and Astra max reviews plus fresh findings verification.
SHA-256 (OpenCodexTray-v0.4.3.zip):
cceae98ace7b5453dfbd019012c6dccfaac8f253fce1c83fad14d7f83a89fed6
v0.4.2
Fixes intermittent duplicate main accounts caused by the overly strict matching rule in v0.4.1.
OpenCodex can report the same weekly reset one second apart through streaming headers and usage API snapshots. Deduplication now allows up to two seconds of drift while still requiring matching email and plan. The pool entry and its quota remain authoritative; missing metadata and larger reset differences preserve main.
Regression coverage includes drift in both directions, fractional timestamps, account order, and distinct reset windows.
Universal macOS app for Apple silicon and Intel, requiring macOS 14 or later. Version 0.4.2, build 9.
Signed with Developer ID, notarized by Apple, and validated by Gatekeeper. Built from merged main commit b86197291f5ca99abd8cf4bdf7cd0f291e852ba3.
SHA-256 (OpenCodexTray-v0.4.2.zip):
024725d343b81a7b18d50d7f01e92b6b9d33f6be123860401872faa78d35c437
v0.4.1
Fixes double-counted Codex allowance when the main login is also present as a pool account.
- Keeps the pool entry and its quota; removes the matching
mainrow from the menu and Notification Center widget. - Corrects the combined pool total. The reproduced 254% total now becomes 174%.
- Preserves account order and retains
mainwhen matching metadata is incomplete.
Matching uses normalized email, plan, and weekly reset timestamp. A refresh spanning the weekly reset can temporarily retain main until both copies report the new reset.
Universal macOS app for Apple silicon and Intel, requiring macOS 14 or later. Version 0.4.1, build 7.
Signed with Developer ID, notarized by Apple, and validated by Gatekeeper. Built from merged main commit f431a1a99d9326438d3d47f8667e1e199f863c16.
SHA-256 (OpenCodexTray-v0.4.1.zip):
8b322ceba23809e5d3fae8c3f01fa39a682cbc6a472ee9bb4c0419121bd55f02
OpenCodexTray v0.4.0
Removes account pausing completely, including mutation, configuration, CLI, and worker paths. Tray app and Notification Center widget now provide strictly read-only quota monitoring with independent provider refresh.
OpenCodexTray v0.3.0
OpenCodexTray now includes a native macOS Notification Center quota widget.
- Add small and medium WidgetKit views for Codex and Claude quota
- Refresh quota every 30 minutes with cached stale-data fallback
- Share validated read-only connection settings through signed App Group storage
- Add provider-specific VoiceOver labels and adaptive light/dark presentation
- Center medium widget content and remove per-second relative-date rendering
- Preserve existing tray polling and account-pause behavior
- App version updated to 0.3.0 (build 4)
Signed with Developer ID and notarized by Apple.
SHA-256: 5d91f249d28c7948d35fe28a2ea64e9b05e08f189ca95ef30b3f975d34d3dae0
OpenCodexTray v0.2.1
Anthropic quota display now shows remaining 5-hour and 1-week allowance.
- Tray and dropdown convert
3%/12% usedto97%/88% remaining - Per-account rows preserve missing quota windows independently
- Multi-account pools sum remaining allowance for each window separately
- App version updated to
0.2.1(build3) - Fable remains omitted because current OpenCodex account-quota responses do not expose its weekly window
Package API note: Claude summary output names now explicitly use remaining semantics (ClaudeAccountAllowance, fiveHourRemainingPercentage, and weeklyRemainingPercentage).
Signed with Developer ID and notarized by Apple.
SHA-256: f2203230a1eab382e9ce5f8e66caf228eea3ee4219ca8f61b1c201bc5a8ac660
OpenCodexTray v0.2.0
Anthropic quota display now shows raw 5-hour and 1-week utilization in
5h/1w order.
- Tray and dropdown render values such as
50%/20% - Per-account rows preserve each quota window independently
- Multi-account pool totals aggregate 5-hour and weekly usage separately
- Missing windows display
—without hiding the available window - App version updated to
0.2.0(build2)
Compatibility: PauseWorkerCore Claude summary APIs now return
ClaudeQuotaSummary instead of weekly-remaining QuotaSummary data.
This is an intentional source-breaking change for package consumers.
Signed with Developer ID and notarized by Apple.
SHA-256: c39144ef82534e32e6b93094c8bfaac1061c5960bf6c265efe8a76f15da92502
OpenCodexTray v0.1.0
First public release of OpenCodexTray.
- macOS 14 or later
- Menu-bar OpenCodex and Claude quota overview
- Automatic low-quota pause handling
- Launch at login
- Signed with Developer ID and notarized by Apple
SHA-256: 4e33550eeede910418d399c85a3710d1b09d53dfe9efe7f75ec6113ec1c1374b