Snapshots and Reset
ShellPod lets you create snapshots of your container state and reset to a clean environment when needed. Think of snapshots as save points — capture your current state before a risky operation, and roll back if something goes wrong.
What are snapshots?
A snapshot captures the complete state of your ShellPod container at a point in time. This includes:
- All files on the filesystem (your code, configs, installed packages)
- System-level configurations
- Installed tools and their configurations
Snapshots do not capture running processes — if you restore a snapshot, you will need to restart any servers or background processes.
Creating a snapshot
From your ShellPod dashboard, click the Create Snapshot button on your session card. The snapshot process takes a few seconds depending on how much data is on your container.
Good times to create a snapshot:
- Before asking Claude Code to do a major refactoring
- After getting your environment set up perfectly (SSH keys, configs, packages)
- Before experimenting with a new approach you might want to undo
- At the end of a productive day, to have a known-good state to return to
Restoring a snapshot
If something goes wrong and you want to roll back, you can restore your most recent snapshot from the dashboard. This replaces your current container state with the snapshot state.
Important: Restoring a snapshot is destructive — any changes made after the snapshot was created will be lost. Make sure you have committed and pushed any code you want to keep before restoring.
Resetting to clean state
Sometimes you want to start completely fresh. The Reset button on your dashboard wipes your container and provisions a new one with the default ShellPod environment.
A reset gives you:
- A fresh Linux container with the default ShellPod configuration
- Pre-installed tools (Git, Node.js, Python, Claude Code)
- Default MCP server configuration (Context7)
- Clean home directory with no previous files
Warning: Reset is permanent. All files, SSH keys, git repos, and configurations will be deleted. Only use reset when you genuinely want a fresh start. Create a snapshot first if you might want to go back.
Snapshot workflow example
Here is a practical workflow using snapshots:
- You have been working on your project for a week. Everything is configured perfectly — SSH keys, git repos cloned, all dependencies installed, CLAUDE.md tuned.
- Create a snapshot from the dashboard. This captures your ideal environment state.
- You ask Claude Code to try a radical new architecture approach. It reorganizes your entire project.
- After reviewing, you decide the new approach does not work. Instead of manually undoing everything, restore your snapshot.
- You are back to your perfect environment state in seconds.
Best practices
- Snapshot after setup: Once you have your environment configured (SSH keys, git identity, CLAUDE.md, packages), create a "golden image" snapshot. This is your fallback if anything goes wrong.
- Snapshot before experiments: If Claude Code is about to try something aggressive, snapshot first. It is much faster than manually fixing a broken environment.
- Git is your friend: Snapshots are great for environment state, but for code changes,
git commitis still the best tool. Use both: git for code versioning, snapshots for environment versioning. - Push before reset: Before resetting, make sure all important code is pushed to a remote repository. The reset will delete everything on the container.
Limitations
- Currently, ShellPod keeps your most recent snapshot. Older snapshots are replaced when you create a new one.
- Snapshot creation briefly pauses your container (a few seconds).
- Running processes are not captured — after restoring, you need to restart dev servers, Claude Code sessions, etc.