Claude Code, Codex, and Antigravity token usage, live in your Windows tray.
Download · First Run · Screenshots · macOS Edition
WhereMyTokens is a local-first desktop app for monitoring AI coding usage: quota windows, token totals, cost estimates, cache efficiency, sessions, model usage, activity patterns, and git output.
| Dark Overview |
|---|
![]() |
| Light Overview |
![]() |
Built by a Korean developer who uses Claude Code daily, scratching my own itch.
| Platform | Download | Best For |
|---|---|---|
| Windows 10/11 | Installer (.exe) | Normal installation, auto-start from the tray |
| Windows 10/11 — 日本語 UI | Japanese UI installer | Same installer; Japanese Windows opens in Japanese automatically, or choose Settings → General → Language |
| Windows 10/11 | Portable ZIP | No installer, keep it anywhere |
| macOS Apple Silicon | macOS Edition | Menu bar app with DMG/ZIP packaging |
Looking for the menu bar version? See the separate WhereMyTokens for macOS repository, which has its own mac-vX.Y.Z release track and DMG/ZIP downloads.
By downloading or installing, you agree to the End-User License Agreement.
Japanese UI is built into the Windows app. It follows your system language by default on Japanese Windows, and you can override it from Settings → General → Language. Thanks to @restructure-git for the translation and key-structure groundwork in PR #37.
- Install with
WhereMyTokens-Setup.exe, or extract the portable ZIP and runWhereMyTokens.exe. - Open the dashboard from the Windows tray.
- Enable the providers you use: Claude Code, Codex, Antigravity, or any combination.
- Optional: enable Claude Code Integration to register the
statusLinebridge for live Claude context and fallback quota data.
| Version | Date | Highlights |
|---|---|---|
| v1.23.0 | Jul 19 | Move provider quota data to canonical dynamic Quota Entries across the dashboard, alerts, tray, compact widget, and taskbar helper while keeping missing limits absent instead of synthesizing Unlimited |
| v1.22.3 | Jul 18 | Stream compact usage projection data from SQLite to sharply reduce dashboard memory use with large histories while preserving today, 5h, weekly, and per-model quota calculations |
| v1.22.2 | Jul 18 | Stabilize tray-owned dashboard/widget windows to stop taskbar flicker, fix compact widget buttons, and reduce memory pressure for large usage histories while preserving Codex Unlimited rows |
| v1.22.1 | Jul 17 | Show temporary unreported Codex quota windows as Unlimited, avoid stuck Syncing states, and keep taskbar/compact quota labels aligned |
| v1.22.0 | Jul 17 | Add built-in Japanese UI, a Settings language selector backed by AppSettings, and Japanese download guidance with credit to @restructure-git |
provider checkboxesfor Claude Code, Codex, Antigravity, or any combination.- Provider adapters live under
src/main/providers/and translate provider-reported limits into one canonical Quota Entry shape, separate from local token/cost usage. - Dynamic Claude Code, Codex, and Antigravity quota cards preserve provider scope, reset time, known-or-unknown duration, and explicit unlimited state. Missing limits are absent rather than synthesized as
Unlimited. - Claude account limits come from the Anthropic usage response's top-level 5h/7d windows; scoped
limits[]targets such as Fable remain independent regardless of theiris_activemarker and do not receive guessed local token/cost attribution. - Optional draggable Windows taskbar mini display uses two physical lines for normalized 5h/7d entries. Two represented periods use one line each; a single represented period can use both lines, with configurable 1-3 blocks per line and compact
+Nhidden-target cues. - Built-in Japanese UI with a Settings → General → Language selector.
- Codex reset-credit availability can appear as a separate Plan Usage target, with Rich, Simple, or hidden display modes in Settings.
- Active and recent session tracking from local provider data.
- Today and all-time token, cost, cache, model, and call summaries.
- Activity heatmaps, rhythm charts, model usage, and tool breakdowns.
- Git output metrics for current session repos.
- Persistent totals use the source-attributed
usage-index.sqlite. Request detail is retained for 8 days, hourly precision for 35 days, daily precision for 180 days, and monthly totals indefinitely. First indexing stays responsive and labels incomplete coverage; Reset index discards indexed history and rebuilds only from currently available provider logs. - Local-first storage with no cloud sync or telemetry.
WhereMyTokens reads local provider files and only calls provider usage endpoints for enabled providers. It does not upload session logs, run cloud sync, or ask you to paste API keys.
Claude quota polling uses the Claude Code CLI credential file at ~/.claude/.credentials.json; Claude Desktop or browser login does not automatically refresh that local CLI credential.
Codex live usage and reset-credit checks use ~/.codex/auth.json only for direct OpenAI/ChatGPT requests when Codex is enabled. Reset-credit cache stores counts, expiry times, fetch status, source labels, a hashed auth marker, and the auth file modified time.
Antigravity uses local RPC only. It does not use Google OAuth, refresh tokens, Google cloud usage endpoints, or offline database fallback.
See Privacy and Security for the full data-source list.
| Topic | Link |
|---|---|
| Feature details | docs/features.md |
| Privacy and security | docs/privacy-security.md |
| Development and architecture | docs/development.md |
| Release guide | RELEASE.md |
MIT

