The world's first terminal undo and recovery system for VS Code. Run dangerous commands with confidence.
What is Ctrl Z Terminal?
Ctrl Z Terminal is a transactional recovery and undo engine for VS Code integrated terminals.
This is not command history. This is:
- ⏮ Terminal rollback — actually undo
rm,mv, overwrite, and more - 📸 Snapshot-based recovery — incremental, compressed workspace snapshots
- 🔴 Intelligent risk analysis — 40+ dangerous command patterns classified in real time
- 🛡️ Safety infrastructure — warns you before destruction happens
"I can finally trust my terminal."
Features
🔴 Risk Analysis Engine
Every command you run is scored 0–100 and classified:
| Level | Score | Examples |
|---|---|---|
| 🟢 SAFE | 0–25 | ls, cat, echo, git status |
| 🟡 WARNING | 26–50 | chmod, npm uninstall, kill, sed -i |
| 🟠 DANGEROUS | 51–80 | rm, mv, git checkout --, docker rm |
| 🔴 CRITICAL | 81–100 | rm -rf, git reset --hard, git clean -fd, dd |
📸 Smart Snapshot Engine
Before dangerous commands execute, Ctrl Z Terminal:
- Scans your workspace
- Hashes every file (only copies changed files — incremental)
- Compresses snapshots with gzip
- Stores everything locally in
~/.vscode/ctrl-z-terminal/
⏮ True Undo
Hit Ctrl+Shift+Z to undo the last dangerous command. Restores:
- Deleted files
- Overwritten content
- Renamed files
- Directory structures
🖥️ Recovery Timeline
A beautiful VS Code panel showing:
- Every command with its risk level
- Snapshot availability indicator
- One-click undo / restore
- Search and filter by risk level
- Time-ago timestamps
🔒 100% Local & Private
- Zero telemetry
- No cloud dependency
- All snapshots stored locally
- Works fully offline
Installation
From VS Code Marketplace
Search for "Ctrl Z Terminal" in the Extensions panel, or:
ext install ctrl-z-terminal.ctrl-z-terminal
From Open VSX (Cursor, VSCodium, Windsurf)
Search for "Ctrl Z Terminal" in your editor's extensions panel.
From VSIX (manual)
code --install-extension ctrl-z-terminal-0.1.0.vsix
Usage
Ctrl Z Terminal activates automatically when VS Code starts.
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Ctrl+Shift+Z (Mac: Cmd+Shift+Z) |
Undo last command |
Ctrl+Shift+T (Mac: Cmd+Shift+T) |
Open Recovery Timeline |
Command Palette
| Command | Description |
|---|---|
Ctrl Z Terminal: Undo Last Command |
Rollback to pre-command state |
Ctrl Z Terminal: Open Timeline |
Open Recovery Timeline panel |
Ctrl Z Terminal: Restore Snapshot |
Pick a snapshot to restore |
Ctrl Z Terminal: Analyze Command |
Analyze any command |
Ctrl Z Terminal: Cleanup Snapshots |
Enforce retention policies |
Ctrl Z Terminal: Toggle Monitoring |
Pause/resume monitoring |
Shell Support
| Shell | Integration Method | Status |
|---|---|---|
| bash | PROMPT_COMMAND + DEBUG trap | ✅ Full |
| zsh | add-zsh-hook preexec/precmd | ✅ Full |
| fish | fish_preexec/fish_postexec | ✅ Full |
| PowerShell | PSReadLine + prompt wrap | ✅ Full |
| cmd.exe | Best-effort output parsing | ⚠️ Partial |
Configuration
Open VS Code Settings (Ctrl+,) and search for ctrlZTerminal:
| Setting | Default | Description |
|---|---|---|
ctrlZTerminal.enabled |
true |
Enable/disable monitoring |
ctrlZTerminal.autoSnapshot |
true |
Auto-snapshot before dangerous commands |
ctrlZTerminal.riskThreshold |
WARNING |
Minimum risk level to trigger snapshot |
ctrlZTerminal.requireConfirmation |
true |
Show dialog before dangerous commands |
ctrlZTerminal.excludeFolders |
[node_modules, .git, ...] |
Folders excluded from snapshots |
ctrlZTerminal.ignoredCommands |
[] |
Commands to skip analysis for |
ctrlZTerminal.snapshotRetentionDays |
7 |
Days to keep snapshots |
ctrlZTerminal.maxStorageMB |
500 |
Max snapshot storage in MB |
How It Works
Terminal command → OSC 633 capture → Risk Engine → Safety Dialog?
↓
Snapshot Engine (if needed)
↓
Command executes
↓
Filesystem Tracker records changes
↓
Storage Engine saves record
↓
Recovery Timeline UI updated
Privacy & Security
- ✅ All data stored in VS Code's
globalStorageUri(local machine only) - ✅ No network requests ever made
- ✅ No analytics, no crash reporting, no telemetry
- ✅ Snapshots are automatically cleaned up per your retention settings
- ✅ The
telemetrysetting is permanentlyfalse
Publishing
See docs/PUBLISHING.md for full publishing instructions for both:
- VS Code Marketplace
- Open VSX Registry
Contributing
See docs/CONTRIBUTING.md.
Architecture
See docs/ARCHITECTURE.md for the full module dependency diagram and data flow.
License
MIT © Ctrl Z Terminal Contributors. See LICENSE.