
What happened
A developer published a jq script that reads Claude Code's jsonl conversation logs and sorts each file into read, edited, or stale, with a demo log showing 5 assistant and 4 user entries.
Why it matters
The three labels tell a manager or reviewer whether Claude actually saw a given file, and whether an early read survived later compression or was reduced to a summary, so 'did it have the file in front of it' stops being guesswork.
What to watch
The counts depend on what the script deliberately excludes, so results hinge on whether subagent activity and rewound branches are filtered out. Watch whether such a view gets built into the tool itself.
WHO IT HITSDevelopers and technical leads auditing AI coding sessions get a concrete record of which files the assistant read, wrote, or lost to compression, instead of relying on memory of the session.
Summaries like this, in your inbox every morning.
Claude Code, Anthropic's coding assistant, leaves a jsonl log for every conversation, with each line a JSON record whose type separates a person's message, Claude's reply, an attachment the tool added, or a system notice. That structure is what makes the script possible: tool calls sit inside an assistant reply, tool results sit in rows typed as user, and attachments carry things like pasted-in files or change notices. The script walks these rows, marks files read when Claude calls Read, marks them edited on Edit, MultiEdit, Write, or NotebookEdit, and flips everything to stale when a compact_boundary row shows the conversation was compressed.
The sample run shows two behaviors that matter for anyone trusting the output. A file read before compression and never touched again stays stale, because only a summary remains in context, while a file edited before compression and re-read afterward returns to read. The author also excludes rows flagged isSidechain, since a subagent's reading never reaches the main Claude's context. Rewinding with /rewind or pressing Esc splits the parentUuid chain, and because the script reads every row, files from abandoned branches still appear.
The same rules power the file-tree markings in tanacode, the author's macOS app for watching Claude Code work, which reads logs incrementally with fs.watch and keeps a file edited marker even after a later read. The open question is how much of this a reader should treat as ground truth: the markings reflect what the log recorded, and the author notes that a running session may have a last row that is still being written, so a snapshot taken mid-turn could miss the newest activity.
Pick your industry and the AI tools you use, and get news related to your work every day.
Free · 30 seconds with Google · unsubscribe anytimeWhat is AIToday? →
Ask AI anything about this article. The AI reads this article, earlier AIToday articles, and Wikipedia, and cites its sources. Q&As are published on this page for other readers too.
At SAP Connect 2026, SAP said its Autonomous Enterprise architecture — introduced at Sapphire in May — becomes…
Anaconda Inc. launched tools to coordinate groups of AI agents, test their security and move applications into…
Deepseek is close to raising at least $12 billion, with CATL and Tencent contributing the largest shares, Bloo…

Reflection announced Beam, an open-weight model that activates 23 billion of its 501 billion parameters per to…

In Florida, a woman who used Claude as a diary wrote a September 26 entry about attacking a sheriff's office;…

A team lead at 株式会社イエソド used Claude Code's Mods, announced 2026年10月1日, to build 'session-memo', which stores T…
