Codexex.
Codex quota in the menu bar.
Codexex keeps current Codex quota state in the menu bar: 5-hour and weekly windows, reset timing, 30-day history, and weekly pace forecast, with Preview Mode when you want local sample data instead.
Capabilities
Quick checks first. Useful depth when you open it.
The menu bar stays small, but the popup keeps the numbers that matter once you need more than a single percentage.
5H and weekly windows
See short and long quota windows together without reopening a browser tab or reconstructing usage from memory.
Reset timing
Know when the current windows roll over, so the menu bar tells you both usage and time pressure.
30-day history
Keep recent usage locally and open the history view when you want more than the current snapshot.
Weekly pace forecast
See projected weekly usage by reset, plus confidence hints when the current cycle is too noisy to trust.
ChatGPT device-code sign-in
Sign in through the supported device-code flow in Safari instead of relying on browser scraping or unsupported shortcuts.
Preview Mode
Local sample data keeps onboarding, App Review, and offline testing useful even when you do not want live account calls.
Privacy
Menu bar outside. Local state inside.
History, preview data, and window preferences stay on your Mac. Network calls are limited to ChatGPT sign-in, quota reads, and the platform services needed to ship the app.
Local
History store
Safari
Device-code sign-in
Preview
Built-in sample mode
Architecture
SwiftUI and AppKit outside. Rust helper behind XPC.
The menu bar UI is native macOS. Local history analytics stay on device. A bundled Rust helper handles device-code auth and quota reads through an XPC bridge.
Swift
macOS shell
SwiftUI and AppKit drive the status item, compact popup, onboarding flow, and settings window that keep the app fast to check.
Local history
Quota memory
Recent usage, preview data, and popup preferences stay local so the app remains useful even when you are not reloading remote numbers.
XPC bridge
Helper boundary
The app talks to a bundled helper through XPC so auth and quota reads stay outside the UI process.
Rust helper
Auth and quota reads
The bundled Rust helper handles ChatGPT device-code auth and quota fetches, then returns structured snapshot data to the app.