[FEATURE] Migrate checkpoint/rollback functionality to VSCode extension
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
The checkpoint/rollback feature in the Claude Code terminal is extremely useful, but it's currently only available in the terminal version, not in the VSCode extension. This creates a significant problem:
Current Issues with Terminal Version:
- Severe UI rendering problems: garbled text, character encoding issues
- Poor scrolling performance - not smooth, laggy
- Large unexpected gaps/spacing in the output
- These rendering issues cause CPU usage to spike to 100%
- The terminal interface becomes nearly unusable during intensive tasks
VSCode Extension Limitations:
- The VSCode extension doesn't have the checkpoint/rollback feature
- I cannot roll back to a previous state when something goes wrong
- This forces me to use the terminal version for tasks where I might need to rollback
- But the terminal's UI problems make it frustrating to use
The Dilemma: I have to choose between:
- Using the terminal for checkpoint functionality (but suffering from UI/performance issues)
- Using the VSCode extension for better UI (but losing the critical rollback capability)
The VSCode extension leverages VSCode's native rendering, so it doesn't have these CPU and rendering problems. I desperately need the checkpoint feature in the VSCode extension.
Proposed Solution
Migrate the checkpoint/rollback functionality from the terminal to the VSCode extension with the following features:
Core Functionality:
- Ability to create checkpoints at any point during a task
- Visual indicator showing available checkpoints (e.g., in a sidebar or timeline view)
- One-click rollback to any previous checkpoint
- Preserve the full state including file changes, conversation history, and context
UI Integration in VSCode:
- Checkpoint timeline view in the VSCode sidebar
- Visual diff showing what will be rolled back
- Keyboard shortcuts for quick checkpoint creation (e.g., Ctrl+Shift+K)
- Confirmation dialog before rollback with preview of changes
Benefits:
- Eliminates the need to use the buggy terminal interface
- Leverages VSCode's stable rendering engine
- No more CPU spikes or rendering issues
- Seamless integration with VSCode's existing UI/UX
- Better visibility of checkpoint history
Alternative Solutions
What I've tried:
- Using the terminal version despite the UI issues - but the 100% CPU usage and rendering problems make it impractical for long sessions
- Manually tracking changes and using git commits as "checkpoints" - but this is cumbersome and doesn't preserve Claude's conversation context
- Switching between terminal and VSCode extension based on task needs - but this breaks my workflow
Why these don't work:
- The terminal's rendering issues are show-stoppers for productivity
- Manual workarounds lose the seamless rollback experience
- Context switching between terminal and extension is inefficient
Priority
Critical - Blocking my work
Feature Category
Interactive mode (TUI)
Use Case Example
Scenario 1: Refactoring Gone Wrong
- I'm refactoring a complex component across 5 files
- I create a checkpoint before starting
- Claude makes changes, but the approach doesn't work as expected
- Instead of manually undoing changes or using git, I click "Rollback to Checkpoint"
- Everything reverts instantly, and I can try a different approach
Scenario 2: Experimental Features
- I want to try two different implementation approaches
- I create a checkpoint at the starting point
- Try approach A with Claude's help
- Rollback to checkpoint
- Try approach B
- Compare results and choose the best one
Why I need this in VSCode extension:
- The terminal version has these capabilities, but:
- Garbled text makes it hard to read Claude's responses
- Scrolling is so laggy I miss important information
- CPU hits 100% and my laptop fan goes crazy
- Large gaps in output make it hard to follow the conversation
- The VSCode extension has perfect rendering, but no checkpoint feature
- I'm forced to suffer through terminal UI issues just to use checkpoints
Additional Context
Technical Details:
- The terminal UI issues seem to be related to how the terminal renders streaming output
- VSCode's webview/extension API handles rendering much better
- CPU usage in VSCode extension is normal (<10%), while terminal spikes to 100%
Impact:
- This is preventing me from using Claude Code effectively for complex tasks
- I often abandon tasks because the terminal becomes too frustrating to use
- The VSCode extension is great, but without checkpoints, I can't use it for risky refactoring
Similar Features:
- VSCode's Timeline view for file history
- Git integration with visual diff
- Debugger's step-back functionality (time-travel debugging)
Please prioritize this feature - it would make the VSCode extension a complete replacement for the terminal version.
I've been using Cursor IDE for quite some time, and last week I moved to Claude Code for a month. This was the most prominent missing feature that I noticed. I find it hard to believe that this is implemented on the console but not in the VSCode extension.
I am eagerly awaiting the implementation of this feature in the native plugin for vscode. It is very difficult to maintain the effectiveness of the context window when the dialogue starts to go in the wrong direction.
This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.
at least open source the extension then... wanted to do some very simple fix
It's now been 103 days since https://www.anthropic.com/news/enabling-claude-code-to-work-more-autonomously announced this Rewind feature, but it's still unavailable in the now-default VS Code UI. And https://code.claude.com/docs/en/checkpointing#rewinding-changes still makes no mention of its availability being limited to the terminal.
We've begun to rely on it heavily, and it's becoming difficult to coach coworkers on how to use Claude Code when those who prefer the GUI are unable to fix mistakes in their context. I find myself telling people who use the GUI to "be careful what you type if you have a long-standing session going" - and that's really against the spirit of the agility and exploratory coding that Claude Code should fundamentally enable, right?
Please port this to the GUI! Or at least acknowledge the disparity in the documentation links above, so newcomers researching the feature know to enable Terminal mode.
This is the feature I miss most from Cursor.
Also really need this feature. Any update or ETA on when this might be added?