[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.
This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗