Star on GitHub
REC

agentvcr

PLAY THE EXAMPLE Or drop a session file on the screen. It plays here; nothing is uploaded.
A silver VHS video recorder with its play, stop and rewind buttons

One command turns a coding agent session into a replay you can send as a link or get on every pull request.

Claude Code, Codex, Cursor, Gemini CLI, Qwen Code, Cline, Aider and OpenCode. No account, no upload.

What leaves your machine

agentvcr masks secrets before it writes a single byte. Switch a rule off to see what it would let through.


        
API keys
Access tokens
Passwords in URLs
Secret variables
Email addresses
Your home folder
Read every pattern

The same rules run on every replay you make, and the CLI tells you how many things it masked.

From session to link

Two seconds

First, pick a session from this project, or pass last.

A fifth of a second

Then it reads it and masks secrets on your machine.

Instant

Next it writes one HTML file that plays offline.

Two more, if you share

Last, --share puts it in a secret gist and prints a link to this site's player.

Everything a reviewer needs

The story in one sentence

Before playback: what happened, how long it took, and a diffstat of every file. Click a file to jump to its first edit.

Replay summary on the blue screen with a diffstat of five files

The whole session as a tape

Every prompt, edit and failure is a bar under the player. Drag anywhere to scrub; the counter shows real working time.

Failures stand out

A failed command turns red on the tape and in the transcript, so you see where the agent changed course.

A failed typecheck in the replay, marked FAILED with its error in red

Watch at your pace

One, two, four or eight times speed, one click each, or keys 1 to 4. Space plays and pauses.

FF 2×

Link to the exact moment

Every step has an address. Send someone straight to the failing test instead of telling them where to scroll.

tojacob03.github.io/agentvcr/demo/#18
0:02:37

One file, any screen

Works offline, on a phone, in dark and light. Attach it to an issue or drop it on any static host.

The replay on a phone, with a prompt band and the deck

Works with the agentyou already use

Found in

~/.claude/projectsRead straight from disk. Pick a session from the folder you are in, or any with --all.

On the tape

Prompts, answers, every tool call with its output, diffs, plansSubagent turns too, with --subagents.

Counter

Real working time from the timestampsBreaks over five minutes count as away, not as work.

Shortcut

/plugin marketplace add tojacob03/agentvcrThen /agentvcr:replay inside any session, or /agentvcr:replay share for a link.

In CI

uses: tojacob03/agentvcr@v0After claude-code-action: the run goes on tape and the pull request gets a comment with the replay.

Found in

~/.codex/sessionsMatched to your project by the working folder each rollout records.

On the tape

Prompts, answers, shell commands with output, apply_patch diffs, plansReasoning summaries too, with --thinking.

Counter

Real working time from the timestampsFailed commands are marked by their exit code.

Shortcut

npx agentvcr-cli lastRun it in the project folder right after the session.

Found in

~/.cursor/projects/…/agent-transcriptsThe agent transcripts Cursor writes for each chat.

On the tape

Prompts, answers, commands, edits as diffs, plansCursor does not store tool output, so commands show without results.

Counter

Steps instead of minutesCursor keeps no per-step times; the replay counts steps.

Shortcut

npx agentvcr-cli --allLists sessions from every project and agent, newest first.

Found in

~/.gemini/tmp/…/chatsBoth the JSONL format and the older JSON files.

On the tape

Prompts, answers, shell commands, edits, searches, todosRewinds and edits to earlier messages are applied the way the CLI loads them.

Counter

Real working time from the timestampsThoughts appear with --thinking.

Shortcut

npx agentvcr-cli lastRun it in the project folder after the session.

Found in

~/.qwen/projects/…/chatsMatched to your project by its folder, like Claude Code.

On the tape

Prompts, answers, shell output, edits, searches, todosEdits use the before and after Qwen Code records, so the diff is exact.

Counter

Real working time, plus tokens in and outRewound turns are left out, the way Qwen Code resumes a chat.

Shortcut

npx agentvcr-cli lastRun it in the project folder after the session.

Found in

~/.cline/data/sessionsOlder tasks too, from the editor's storage, and those of Roo Code and Kilo Code, which kept Cline's format.

On the tape

Prompts, answers, commands with output, edits as diffs, searches, MCP callsSearch/replace blocks and patches both show as diffs.

Counter

Real working time, plus tokens in and outThinking appears with --thinking.

Shortcut

npx agentvcr-cli lastRun it in the project folder after the task.

Found in

.aider.chat.history.mdIn the project folder; every run is appended, and the replay is the last one.

On the tape

Prompts, answers, edits as diffs, commands, commitsSearch/replace and udiff edits; blocks that failed to apply are marked.

Counter

Steps instead of minutesAider only records when a run started; tokens come from its usage lines.

Shortcut

npx agentvcr-cli lastRun it in the project folder after the run.

Found in

OpenCode's own databaseExport a session first: opencode export <id> > session.json

On the tape

Prompts, answers, tool calls with output, shell commands, editsBoth the current export format and older ones with message parts.

Counter

Real working time, plus tokens in and outInterrupted turns and compactions show on the tape.

Shortcut

npx agentvcr-cli session.jsonOr drop the exported file on the screen at the top of this page.

A VHS cassette with a blank label and a recording time scale

Press record

Run it in any project folder. Add --share for a link, add &embed to put it in a blog post, or let the GitHub Action comment it on every agent pull request.

STAR ON GITHUB