Native macOS · Free · Open source

Claude Code usage,
in your menu bar.

Live plan limits, today's spend, weekly cap, and per-model breakdown — pulled from your existing Claude Code login. Glance, never guess.

  • Reads from your existing macOS Keychain — no new login.
  • Local logs + opt-in API call. Your data stays on your Mac.
  • Pro, Max, Team, Enterprise. Pick a refresh cadence and forget it.

Why

One glance. Every number that matters.

Claude Code logs everything locally; Anthropic exposes per-plan usage via an OAuth endpoint. Claude Status stitches both together in a tiny native menu bar item.

01

Reuses your Claude Code login

Reads the OAuth token from the Claude Code-credentials Keychain entry. No new accounts, no API keys, no setup forms.

02

Plan-aware

Extra Usage in USD for Enterprise. Five-hour + weekly buckets for Pro & Max. Same numbers as claude.ai/settings/usage.

03

Per-model breakdown

Stacked-bar charts split Opus, Sonnet, and Haiku spend across today and this week, with API-equivalent USD next to each.

04

Local-first

Token counts come from ~/.claude/projects/*.jsonl. The Anthropic API call is opt-in and configurable; pick a refresh rate from 1 min to manual.

05

Native & tiny

Swift + SwiftUI MenuBarExtra. Around 1.5k lines. No Electron, no background daemons, no JavaScript runtime.

06

Open source

Auditable end-to-end. Distributed via a Homebrew cask. Ad-hoc signed today; notarized build coming with an Apple Developer ID.

A closer look

Built for the way you actually work.

The dropdown adapts to the data your plan exposes. Enterprise users see live $ spend against their monthly cap. Pro and Max users see their 5-hour and weekly utilization.

How it works

Three honest pieces of plumbing.

  1. 1

    Keychain

    Reads the OAuth blob Claude Code wrote to svce="Claude Code-credentials". Picks the freshest entry by expiresAt so a stale older login never wins.

  2. 2

    Local logs

    Streams ~/.claude/projects/**/*.jsonl line by line, filters by timestamp window, aggregates input / output / cache-read / cache-write per model.

  3. 3

    OAuth usage API

    GET api.anthropic.com/api/oauth/usage with the Bearer token. Honors Retry-After on 429s, keeps the last good value on the screen during backoff.

Get it

One Homebrew tap, two commands.

$ brew tap bcollard/tap
$ brew install --cask claude-status

Privacy

Your data doesn't go anywhere it wouldn't already go.

No analytics, no telemetry. No third-party SDKs. The binary makes one HTTPS call: api.anthropic.com/api/oauth/usage, the same endpoint Claude Code calls.

Local logs stay local. Session JSONL files are read in-process. We extract token counts; we never read the conversation content beyond "usage": {…} blocks.

Keychain access is explicit. macOS prompts you on first launch to allow access to Claude Code-credentials. You can revoke it anytime via Keychain Access.

API is opt-out. In Options → Refresh, pick Manual only to disable auto-polling entirely. The local-log charts still work.

Source on GitHub. ~1.5k lines of Swift. Read it, audit it, fork it.

FAQ

Common questions.

Will it work on my plan?

Yes for all current consumer/business plans: Pro, Max, Team, Enterprise. The dropdown adapts to the fields the API returns — Enterprise gets the Extra Usage row, Pro/Max get five-hour and weekly utilization.

Will it cost anything?

No. Claude Status is free and the source is open. There's no in-app purchase, no subscription, no "pro tier" to unlock.

Does it have access to my conversations or files?

No. It reads the usage blocks of ~/.claude/projects/*.jsonl for token counts, and the OAuth blob in your Keychain. It never opens the rest of the message content.

Will it get me rate-limited?

No. The API is polled every 5 minutes by default. On 429 Too Many Requests the app backs off, honors any Retry-After header, and shows the last known good numbers in the meantime.

Can I disable the API call entirely?

Yes. Options → Refresh → Manual only. The local-log charts (today / this week with per-model breakdown) keep working — only the plan-level rows go quiet.

What macOS version do I need?

macOS 14 Sonoma or later. The app uses MenuBarExtra and the new SMAppService launch-at-login API.

Apple Silicon only?

Today, yes — the release build is arm64. A universal (arm64 + x86_64) build is planned. Open an issue on GitHub if you need it sooner.

Why not the Mac App Store?

Reading another app's Keychain entry from inside the App Store sandbox would need a shared keychain access group entitlement that only Anthropic can grant. The Homebrew cask path avoids that.

Pricing for "API-equivalent cost"?

The dropdown shows what a given token mix would cost on the Anthropic API. On a plan, you're not actually billed per token — but the figure is a useful comparison. Rates are public list pricing.