Claude Code usage trackers compared

If you want a Claude Code usage tracker, the default answer is ccusage: a free CLI that reads Claude Code's local JSONL logs and reports weighted token usage per day, month, session, and 5-hour block. If you want the same numbers without running a command, put them on a persistent surface instead: a terminal dashboard (Claude Code Usage Monitor), a macOS menu bar app (Claude Tracker, ClaudeUsageBar, cclimit), or the notch (NotchViber, which is our app). Anthropic's built-in /usage command stays the only official source of truth, so calibrate whatever you choose against it once.

How these trackers work, and why they disagree with /usage

Every third-party tracker in this roundup works the same way. Claude Code writes a JSONL line for each message under ~/.claude/projects/, and the tracker parses those files. No API keys, no scraping, no account access.

The reference math comes from ccusage: tokens are weighted (input x1, output x5, cache writes x1.25, cache reads x0.1), summed inside a 5-hour block that starts with your first message after the previous block ends, plus a rolling 7-day window. Duplicate message IDs are dropped so retries do not count twice.

That produces an estimate, not Anthropic's ledger. The official numbers live in /usage, and every local tracker should be checked against it once. For how the limits themselves behave, see our guide to Claude Code usage limits.

The built-in baseline: /usage and Agent View

Run /usage inside any Claude Code session and you get Anthropic's own view: your 5-hour window, your weekly limit, and per-model usage, with reset times. It is the only authoritative source, because it reflects your account's actual rate limit state rather than a local reconstruction.

The catch is that it is pull-based. There is no persistent display, no history, and no way to watch it while Claude works in another window.

Agent View (claude agents), shipped as a research preview in May 2026, covers the other half of the problem. It is a TUI that lists all your sessions and shows which ones are working, waiting on you, or done, including background sessions. It manages sessions rather than metering tokens; there is no usage math in it.

ccusage: the CLI standard

ccusage is the tool everything else copies. Run npx ccusage@latest and you get a daily token and cost table. The daily, monthly, session, and blocks subcommands cover most reporting needs, and blocks --live gives a real-time view of the current 5-hour block.

Beyond reports, it exports JSON for scripting, ships an MCP server, and has a statusline integration so the current block appears inside Claude Code itself. Its weighted-token and block-anchoring logic has become the de facto reference that GUI trackers reimplement.

What it does not do is sit somewhere visible. You run it when you remember to, or wire the statusline into your setup.

Claude Code Usage Monitor: a live terminal dashboard

Claude Code Usage Monitor turns the same log data into a full-screen terminal dashboard. Install with pip install claude-monitor, run claude-monitor, and you get color-coded progress bars for the current window, a burn rate, and a prediction of when you will hit the limit at your current pace.

It can auto-detect your plan and warns as you approach the cap. The cost is one terminal pane dedicated to it, which is fine if you already keep a monitoring pane in tmux and wasted space if you do not.

Menu bar trackers

If you want a number that is always visible without giving up a pane, macOS menu bar apps do exactly that. Three current options:

  • Claude Tracker: session window, weekly caps, per-model usage, and API cost from the menu bar. Free and open source.
  • ClaudeUsageBar: a minimal free tracker for Claude and Claude Code limits. Open source, and explicit that usage data never leaves your machine.
  • cclimit: watches the 5-hour window and weekly caps and forecasts when you will hit them. Free and open source.

The tradeoff is surface area. A menu bar item fits a percent and a dropdown. None of these show what your sessions are currently doing, and none let you act on a blocked session.

NotchViber: usage plus session control in the notch

Disclosure first: NotchViber is our app. NotchViber for Claude Code is a free macOS app that turns the notch into a Dynamic Island for Claude Code. macOS 14+, Apple Silicon, a dmg under 1 MB, built by one developer. It is not affiliated with Anthropic.

The collapsed bar shows the 5-hour block percent and time to reset on the left wing, and the 7-day percent plus a per-model percent on the right, with a status dot when a session is working or waiting. The math is the ccusage model, computed locally from the same JSONL files. There are no network calls and no telemetry.

The difference from the menu bar family is what happens on hover. The island expands into a session list with live activity (for example "Writing migration 0042_usage_plans.py"), todo progress, and per-session status dots. Blocked questions render as numbered option cards, permission prompts as Allow / Always / Deny cards, and one click types the answer into your terminal via macOS Accessibility.

It also jumps to the exact terminal window (Ghostty, iTerm2, Terminal, WezTerm, kitty, Alacritty, Warp, Zed, Cursor, VS Code), can resume a session headlessly from a prompt bar, and plays sounds on finish and permission requests; see Claude Code notifications for how that compares to other alert setups. On Macs without a notch it runs as a floating pill.

Comparison table

ToolInterfaceLimits shownExtra featuresPriceLocal-only
/usage + Agent ViewCommand and TUI inside Claude Code5-hour, weekly, per-model (official)Session management via Agent ViewIncludedOfficial account data
ccusageCLI5-hour blocks, daily/monthly/session costsJSON export, MCP server, statuslineFree, open sourceYes
Claude Code Usage MonitorTerminal dashboard5-hour window, burn rate, predictionsPlan auto-detect, warningsFree, open sourceYes
Claude Tracker / ClaudeUsageBar / cclimitmacOS menu bar5-hour and weekly percentReset timers, forecasts, notificationsFree, open sourceYes
NotchViber for Claude CodemacOS notch (Dynamic Island)5-hour, 7-day, per-model percentSession list, answer prompts, jump to terminal, soundsFreeYes

Which tracker to use

  • You check occasionally and want exact numbers: use /usage. Nothing else is authoritative.
  • You want history, per-project cost reports, or machine-readable output: ccusage. It is also the right base for scripts and statuslines.
  • You live in tmux and want burn rate on screen: Claude Code Usage Monitor in a spare pane.
  • You want an always-visible percent with the smallest footprint: any of the menu bar trackers. They are close in features; pick by taste.
  • You run several sessions and want to see and answer them without switching windows: NotchViber, since it pairs the ccusage math with session control. If you are choosing between notch apps generally, our Claude Code notch apps roundup covers the wider field.

Whichever you pick, calibrate once. Open /usage, compare it with the tracker, and from then on treat every local number as an estimate that is close enough to plan around.

Frequently asked questions

What is the most accurate way to check Claude Code usage?

The built-in /usage command. It reads your account's actual rate limit state, while every third-party tracker estimates from local logs. Check /usage once to calibrate, then use a tracker for continuous visibility.

Is there a GUI for ccusage?

Not from the ccusage project itself, which is a CLI with JSON output and a statusline integration. Several GUI apps implement the same weighted-token and 5-hour block model, including the macOS menu bar trackers and NotchViber for Claude Code, which shows those numbers in the MacBook notch.

Do these trackers send my usage data anywhere?

The tools in this roundup read Claude Code's local JSONL logs. ccusage, Claude Code Usage Monitor, and the menu bar trackers listed are open source so you can verify their behavior, and NotchViber makes no network calls at all. Audit anything you install regardless.

Why does my tracker show a different percent than /usage?

Local trackers reconstruct usage with weighted-token math and inferred 5-hour block boundaries, and Anthropic does not publish its exact accounting. Small drift is normal. Calibrate against /usage once and treat local numbers as a planning guide rather than a ledger.