Automatically restore your tabs, split-pane layout, and cursor positions when switching Git branches. Local-first, zero telemetry, seamless context recovery.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Automatic, ephemeral workspace state and cursor restoration across Git branch switches. Zero dependencies. Zero cloud sync.
Features
Feature
Description
Automatic Tab Restore
Tabs reopen in their original editor groups when returning to a branch.
Cursor Position Memory
Line and column positions are saved per file and per branch. Restores exact position with a brief highlight pulse.
Split-Pane Layout
Preserves editor columns (ViewColumn). Files reopen in the pane where they were left.
Zero Configuration
Works out of the box with no settings, keybindings, or setup commands required.
Dirty-File Safety
Files with unsaved edits are never closed on branch switch.
Fully Local
All state is stored in VS Code's local workspace storage. Zero network requests, zero telemetry.
How It Works
Branch Switch: GitRecall listens to HEAD changes from VS Code's built-in Git extension, using a 300ms trailing-edge debounce to handle rapid checkouts.
Save: Captures open tabs, active editor groups, pinned states, and cursor positions for the outgoing branch into local workspace storage.
Clean Desk: Closes clean tabs to prepare the editor for the target branch. Dirty buffers with unsaved changes are always kept open.
Restore: Reopens the target branch's tabs in their original layout, places cursors, and applies a brief line highlight.
Installation
Install through VS Code:
Open the Extensions view (Ctrl+Shift+X / Cmd+Shift+X).
Search for GitRecall.
Click Install.
Or via command line:
code --install-extension Saksham-Mann.gitrecall
Requirements
VS Code ^1.85.0
Built-in Git extension enabled in a workspace with an initialized Git repository
Privacy
GitRecall stores state strictly in VS Code's local workspace storage (context.workspaceState). It makes no network requests and collects no telemetry.
Known Limitations
Limitation
Details
Single-root workspaces
Tracks the active repository in single-root workspaces. Multi-root support is planned for a future release.
Local storage only
State is saved in local workspace storage and does not sync across machines via Settings Sync.
Text editors only
Non-text tabs (diff viewers, webviews, settings UI) are skipped during capture and restore.
Feedback and Support
To report bugs, request features, or view the source code, visit the GitHub repository.
If GitRecall improves your workflow, please consider leaving a review on the Visual Studio Marketplace and starring the project on GitHub. Ongoing feedback helps guide future improvements.