Skip to content

Usage

Usage analytics

See the tokens and cost behind your agents by day, provider and model, and where every number comes from.

Codz reads each provider’s own record of the work on this Mac and turns it into tokens and cost by day, provider and model. The Usage page shows a range of days, the Models page one day in detail, and Overview today at a glance.

For a practical walkthrough, read Track Claude Code and Codex usage on Mac.

Where the numbers come from

Everything is read on this Mac. Nothing is estimated where a provider says what happened, and nothing is invented where it says nothing.

ProviderTokensMoney
Claude CodeClaude Code’s session transcripts in ~/.claude/projectsAPI value: a list-price estimate
CodexCodex’s session logs in ~/.codex/sessionsAPI value: a list-price estimate
CursorYour Cursor account’s usage, while the Cursor app is signed in on this MacReported by your Cursor account
OpenCodeOpenCode’s database in ~/.local/share/opencodeOpenCode’s own charge for each message
OpenRouterCodz’s record of every request it sends through OpenRouterWhat OpenRouter charged
DeepSeekNot collectedNone

Money comes in two kinds, and Codz never adds them together:

KindLooks likeMeans
Charges$35.88 reportedWhat a provider actually charged you (OpenRouter, OpenCode)
API value$3,588 est.What the tokens would cost at standard API list prices. Claude Code and Codex report no charge, and this isn’t what your subscription costs.

Two more marks say how sure a figure is:

Looks likeMeans
$60.30Your Cursor account’s own figure for its usage, labelled “account-reported” once on the page
≥ $3,684At least this much: part of it is missing, such as a model with no list price or history still being read. The reason is always next to it.
—No figure Codz can stand behind

Cursor: account usage or context

Cursor’s tokens and cost come from your Cursor account, so they appear only while the Cursor app is signed in and its usage service answers. When it doesn’t, Codz shows how full each working Cursor chat’s context window is instead, marked Not billed, and never makes up a token or cost total. Cursor’s account usage has no project folders, so on the Projects section it stays Not attributed to a project.

The Usage page

Open Usage from the account menu under your name or the Navigate menu.

The page has two parts: what is happening now, and the period you choose.

Now, at the top, is always live:

  • The window that needs you first as a chart: how full it is, how it filled since it opened, where it’s heading at your pace (dashed), and when it runs out or resets. The line under the figure says it in words, such as “Claude 5-hour · +24 pts in the last hour · Runs out 9:00 AM, 25m before reset”. When another provider has room, Continue in Codex moves the chat: an idle chat moves at once, a working chat after its current turn.
  • Its last 30 windows, each bar at the window’s peak, red where it ran out, with how many did and the median peak.
  • Limits: every plan window with where it lands or when it runs out, and when it resets. Click a row to chart it. See Plan limits.

The period starts at its header, such as “October · Oct 1–17 · day 17 of 31”, with This month, Last 30 days, Last 7 days or Last month, and arrows to step between months this Mac holds. Older months open on codz.com. Everything below covers that period and says so:

  • Activity: the period’s tokens and how they compare with the same days of the month before (“↗ 54% vs Sep 1–16”, complete days only), a bar for every day (today drawn lighter, “so far”), today’s tokens, the cached-input share, active days and Codz’s own background requests, which are counted apart. Click a bar for that day’s models, or the arrow for the full chart by model or provider, in tokens or API value.
  • Money: Charges and API value, never added together, with API value split into what providers stated and what Codz estimated. Click the arrow for the month’s statement.
  • Models: each model’s share of the period’s tokens, each model always in the same colour.
  • Rhythm: when your agents worked, by hour of the week, with your busiest hours, your streak, the most agents at once and your weekend share.
  • Projects: tokens per project, matched by the folder the work ran in where the provider records it. Usage without a project is counted as Outside a project, and today’s tokens not matched yet say so.
  • Turns: the last 40 turns Codz ran, failed ones in red, with the chat, model, time taken and tokens.
  • Timeline: what happened in the period: windows that ran out and where the work continued, resets and their peaks, merged pull requests.
  • Worth a look: one or two findings from your own history, each with its number, its date and what it’s compared with.

The footer explains the marks the page uses (recorded, worked out, limit, not counted yet, even pace, now) and says how fresh the figures are.

The first time you open Usage, Codz reads your model history from the providers’ logs, which can take a while on a Mac with a lot of it. Until then the cards keep their shape, empty, and the toolbar says Reading history…. Codz keeps what it read between launches, so later visits are quick. It keeps about two months, enough for this month, last month and a 30-day comparison.

Pick a day

With Pro, Overview and Models show a day picker in the header: Previous day, Next day, the date (click it to pick a day from a calendar) and Today to jump back. Beside it, a short line says where the day’s numbers come from and how fresh they are. Usage has no day picker: its period header is its clock, and clicking a bar opens a day.

The day you pick carries across both pages and the menu bar, which then reads “tokens yesterday” or “tokens on” the day. While you’re on another day, the widgets stop updating until you come back to today.

The Models page

Models is one day’s billable models in a table: the provider, the model, the total, the raw cost, and input, output, cache reads, cache writes and reasoning tokens as the window has room for them. Click a column heading to sort by it. A bar on each row shows its mix of token kinds, and the last row totals the day.

Click a row for Hourly usage: that model’s billable tokens hour by hour, in local time.

Codex and OpenRouter count cache reads and reasoning inside input and output, so their total is input plus output, not the sum of the columns.

Above the table, Your usage compares models over the selected day, the last 7 or 30 days or dates you choose, as a ranking or as a daily trend with a line per model in its usual colour, in billable tokens or API value. Benchmarks compares models on a benchmark export you import instead, and never mixes its scores with your usage.

Overview

Overview leads with the agents working, the day’s tokens and API value, and the plan window that needs you first, coloured only when it warns. Below them are the agents working now, the day’s usage by provider, the top models, and your last 14 days with a link to Usage.

Without Pro, Overview shows every panel with your last 7 days.

  • The menu bar popover shows the day’s tokens, their cost and the tokens hour by hour.
  • The Tokens Today widget shows today’s tokens and their value, and your recent days.
  • codz usage prints one day’s usage, --day YYYY-MM-DD picks the day, and --json adds a cost_source for each provider: provider_reported, account_reported or api_list_price_estimate. See Commands.

Questions

The pages show zeros, but my agents have been busy. macOS may be blocking Codz from reading the providers’ files. If Codz shows “macOS is blocking Codz from reading some agent data on this Mac.”, click Fix, or turn Codz on in System Settings ▸ Privacy & Security ▸ Full Disk Access.

Cursor shows context instead of tokens. Sign in to the Cursor app on this Mac. Codz reads Cursor’s account usage through that sign-in.

Why doesn’t my Claude or Codex cost match my bill? The figure is what the same tokens would cost on the provider’s API at list price. A subscription is billed differently, so treat it as a measure of how much work was done.

API value shows ≥ or —. At least one model has no list price Codz recognizes, so its tokens are counted but not priced. The reason is beside the figure.

The CLI and app disagree. Open Codz so it can refresh the shared daily snapshot, then run codz usage again. Tokens Today and today's CLI usage are available on Free.

Team analytics

Use the scope picker to view My usage or an accessible team independently of the reporting destination. Owners and admins see team-wide data; members see their own contributions. Overview, Activity, Budgets and Manage team use the same authorized service on the web and native Mac.

A team’s Overview leads with its token budget: the month’s running total against an even pace, and where it lands, projected only from complete days and only when every member has reported. A pill at the top says how many members are reporting; while anyone hasn’t, or a history import is still running or has failed, figures read ≥ and say why. Charges and API value stay separate. Activity labels requests, turn summaries and account events and shows available identifiers, timing, status and cost basis; CSV exports apply the same permissions and filters.

Team sections include budgets, adoption groups (for owners and admins) or You and the team (for members), the team’s plan windows and how many ran out, and the members table. Members are always listed alphabetically and no column sorts people by a figure; members see anonymous peer comparisons only after at least five people report. Titles and workspace paths remain on the Mac.

Recaps, statements and sharing

Pro's weekly recap compares your week with your own recent baseline. Enable Weekly usage digest in Settings on the Mac or web to receive it by email; team administrators can opt into the team version separately.

Statement shows a full calendar month as a document: Charges and API value as two figures, and a table by provider whose columns each have their own total. The current month reads “Month to date” and projects nothing. The Mac's sheet links to the printable web statement and preserves a selected team.

Wrapped shows the year so far: tokens and where the year is heading, a calendar of every day, models, rhythm, streaks, biggest day and firsts. Its share image is drawn from your year — one stroke per day you worked, its length your tokens, its angle the hour you worked, its colour the day’s main provider — in dark or light. It carries tokens only: never workspace names, and API value only after you opt in. Other share windows stay at 7, 30 and 90 days.

Plan limits on the phone

Through a paired Codz Remote connection, a plan reaching 90% can send a notification and appear in a Live Activity: the window, how full it is, when it runs out and resets, and a bar in the same colours as on the Mac. An old reading shows as “≥ 92%” with its time rather than disappearing; a spent window shows when it’s back. Continue in… opens the task and asks for confirmation and device authentication; Wait sends no command and dismisses the offer. A busy task changes provider after its current turn.

With Pro, the phone’s Usage screen shows the same windows, today and the month, merged across your Macs without counting a day twice.

In iOS Settings inside Codz, turn off Plan reaches 90% to stop these alerts and end local activities. Live Activities also respect iOS system settings. Background push updates need iOS 17.2 or later; while the app is open, encrypted Mac snapshots update the activity locally.