Prompt-to-code timeline with one-command revert for Claude Code
npx claudepluginhub utkarshranaa/rewindoPrompt-to-code timeline with one-command revert for Claude Code
Prompt-to-code timeline with one-command revert for Claude Code.
Rewindo automatically records every prompt you give to Claude Code and the changes that result, creating checkpoints you can instantly revert to.
Problem solved: Claude breaks something that was working, and you can't remember exactly which prompt had the "good" state. With Rewindo, just list your timeline and revert to any checkpoint.
git log stays cleanInside any Claude Code session, run these two commands:
/plugin marketplace add utkarshranaa/rewindo
/plugin install rewindo@rewindo-marketplace
That's it. The hooks activate automatically — every prompt is captured and every response creates a checkpoint.
The plugin handles recording automatically, but to use commands like rewindo list and rewindo revert from your terminal:
git clone https://github.com/utkarshranaa/rewindo.git
cd rewindo
pip install -e .
This puts the rewindo command on your PATH.
Inside Claude Code, type /hooks to confirm the rewindo hooks are active. You should see:
Rewindo tracks two types of changes:
| Actor | Symbol | Meaning |
|---|---|---|
| Assistant | A | Changes made by Claude in response to a prompt |
| User | U | Manual edits you made between prompts |
When you view your timeline with rewindo list, you'll see both types of steps:
ID A Date/Time Files Description
---- - ------------------- ------------------------------------- ------------------------------
#5 A 2026-02-01 14:30 +filter.ts (+35/-8) "Add filtering"
#4 U 2026-02-01 14:28 +footer.tsx (+3/-0) "Add footer"
#3 A 2026-02-01 14:15 +button.tsx (+28/-5) "Create login component"
#2 U 2026-02-01 14:10 +styles.css (+2/-1) "Fix navbar CSS"
#1 A 2026-02-01 12:00 +app.tsx (+120/-0) "Setup project"
In this example:
This helps you track exactly what changed, whether it was from a prompt or your own edits.
Once the plugin is installed, Rewindo works automatically. Every prompt you submit and every response Claude gives is recorded.
You can run rewindo commands either from your terminal (if you did pip install -e .) or by asking Claude inside a session (e.g., "show me my timeline").
# Prompt: "Add user authentication"
# Prompt: "Add database layer"
# Prompt: "Add API endpoints"
# View your timeline
rewindo list
# Output:
ID A Date/Time Files Description
---- - ------------------- ------------------------------------- ------------------------------
#3 A 2026-01-30 14:22 +api.py (+15/-0) "Add API endpoints"
#2 U 2026-01-30 14:18 +navbar.css (+3/-1) "Manual edits before prompt #3"
#1 A 2026-01-30 14:15 +db.py (+20/-0) "Add database layer"
# Actor column: A = Assistant (prompt), U = User (manual edit)
# Something broke? Revert to when it was working
rewindo label 2 working # Mark checkpoint #2 as working
rewindo revert 2 # Revert to checkpoint #2
# Or just undo the last change
rewindo undo
rewindo list [--limit N] [--query PATTERN] [--expand] [--expand-chars N]List timeline entries.
rewindo list # Show last 20 entries (compact, 60 chars)
rewindo list --limit 5 # Show last 5 entries
rewindo list --query api # Search for "api" in prompts
rewindo list --expand # Show longer prompts (200 chars)
rewindo list --expand --expand-chars 500 # Show 500-char prompts
Output format:
#ID Timestamp Files changed Prompt snippet
#17 2026-01-30 14:22 +api.py (+15/-0) +utils.py (+5/-2) "Add pagination..." [+]
#16 2026-01-30 14:15 +types.ts (+8/-0) "Fix TypeScript errors"
The [+] indicator means the prompt is longer than shown. Use --expand to see more without reading the full prompt.
rewindo show <id>