A daily check-up for Claude Code and Codex

Find the session costing you 2.4x.

Cost Doctor sits in your menu bar, names the session eating your plan, and turns your screen red when a check fails while an agent waits.

Download free for Mac
14 days free · No account · Nothing leaves your Mac · Notarized by Apple · Apple silicon and Intel, macOS 13+
TerminalShellEditViewWindow
486M1 failedTue 9:41 AM
api-server — claude
$ claude
Refactoring the billing webhooks…
ran 214 tests, opened pull request #482
Waiting for checks on #482…
47 minutes, no word

This is a working demo. See what your screen does when an agent goes quiet.

1 failed, waiting on you
Checks failed: api-server#482
Refactor billing webhooks · unit-tests, lint · 47 min ago
486M tokens today
Where today's tokens went
Refactor billing webhooks291M
Claude Code · now 412K per turn
Compact now: about 10.8x a fresh turn.
Review the payments migration122M
Codex · now 262K per turn
Compact now: 221K of history.
Fix flaky checkout test41M
Claude Code · starts at 118K
The diagnosis

A usage meter says how much.
Cost Doctor says why.

A total does not help you spend less. These three findings do. The numbers are from our own logs.

2.4x

Sessions that should compact

One session grew from 127K to 300K per turn, so every turn cost 2.4 times a fresh one. Cost Doctor measures the history each session carries and tells you when to compact.

126K

Overhead before any work

What our sessions weighed at their first turn, from the tool lists of connectors and plugins. Cost Doctor shows what each of yours starts at.

61%

Subagent fan-out

The share of turns made by subagents on our heaviest day. Cost Doctor counts them, including the logs most tools skip.

Also in the menu bar

Know when you will run out, and who to blame.

Limits with a forecast

Your 5-hour and weekly limits for Claude Code and Codex, when each resets, and when you will run out at the current pace. It also names the session that used most of the window.

Every session at a glance

Each session is marked working, finished, waiting on a tool call, or stopped on a failure, so you can see which one needs you without opening every terminal.

Alerts on your phone

Paste an ntfy topic or a Slack webhook and failures, limit warnings and waiting sessions reach you when you are away from the desk.

When something fails

An agent that fails quietly costs you hours.

You walk away, a check goes red, and the agent waits. Cost Doctor makes that impossible to miss: the menu bar badge turns red, a red frame appears around every screen, and a notification is sent.

  • Failed checks on your open pull requests, read with the GitHub command line tool you already use.
  • A session that stopped on a failure, such as a push hook or a test run, and has sat idle since.
  • Anything your own scripts report. One line raises an alert:
echo "deploy failed" > ~/.costdoctor/alerts/deploy.txt

Every alert has a Dismiss button, and the frame never blocks a click.

Cost Doctor dropdown listing two failures: checks failed on a pull request, and a session stopped on a failed push hook
Private by design

It reads your logs. That is all it does.

Nothing leaves your Mac

Cost Doctor reads the session logs in ~/.claude and ~/.codex on disk. It has no server and sends no prompts, code or usage anywhere.

No account

There is no sign-up. A licence is a key you paste once; it is checked on your Mac, offline.

No extra tokens

It never calls a model, and it never touches a session. Watching your spend costs nothing.

One price
$19

One-time purchase, plus tax where it applies. No subscription. 14-day free trial with everything switched on.

Just want the numbers in a terminal? The costdoctor command is free and open source: brew install apexnorthca/tap/costdoctor

Questions

How does it know my plan limits?

Codex writes its limits into its own log files, so those appear automatically. For Claude Code, Cost Doctor asks Anthropic directly, using the Claude sign-in already saved on your Mac. It asks your permission first, sends the sign-in only to Anthropic, and works whether you use Claude Code in the desktop app or in a terminal.

What does it need?

A Mac on macOS 13 or later, Apple silicon or Intel, with Claude Code or Codex installed. Pull request alerts also need the GitHub command line tool (gh), signed in.

How is the dollar figure worked out?

It is an estimate at published list prices, shown for scale. If you are on a plan, your bill is your plan price; tokens are the number to watch. The rates are editable in ~/.costdoctor/config.json.

What happens when the trial ends?

Today's total keeps showing. The per-session breakdown, the advice and the red alerts need a licence.

Does it change anything in my sessions?

No. It only reads log files. It never edits a prompt, a setting or a session.

Is there a free version?

Yes. The costdoctor command is free and open source. It prints the same 7-day totals, plan limit forecast and session advice in a terminal when you run it. The app keeps it live in your menu bar and adds the alerts.

How is it different from a usage meter?

A meter shows how much of your limit is left. Cost Doctor shows which session used it and what to change. See how it compares with ccusage, CodexBar, Headroom and SessionWatcher.