Field Notes · November 2026 · Kalun

Kalun: a receipt for what Claude Code says it did

Claude Code ends a session with a confident summary. Kalun reads the transcript afterward and checks every claim against the evidence. It watches and never steers.

Claude Code ends a session with a confident summary. "All tests pass." "Committed." "Fixed." Most of the time that is true. Sometimes the last test run failed, the files changed after the run, or the commit never landed. Reading the whole transcript to find out is slow, so I usually did not.

So I built Kalun. After a session it reads the transcript Claude Code already keeps on your machine and writes two Markdown files: a flight log of what happened, and a receipt that checks every claim in the final message against the evidence. Each claim comes back observed, partial or unverified, with the reason and the step it points to.

A session says All tests pass after a failed test run. Kalun marks the claim unverified: last run failed.
The whole idea in one picture. The session said all tests passed. The run before it had failed.

Three answers, not two

A claim is never just true or false. Kalun uses three statuses so it does not overstate what it can see.

The three statuses side by side: observed, partial and unverified.
Observed, partial and unverified. The overall status is the worst of the claims.

Unverified means Kalun found no support, not that the claim is false. A receipt is evidence, not a verdict.

The blind spot

My first version missed something obvious. When Claude delegates work to a subagent, the parent says "I fixed it" but the edit was made somewhere else, in a separate transcript. Kalun had nothing to check the claim against. It now reads those transcripts too, tags every event with the agent that made it, and follows sessions running in git worktrees. If a subagent transcript cannot be found, the receipt says so instead of guessing.

What it is not

It watches and never steers. It is Claude Code only, local files only, and standard library only. There is no server, account, model call or telemetry, and nothing leaves your machine.

Try it

pip install git+https://github.com/wickedhardflip/kalun
kalun report            # latest session for this folder

The repo includes made-up transcripts, so you can see a caught claim in 30 seconds without a real session.

What is next

It is Claude Code only for now. I am using it on my own sessions every day and tightening the patterns from real misses. Next up: claims about things that are not file paths, and edits made through shell commands. If there is interest in other coding tools, I will look at that later.

If a receipt looks wrong to you, send me the sentence it got wrong and what the transcript showed. I do not need the transcript.

Lone Herd badge: a longhorn steer head in a ring
Lone Herd

Gather it. Connect it. Move it.