A third-party extension for Pi

Try a different path.
You can come back.

Rewind your files and conversation together. Preview what changes, return to an earlier message, and redo when you change your mind.

pi install npm:pi-better-rewind-redo

Requires Pi + Node.js 22.19+. Installs filesnap automatically. No Rust build.
Developed for Pi 0.85.1. Tested on Linux x64.

pi / workspaceInteractive illustration
Conversation
❯ Make the greeting a little warmer.
Updated greeting.ts.
The new greeting is ready.
greeting.ts
// Workspace file
export const greeting =
  "Welcome back.";

Click /rewind, then /redo. This is a browser illustration, not a live Pi session.Your actual files are untouched.
01

Files follow the conversation.

Choose a user message and restore to before it. Rewind across several turns, then use multiple levels of redo to return.

02

Your Git stays yours.

Snapshots live outside your workspace. No commits, no index changes, and no Git repository required.

03

Preview. Confirm. Recover.

See planned writes and deletions before restoring. A rescue snapshot and saved recovery journal help you recover if the operation is interrupted.

Four commands. One workflow.

/rewind
Select a message, preview, and restore.
/redo
Return to the state before the last rewind.
/rewind-status
Inspect checkpoints, redo history, and storage.
/rewind-recover
Retry recovery in the original saved session.

Know what is covered.

Coverage combines Git-indexed paths, files declared before Pi’s edit/write operations, and a bounded scan of recent files. Text and binary contents are supported.

Bash, MCP, and external tools can be rewound only for paths captured before the change. Newly created, undeclared files may remain. Ignore rules apply in both directions.

Use one writer during restore. Recovery needs a saved session; snapshots are not automatically pruned. See the documentation for symlink, remote-file, and metadata limits.

Read the full documentation →