One desktop dashboard for your AI coding usage.
See quota, resets, tokens, requests, and cost across Codex, Claude, Cursor, and OpenCode — read locally, never uploaded.
Download for Windows, macOS, or Linux · All releases
Get an installer from usageatlas.com or the releases page, then:
- Windows — run the
.exeinstaller. Builds are not Authenticode-signed yet, so choose More info → Run anyway at the SmartScreen prompt. - macOS — open the
.dmgand drag UsageAtlas into Applications. Builds are signed and notarized. - Linux — run the
.AppImage, or install the.debor.rpm.
Every asset is listed with its SHA-256 in SHA256SUMS on the release. macOS and Windows update themselves in the background.
UsageAtlas reuses the credentials the tools already keep on your machine. Nothing else is needed to sign in.
- Codex — talks to the installed, signed-in Codex CLI through its official local app-server API. The OAuth token is never read.
- Claude — reads
CLAUDE_CODE_OAUTH_TOKENor.credentials.jsonin your Claude config directory, then queries the OAuth usage endpoint. - Cursor — reuses the signed-in desktop session from Cursor's local state database for account limits plus 90 days of per-request token, model, and cost history.
- OpenCode — reads the local OpenCode database for per-step token, request, project, model, and cost analytics.
Four more providers are on the way. A provider only ships once it has complete authentication, structured error handling, and deterministic adapter tests.
- Today view with capacity meters, reset times, plan details, credits, and hourly activity
- History and insights across 7, 30, and 90 days by project, session, model, and tool
- Usage alerts that fire a native notification before you run into a limit
- Tray presence, launch at login, and system/light/dark themes
- Local-first: no account, no sync, and no usage data leaves the machine
- Sealed local history: completed days are stored on disk so past usage survives restarts and provider outages
- Sandboxed renderer with no Node.js access, an allowlisted preload API, ASAR integrity, and Electron fuses
Provider data is read from local files and provider APIs. Completed-day usage and capacity snapshots are sealed into a local history database in the app data directory. There is no UsageAtlas account and no cloud sync. An anonymous install count tells us how many people use the app; it never includes usage figures and can be switched off in Settings. Diagnostics are redacted before they are shown or copied.
Requirements: Bun 1.3.14 and Node.js 22.13+.
git clone https://github.com/SRX9/UsageAtlas.git
cd UsageAtlas
bun ci
bun run desktop:startbun run check runs lint, typecheck, tests, and the build. bun run desktop:make produces installers for the current
platform with Electron Forge; unsigned builds need no credentials.
The repo is a Bun + Turborepo workspace: the Electron app lives in apps/desktop, shared schemas and fixtures in
packages/contracts, and build helpers in tooling.
Every push to main ships a release. CI takes the version in apps/desktop/package.json, moves the patch number to
the first one that is not published yet, records that back on main, then builds, signs, and notarizes every
platform, tags desktop-v<version>, and publishes the installers, SHA256SUMS, and the update feeds the in-app
updater consumes. Write a new major or minor version there by hand and it releases as written instead.
See CONTRIBUTING.md to contribute and SECURITY.md to report a vulnerability privately.
Inspired by CodexBar by Peter Steinberger. Charts are vendored from Dither Kit.
Source code is available under the MIT License. The UsageAtlas name and logo are not covered by it — see TRADEMARKS.md.


