SHELL UTILITY

undo.sh

Reverse any shell command. Fearlessly.

~/projects
$ rm -rf node_modules/
$ undo.sh
Restored node_modules/ (14,291 files)
Explore Dashboard

Command Dashboard

Manage, track, and undo your shell operations

Recent Commands

12
mv config.yml config.bak 2m ago
chmod 755 deploy.sh 5m ago
rm -rf ./dist 8m ago
cp .env .env.backup 15m ago
git reset --hard HEAD~3 22m ago

Session Stats

0 Commands Tracked
0 Undone
0 Success Rate %
0 Active Sessions

Command Execution Flow

input parse log exec track snap undo

Features

Everything you need to fearlessly operate in the terminal

Filesystem Snapshots

Automatic snapshots before every destructive operation. Restore any file, directory, or permission state instantly.

Full Command History

Every command is logged with context, timestamps, and side effects. Browse your session history like a timeline.

Smart Reversal

Intelligent undo logic that understands mv, cp, rm, chmod, chown, and git operations. Context-aware reversals.

Batch Operations

Undo multiple commands at once. Group related operations and reverse them as a single transaction.

Safe Mode

Dry-run any destructive command first. See what would change before committing. Built-in confirmation prompts.

Plugin System

Extend undo.sh with custom handlers for any command. Community plugins for Docker, Kubernetes, and more.

Get Started

One line. That is all it takes.

install
$ curl -sS https://undo.sh/install | sh
Downloading undo.sh v2.4.1...
Installing to /usr/local/bin/undo.sh...
Installation complete. Run undo.sh --help to begin.

Homebrew

brew install undo-sh

npm

npm install -g @undo/sh

From Source

git clone https://github.com/undo-sh/undo.sh