Reconstruct lost git commits from Claude Code session history. Byte-perfect replay of every Edit/Write/Bash op into a clean, semantic commit chain.
Export structured event log of every Claude tool call (for AI-agent behavior research)
Build the commit chain in a sandbox; with --apply, also move the real repo HEAD to it (DESTRUCTIVE)
Preview the commit chain claude-replay would build — boundaries, file counts, subjects — without touching anything
Recover a single deleted file by replaying its history from Claude session JSONLs (lifeline mode)
Reconstruct an entire deleted project from Claude session JSONLs (back-from-the-dead mode)
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
claude-replay reads the raw session JSONLs that Claude Code already wrote to disk and uses them as a deterministic event stream. It can rebuild the git history you forgot to make, recover a single file Claude deleted, resurrect an entire rm -rf'd project — even export every tool call as a structured event log for AI-agent research.
Byte-perfect. Zero dependencies. Works on any language, any project type.
git status is a wall of red. 165 uncommitted files across a week of sessions. You can't tell "the v2 fix you regret" from "the v1 you want to keep." Hand-writing 20 semantic commits from a snapshot means inventing history.
You don't have to. Claude already wrote it down. Every Edit, every Write, every Bash command was streamed to ~/.claude/projects/-{cwd}/*.jsonl (and subagents/*.jsonl for sub-agents). Replay them in timestamp order against the right baseline commit and you reproduce the exact byte sequence — including every intermediate state that was later overwritten.
$ /replay
↳ status: 1274 ops across 6 sessions
↳ plan: 20 commit boundaries from docs/*.md timestamps
↳ execute: built sandbox in 23s, byte-equal to working tree (0 diff)
↳ apply: real repo HEAD now: 1205576 (previous tagged as backup)

After: a clean git log --oneline. git revert one feature, git bisect to find a regression, push 20 PRs. Your forgotten week became 20 reviewable commits.
You ran rm in the wrong terminal. Claude refactored a file out of existence "as cleanup". A Bash one-liner went rogue. Whatever the reason, an important file is gone — and you wrote it through Claude.
$ claude-replay recover-file --file /home/me/repo/important.py --list-versions
=== /home/me/repo/important.py (10 ops) ===
2026-05-07T04:55:22 Write (content: 28375 bytes)
2026-05-07T04:57:11 Write (content: 26973 bytes)
2026-05-07T05:07:59 Edit (replace 48 chars)
...
$ claude-replay recover-file --file /home/me/repo/important.py --output-dir /tmp/restored
RECOVERED /tmp/restored/important.py (54874 bytes from 10 ops)

Recover the latest version, or any historical version with --at-ts 2026-05-06T14:00:00Z. Every version Claude ever wrote is reachable.
Worst case: you rm -rf'd the project. Or moved a disk and forgot to copy. Or a script ate it. Whatever — the working tree is gone. But ~/.claude/projects/ is untouched.
If the project was built primarily through Claude, the JSONLs contain enough to reconstruct the entire file tree:
$ claude-replay recover-project \
--project-name -home-me-myapp \
--output-dir ~/recovered-myapp \
--git-init
Session dir: /home/me/.claude/projects/-home-me-myapp
Original project root (inferred): /home/me/myapp
Files with recoverable ops: 174
Recovered 174 files into ~/recovered-myapp
Initialized git repo at ~/recovered-myapp with one snapshot commit.

Then chain into commit-history reconstruction (use case #1):
cd ~/recovered-myapp
claude-replay execute --apply
The result is a fully-recovered project with semantic commit history. Information loss limited to: (a) files Claude never touched (typically initial scaffolding or vendored deps), (b) files whose first op was Edit rather than Write — Claude saw them but never wrote them from scratch.
Claude Code's session JSONLs capture months of real human-agent collaboration on real codebases — including the messy parts: failed edits, sub-agent escalations, context compactions, mid-task pivots, multi-day workflows. claude-replay analyze is your structured tap.
$ claude-replay analyze --format stats | head -15
Total events: 2874
By origin: main=2280 subagent=594
npx claudepluginhub lightcone-zhangyifa/claude-replay-plugin --plugin claude-replayComprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Write feature specs, plan roadmaps, and synthesize user research faster. Keep stakeholders updated and stay ahead of the competitive landscape.