vcr Open in studio Select from disk

PAUSED · TRACK 00

Rewind the work behind
your agent.

Going YOLO doesn't need to be blind. Drop in the session log your agent already wrote and replay every prompt, tool call, token and dollar, on its own clock, on a timeline you can scrub, with every error marked where it happened.

Drag to turn · double-click to face it

This browser can’t draw 3D. Open the player instead.

Drag & drop a .jsonl tape anywhere on this page Where do I find one? ↗
NO TAPE---/---❚❚
00:00/00:00
—

Demo tapes

Real recordings, each from a single one-shot prompt. Nothing edited out. Pick one to load it into the deck above.

01

TRACK 01 · WHAT'S ON THE TAPE

Everything your agent did, ready to review.

The session log your agent already wrote holds the whole story. VCR lays it out: what you asked, what it said and thought, every command it ran and file it touched, the URLs it reached, the skills and MCP servers it called, every error, and what it all cost. All of it in the studio's Report, a click away from the moment it happened.

Live from the demo tape in the deck above: …See its full report in the studio ↗

02

TRACK 02 · ON THE TIMELINE

Every lane, on the session's own clock.

The player lays it all out as lanes, the way an editor lays out tracks: one row per kind of event, so you see what the agent was doing and when at a glance. Scrub it, zoom it, hide what you don't need.

Real data, live from the demo tape in the deck above: … Open it in the studio ↗

Lit once played, dim ahead of the playhead, exactly as the player shows itClick the eye to hide a lane · click a lane or the tape to seek
03

TRACK 03 · WHAT IT MEASURES

Ten readouts from one log file.

No plugin, no telemetry, nothing to install. All of it is read from the .jsonl your agent already writes.

Transcript

Every prompt, reply and thought, kept whole.

What you asked, what it answered and how it reasoned, line breaks and all, each at its moment on the timeline.

Tokens & cost

What it cost, response by response.

Fresh input, cache reads and writes, output, cache hit rate and peak context, priced per model: built-in rates, today's from LiteLLM, or your own.

Tool calls

Every tool call, timed.

Input, result and duration for each call. Per tool: calls, failures, time spent and the slowest run.

Errors

Nothing fails quietly.

Every failed call, marked where it happened: which tool, what it ran, and the first line of what came back.

Time

Working time vs. waiting time.

Active and idle time on the session's own clock (any gap over a minute counts as idle), and where the longest stall was.

Skills & MCP

Skills and MCP servers, counted.

Each skill the agent invoked, and every MCP server it called, broken down by tool.

Files

Every file it touched.

Each path read, written or edited, and how many times.

Commands

What it ran.

Shell commands, counted by the program that actually ran, past cd, sudo and env.

Web

Everywhere it reached.

Every URL it fetched or put in a command, how often and from which tool, plus every web search it ran.

Report

The whole report, as Markdown.

One click copies all of it, ready for a PR description, an incident write-up or a team channel.

04

TRACK 04 · FREQUENTLY ASKED

Questions, answered.

What is VCR?

An experiment. I built it to explore my own YOLO sessions: the runs where I hand an agent a prompt, let it work on its own, and come back to whatever it built.

The log of what happened is already on disk, but nobody reads a few thousand lines of JSON. VCR plays it back instead, on its own clock, so I can rewind to the moment something went wrong, see every command it ran and file it touched, check what each step cost, and skip the minutes where it was just waiting.

Does any of this leave my machine?

No. The .jsonl is read with the local File API and parsed in the page: no server, no build step, no upload.

What can I actually get out of a tape (.jsonl)?

The whole session, not a summary of it. Every tape carries:

  • Wall-clock duration
  • Every prompt and response
  • Tool calls, with arguments and results
  • Errors, marked where they happened
  • Token counts: input, output, cache
  • Cost, in dollars
  • Skills invoked
  • MCP servers and their tools
  • Commands and programs run
  • Files read, written and edited
  • URLs and endpoints it touched
  • Models, response by response
Why is some of the agent's thinking missing?

Claude Code folds its thinking away while you work. Press Ctrl+O to switch to verbose mode and the reasoning shows up as gray italic text.

Interactive sessions on the Anthropic API get their thinking blocks redacted by default, so the log holds nothing readable for VCR to play back. To keep the full summaries, add "showThinkingSummaries": true to your Claude Code settings.

Folded or redacted, every thinking token is still billed, and it's counted in the tape's output tokens and cost.

What are the demo tapes?

Real recordings, not scripted demos. Each one started from a single one-shot prompt, copy-pasted into the agent and then left alone to build, test and (usually) get it running. Nothing has been edited out of the log afterwards.

Which coding agents are supported?

Claude Code today. OpenAI Codex is experimental; Gemini CLI, Cursor, GitHub Copilot and Kiro are next. The session format each of them writes is public, so adding a reader for one is a parser, not a rewrite.

Where does it find my session logs?

It doesn't go looking. You hand it one. Claude Code writes each session as a .jsonl file under ~/.claude/projects/, one subfolder per project, named for the session:

  • macOS /Users/you/.claude/projects/
  • Linux /home/you/.claude/projects/
  • Windows C:\Users\you\.claude\projects\ (or paste %USERPROFILE%\.claude\projects into Explorer's address bar)

Codex writes to the same ~/.codex/sessions/ spot on each OS.

Do I need to install anything?

No. The deck is just a browser tab.

Is VCR open source?

It started as one. VCR is now an archived experiment: the code is no longer distributed, and this page and the player stay up as the case study. Everything still runs locally in your browser.

INSERT TAPE

Your agent already wrote the log. Drag and drop the file here and press play on it.