A square is a day
Sized by how much changed. They run left to right along the spine, so the shape reads as time.
bough reads the history Claude Code, Codex and Pi already keep and prices every piece of it, down to the single task. That afternoon you lost to one bug has a number on it now.
brew install nickelsec/tap/boughGets the latest release
Already have it? brew upgrade nickelsec/tap/bough
Pick a question and it runs against a real project. The drawing dims whatever does not match, so you keep the shape of the whole thing while you look at one part of it. In the tool these are the filter rail: search your prompts, find a file, narrow the dates, set a spend threshold. They stack, so you can ask two things at once.
Sized by how much changed. They run left to right along the spine, so the shape reads as time.
One piece of work, recovered from pauses in the record rather than from anything you had to label.
Something you typed. Hover it and the whole path back to its day lights up.
Bigger ring, more spent. Work from before your agent recorded tokens gets no ring at all, rather than a small one that would read as cheap.
Every usage tool stops at a session, and a session is a hash that can cover weeks of unrelated work. It can tell you a number but not what the number was for.
bough already knows where one piece of work ends and the next begins, so the same money lands on things you recognise. Click a day to open it.
| Output | Input | Cache w | Cache r | Total | Cost | |
|---|---|---|---|---|---|---|
| 211k | 480 | 409k | 66.9M | 67.5M | $43 | |
| Work out where a task begins | 58k | 98 | 168k | 6.7M | 7.0M | $6.51 |
| Chase down the duplicate records | 84k | 194 | 128k | 24.6M | 24.8M | $16 |
| Fix the layout collapsing on wide history | 69k | 188 | 114k | 35.5M | 35.7M | $21 |
| 792k | 3k | 2.5M | 443.6M | 446.8M | $266 | |
| Get the colours to hold up | 249k | 638 | 909k | 98.6M | 99.8M | $65 |
| Cut the score that could not be proved | 35k | 126 | 58k | 31.7M | 31.8M | $17 |
| Group the tasks into sittings | 14k | 70 | 104k | 3.9M | 4.0M | $3.36 |
| Draw the first version of the graph | 48k | 186 | 192k | 16.4M | 16.6M | $11 |
| Work out where a task begins | 43k | 138 | 133k | 20.8M | 21.0M | $13 |
| Chase down the duplicate records | 95k | 294 | 182k | 64.3M | 64.6M | $36 |
| Write the format reference | 52k | 220 | 88k | 62.5M | 62.7M | $33 |
| Set up the parser and the first fixtures | 75k | 270 | 183k | 18.1M | 18.4M | $13 |
| Draw the first version of the graph | 182k | 688 | 623k | 127.2M | 128.0M | $74 |
| 20k | 78 | 1.0M | 19.9M | 21.0M | $21 | |
| Add the filters | 315 | 2 | 497k | 22k | 520k | $4.99 |
| Work out where a task begins | 20k | 76 | 541k | 19.9M | 20.5M | $16 |
| Draw the first version of the graph | – | – | – | – | – | – |
| 167k | 434 | 923k | 56.0M | 57.1M | $41 | |
| Tune the thresholds against git | 2k | 12 | 545k | 2.8M | 3.4M | $6.93 |
| Work out where a task begins | 67k | 182 | 197k | 15.3M | 15.6M | $11 |
| Chase down the duplicate records | 48k | 128 | 95k | 17.6M | 17.8M | $11 |
| Make the notes readable | 49k | 112 | 86k | 20.2M | 20.3M | $12 |
| 274k | 762 | 1.3M | 146.6M | 148.2M | $93 | |
| Get the colours to hold up | 24k | 52 | 412k | 10.5M | 11.0M | $9.98 |
| Work out where a task begins | 172k | 374 | 689k | 110.3M | 111.2M | $66 |
| Work out where a task begins | 78k | 336 | 187k | 25.8M | 26.1M | $17 |
| 257k | 992 | 706k | 137.8M | 138.7M | $82 | |
| Group the tasks into sittings | 162k | 536 | 478k | 97.1M | 97.8M | $57 |
| Fix the layout collapsing on wide history | 45k | 214 | 148k | 14.2M | 14.4M | $9.71 |
| Fix the layout collapsing on wide history | 50k | 242 | 80k | 26.4M | 26.6M | $15 |
| 45k | 254 | 306k | 37.0M | 37.4M | $23 | |
| Write the format reference | 45k | 254 | 306k | 37.0M | 37.4M | $23 |
| Everything | 1.8M | 6k | 7.1M | 907.8M | 916.7M | $570 |
It asks which project you mean, reads what your agent already wrote, and opens the diagram in your browser. No account, no setup, and no network: the history is on your disk.
Claude Code, OpenAI Codex CLI and Pi, found automatically. All three keep what they wrote, so a project you finished months ago reads as well as the one open now. Here is what is in a transcript.
Every prompt in your own words, the commits with their hashes and line counts, and the file you kept going back to. Following a cost drops you onto that task’s own row in the table.
--text prints the same work as an indented list, with the commit hashes and the cost line. --json gives you the whole graph to do something else with.
No live view, no streak, no monthly bill. For a figure to set against an invoice, or a warning before you hit a limit, the tools built for that do it better.
Days and prompts come straight from the record. Where one task ends and the next begins is inferred from thresholds fitted to one person’s history, and yours may land elsewhere.
The struggle score behind it has never been checked against anyone’s memory of their own work. It is labelled as a guess wherever it appears, and the filter for it is off until you ask.
Work whose model has no published rate shows its token counts and NA where the figure would be. A model on your own machine costs nothing. Codex and Pi are newer here than Claude Code, so treat their numbers with more suspicion.