Know where every token goes.
QuotaLens tracks

A macOS menu-bar gauge for Claude and Codex quotas. Official limits, local history, no noisy dashboard.

Install

Up and running in one command

Pick Homebrew, build from source, or a drag-to-install DMG — all three install the same local-first menu-bar app.

The fastest path. Tap and install the cask.

$brew tap mangiapanejohn-dev/tap brew install --cask quotalens

macOS 13 or newer. The DMG downloads the signed QuotaLens.dmg; building from source skips notarization entirely.

0
QuotaLens
C

Max 5x

Official

5h0%
7d0%
X

Codex

Local · no network

5h0%
7d0%
Timeline · last 24h
Updated just now

Menu-bar quota at a glance

The tiny ring shows the highest active 5-hour or 7-day usage across Claude and Codex, so the answer is visible before you open a panel.

Claude live quota

anthropic-ratelimit-unified-* response headers, per token

one max_tokens: 1 request per account, ≤ once / 5 min

Codex live quota

official rate_limits in ~/.codex/sessions/**/*.jsonl

none

Statistics

token / cost from local Claude & Codex JSONL logs

none

Open source, local-first, built for the menu bar.

No. Everything runs locally. The only network call is the Claude probe — a minimal, throttled request (max_tokens: 1, at most once every five minutes) used solely to read the rate-limit headers. Tokens are stored locally in UserDefaults.

brew tap mangiapanejohn-dev/tap && brew install --cask quotalens