Ian Provencher
Podcast
Operating Stack

The status line · Claude Code

Only what nothing else can show.

Claude Code lets you replace the status line with your own script. Mine shows five figures, and the choice of which five is the whole design: these reach only the status-line command, and no transcript records them. The line keeps a copy of what it receives, one file per session, so the HUD can turn the same readings into gauges. Everything the HUD can compute from the transcripts was removed from here, because two readouts of one session are only worth having while neither restates the other.

It also spawns nothing. The previous tenant of this line ran roughly forty-seven short-lived helpers per render, and every process launch on this machine is scanned before it starts — so the cost was paid forty-seven times, ten seconds apart, forever. Every field is now read with the shell's own pattern matching: one process per refresh, no children.

The figures

5
BILL
Claude Code’s own running cost estimate for the session, drawn with a tilde because it is an estimate and not an invoice. Cents are cut rather than rounded, so it never reads higher than the figure it came from.
EDITS
Lines added and removed — the tool’s own tally of what IT changed, which is not the same question as the git diff and is not answerable from one.
CONTEXT
Percentage of the window used, stated against the REAL window size. Anything reading the transcript has to infer that size; this does not.
CACHE
The cache read on the request in flight, this instant. Every other reader sees the last COMPLETED response, which is a different moment.
MODEL
The model id with its context-variant suffix. The transcript records the bare name and never the variant, so this is the only place the distinction survives.

The dollar figure is an API-equivalent usage gauge — what the same tokens would cost on the metered API — not a real subscription charge. It’s there to keep me honest about how much a given approach actually burns.

Take it

An earlier version of the script is public as a gist — one file, with jq its only dependency. It is frozen at August 2026 and is not the line described above, which is not published.