AI agent usage at a glance.
A quiet, always-available macOS widget for monitoring Claude Code and Codex usage without leaving your workflow.
QuotaGlass lives in the macOS menu bar and keeps the usage limits that matter close at hand. Its provider-neutral foundation presents Claude Code and Codex through one consistent interface, with room for more agents over time.
- Switch between Claude Code and Codex from the widget or a global shortcut.
- Move between super compact, compact, and detailed views.
- See live quota windows, reset times, and last-known-good data.
- Inspect local activity, sessions, tool calls, and model output in the detailed view.
- Keep it out of the way with no Dock icon or Cmd+Tab entry.
- Snap the widget to any display corner and restore its position on launch.
Shortcuts remain available across macOS while QuotaGlass is running and are unregistered when the app quits.
| Action | Shortcut |
|---|---|
| Switch provider | Control+Option+P (⌃⌥P) |
| Cycle view | Control+Option+V (⌃⌥V) |
| Show or hide QuotaGlass | Command+Shift+U (⇧⌘U) |
The provider name and view controls in the widget remain clickable too.
QuotaGlass talks directly to the tools already authenticated on your Mac.
- Reads Claude Code's local stats cache and session JSONL files.
- Fetches quota windows from Anthropic's OAuth usage endpoint using the Claude Code credential stored in macOS Keychain.
- Maintains one local
codex app-serverprocess and calls its stableaccount/rateLimits/readandaccount/usage/readmethods. - Reads local Codex session JSONL files for metadata-only details such as prompt, session, tool, and output-token counts.
- Never reads or stores prompt text, response text, or Codex authentication files.
Both providers retain last-known-good quota data so a transient account or network error does not immediately blank the widget.
- macOS 13 or newer
- Claude Code and/or Codex authenticated locally
- Node.js 24.18.0 (pinned in
.nvmrc), Corepack, and the Rust toolchain
Install dependencies and start the Tauri development app:
corepack enable
pnpm install
pnpm tauri devRun the frontend build and Rust tests:
pnpm build
cargo test --manifest-path src-tauri/Cargo.tomlBuild, install, and relaunch the app at ~/Applications/QuotaGlass.app:
pnpm shipTo build the macOS app bundle without installing it:
pnpm tauri build --bundles appsrc/— provider-neutral React UI and persisted provider/view statesrc-tauri/src/providers/— provider integrations and shared response typessrc-tauri/src/codex_rpc.rs— persistent Codex app-server JSON-RPC clientsrc-tauri/src/lib.rs— Tauri commands, shortcuts, tray, placement, filesystem watchers, and login itemassets/brand/— approved QuotaGlass app and menu-bar brand assetsscripts/deploy.sh— one-step build, install, and relaunch
Issues and pull requests are welcome. Please keep provider-specific behavior behind the normalized provider boundary and preserve the lightweight, glanceable character of the widget.
