menu bar · macOS

BurnRate

What you are consuming in Claude Code, by project, agent and day.

Reads your local Claude Code transcripts and shows token consumption, estimated in dollars at list API prices, broken down by project, agent, session, model and hour. It is a comparable estimate, not your bill.

illustrative pace — not real usage

The figure is not a bill. On a Max or Pro subscription you do not pay per token, so there is no real amount to show. What you see is an estimate at list prices — useful for comparing projects and seeing the trend, not for reconciling a statement.

The problem

You know the cost of one session. Not the month's.

Claude Code tells you the cost of one session. It will not tell you which of the thirty projects you touched this month ate half the total.

And if you run several agents in parallel across several accounts, you have no overall picture at all.

The path of a number

From a file on disk to a rate in the menu bar

Five steps, in the order they actually happen.

01ScanReads the JSONL lines across all four .claude* folders on your Mac, not just the active account.
02ExtractTakes only the tokens, the model, the agentId and the timestamp. Conversation content is never touched.
03AggregateGroups them by project, agent, session, model, day and hour, from one core — used by both the window and the nine MCP verbs.
04PriceConverts tokens to dollars at list API prices. A model with no price in the table shows as unknown, never as zero.
05ShowThe current rate sits in the menu bar, illustrative. The full breakdown lives in a navigable window, using the same figures.
What it shows

Four angles on the same usage

Breakdown

  • Usage broken down by project, agent, session, model, day and hour
  • Reads every Claude account on your Mac, not only the active one

Numeric honesty

  • What cannot be computed shows as unknown, never as zero
  • Extracts usage numbers only — it does not read conversation content

Live access

  • Current rate in the menu bar
  • MCP bridge with nine verbs that works with the app closed

Privacy & language

  • Never writes to or modifies your Claude Code files
  • The interface is in Romanian
Why you can trust it

The discovery that defined the product

Four things you can check in the app's source and its test suite, not just take our word for.

58% comes from sub-agents

Measured on real data: 58% of usage lines come from sub-agents, not the main session. Tools before this one silently folded agentId onto the parent session — BurnRate is the only one that reads it in every verb, not just one dedicated to it.

README.md — "Three properties held with both hands"; Sources/BurnRateMCP/MCP.swift

Unknown, never zero

When a model has no price in the table, its usage shows as unknown, not as zero. A total marked "at least this much" is honest; one that stays silent about what it doesn't know is not.

Sources/BurnRateCore/Estimate.swift

One source of truth

The window and the nine MCP verbs read from the same core. No verb recomputes anything on its own, so they can never land on two different figures for the same question.

Sources/BurnRateCore/Derived.swift

37 tests, on real defects

The suite covers exactly the defect classes hit on real data: the 1.34 MB line, the zero that hides an unknown, nondeterministic assignment on fold, the agent's name — across 10 suites.

Tests/BurnRateCoreTests/CoreTests.swift (25 tests, 7 suites) and CacheTests.swift (12 tests, 3 suites)

How it works

From transcripts on disk to a rate in the menu bar

Once you work heavily with Claude Code, the question "where did it go" comes up early. Which project consumes most? Which agent? What happened on Tuesday?

BurnRate reads the transcript lines Claude Code leaves on disk, across all your accounts, and extracts only the usage numbers — never the conversation content. It aggregates them by project, agent, session, model, day and hour, and converts them to dollars using list API prices.

When a model has no price in the table, its usage shows as unknown rather than zero. The difference matters: a total marked "at least this much" is honest; one that stays silent about what it does not know is not.

The current rate sits in the menu bar. The full breakdown is in a navigable window. It also ships an MCP bridge with nine verbs that reads straight from disk and answers with the app closed.

Note on language: the interface and the MCP responses are in Romanian. There is no language switch yet.

Honesty

What it does not do yet

Three real limits, not a footnote.

It depends on Claude Code's format

BurnRate reads the JSONL files Claude Code writes today for its own purposes — not a published, documented API. If that format changes, reading it can stop working overnight. That is why the price on this page is a one-time purchase, not a subscription: a subscription would be a promise of ongoing maintenance on ground we don't control.

Notarised by Apple

The build you download is signed with a Developer ID and notarised by Apple — Gatekeeper accepts it on first launch, with no warning.

No licence enforcement

The entitlements file is empty and there is no code that checks a key. Today, every copy of the app has every feature unlocked, whether it was bought or not.

Requirements

What you need

System
macOS 14.0 or later
Processor
Universal binary — Intel and Apple Silicon
Licence
One payment, no subscription

Built with

Swift
SwiftUI
MCP
macOS
Questions

Frequently asked questions

No. On a Max or Pro subscription you do not pay per token, so there is no real amount to show. What you see is an estimate at list prices — useful for comparing projects and trends, not for reconciling a statement.

It doesn't — it's illustrative, a decorative animation with no reading behind it. Real usage lives in the app window and the menu bar, not in the gauge up top.

Because 58% of usage lines come from sub-agents, and the tools that came before this one silently folded them onto the main session. The question "why did today cost that much" gets answered by agent, not by project.

Reading it can stop working overnight, because BurnRate depends on a format it doesn't control. That is why the price is a one-time purchase, not a subscription.

Yes. The build you download is signed with a Developer ID and notarised by Apple — Gatekeeper accepts it on first launch, with no warning.

Purchase

BurnRate for Mac

€24

+ VAT, calculated at checkout for your country

Activation

How to activate your licence

Download the app

Download version 0.5.3

4.2 MB

Open the app, go to Preferences → Licence and paste the key from the email.