Your Claude Code session finally grew an undo button
ccundo reads Claude Code's session files to provide granular undo and redo for file operations, complete with cascading dependency safety and detailed previews.

What it does
ccundo is a CLI tool that piggybacks on Claude Code by reading its .jsonl session files from ~/.claude/projects/. It reconstructs the sequence of file edits, creations, deletions, renames, and bash commands, then lets you selectively revert or restore them with diff previews and automatic backups. It tracks state in ~/.ccundo/ and requires no configuration to get started.
The interesting bit
The tool treats operation history as a dependency chain: undoing one action automatically rolls back everything that came after it, and redoing similarly restores preceding undone operations. This cascading safety prevents the half-broken state you’d get from reverting a file edit while leaving its dependent file creation intact. Bash commands still require manual intervention, which is an honest admission of limits.
Key highlights
- Parses Claude Code session files directly; zero configuration needed
- Cascading undo/redo maintains project consistency by handling dependent operations
- Shows file diffs and change previews before modifying anything
- Creates backups in
~/.ccundo/backups/before each revert - Supports multiple languages including English, Japanese, French, Spanish, and German
- Tracks operations across multiple Claude Code sessions
Caveats
- Bash commands cannot be automatically undone or redone; they flag for manual intervention
Verdict
Keep it handy if you use Claude Code as a scratchpad and want surgical rollback between prompts without touching git. If you already version-control every micro-change, you won’t need it.
Frequently asked
- What is RonitSachdev/ccundo?
- ccundo reads Claude Code's session files to provide granular undo and redo for file operations, complete with cascading dependency safety and detailed previews.
- Is ccundo open source?
- Yes — RonitSachdev/ccundo is an open-source project tracked on heatdrop.
- What language is ccundo written in?
- RonitSachdev/ccundo is primarily written in JavaScript.
- How popular is ccundo?
- RonitSachdev/ccundo has 1.4k stars on GitHub.
- Where can I find ccundo?
- RonitSachdev/ccundo is on GitHub at https://github.com/RonitSachdev/ccundo.