Shippashippa
Blog6 min read

Claude Code stats: lines shipped, streaks, and agent spend

Your Claude Code sessions leave a rich trail behind them, but most of it never turns into anything you can look at. Claude Code stats like lines shipped, streaks, tokens, and agent spend are all sitting in your local logs waiting to be totaled. Here is which numbers actually matter, what each one tells you, and how to see them all in a single command.

Which stats actually matter

Not every number is worth watching. Vanity metrics feel good and change nothing. The four below map to real questions about your work: how much am I producing, how consistent am I, how hard am I leaning on the agent, and what is it costing me.

Lines shipped

Lines shipped counts the code your agent actually applied and you kept, pulled from accepted edits in the logs rather than guessed from commits. It is the closest thing to an output odometer. On its own a line count is crude, but as a trend it is genuinely useful: a sudden spike usually means a big generated scaffold, a flat stretch during heavy work usually means you are reviewing and reshaping rather than accepting wholesale. Pair it with how much of your code is AI-written to see the ratio behind the raw number.

Streaks

A streak is the number of consecutive days you shipped something. It is the most behaviorally powerful stat here, for the same reason streaks work everywhere: they turn a vague intention into a visible chain you do not want to break. Nobody ships their best work every day, but a streak rewards showing up, and showing up is most of the game. Watching a streak climb is a quiet, effective nudge to open the editor on the days you might have skipped.

Agent spend

Agent spend is the dollar value of the tokens you have burned, computed from the per-model counts in your logs. Seen next to lines shipped, it becomes a rough efficiency read: are you paying a little for a lot of output, or a lot for a little? It is also the stat that saves you from month-end surprises. For the full breakdown of what drives it and how to bring it down, see tracking your Claude Code cost.

Tokens (the raw fuel)

Tokens are the underlying unit behind both output and spend: input, output, and cache reads. You rarely act on the token count directly, but it is what everything else is derived from, and the input-to-output split is a useful tell. Rising output share means you are generating more from scratch; healthy cache reads mean you are reusing context efficiently.

StatAnswersWatch the
Lines shippedHow much am I producing?Trend, not the daily number
StreakAm I consistent?The unbroken chain
Agent spendWhat is it costing?Cost per line shipped
TokensWhere does the cost come from?Input vs output split

Badges: the fun layer

On top of the four core stats sit badges, small awards for patterns worth noticing: a long streak, a heavy shipping day, a late-night session you would rather not admit to. They are deliberately not serious. Their job is to add a little texture and a reason to smile, not to rank you. Where lines shipped and spend answer practical questions, badges answer a lighter one: what does my coding actually look like, as a shape? They are also the most shareable part of a stats card, because a badge is a story in one glance.

How to see all of it

You do not need a dashboard or an account. One command reads the logs already on your machine and totals everything above, across Claude Code, Codex, and Cursor:

$ npx shippa
Lines, streaks, tokens, and spend, computed locally.

Shippa renders it as a retro stats card you can keep or post, and, if you opt in, places you on a public AI coding leaderboard. Everything is computed on your laptop; only the stats you choose to share ever leave it.

Turning stats into a habit

The point of tracking is not the numbers, it is what watching them does to your behavior. A few small practices make it stick:

  1. Check the card, not the raw logs. A glance you will actually take beats a report you will not open.
  2. Protect the streak. Ship one small thing on the busy days to keep the chain alive.
  3. Read spend against output weekly. Cost per line shipped is the single most honest efficiency signal.
  4. Compare, do not obsess. The leaderboard is a nudge, not a scoreboard to grind.

Try it yourself

See your own stats in one line.

Shippa reads your local Claude Code, Codex, and Cursor logs and turns them into lines shipped, tokens, spend, and a streak. 100% local, no account.