Snap-It

April 30, 2026 · View on GitHub

Manage BTRFS snapshots via snapper and btrfs from Claude Code — create, list, diff, rollback, and prune subvolume snapshots.

Originally a PyQt6 GUI wrapper around snapper; rebuilt as a Claude Code plugin so the same operations are driven through chat instead of a tray icon.

Skills

  • list-subvolumes — list BTRFS subvolumes and which are snapper-managed
  • create-snapshot — take a snapshot (snapper, with btrfs subvolume snapshot fallback)
  • list-snapshots — list existing snapshots for a snapper config
  • diff-snapshot — show file-level changes between two snapshots or vs. the live FS
  • rollback-snapshot — revert a subvolume to a prior snapshot (dry-run by default)
  • prune-snapshots — delete old snapshots by count, age, or tag
  • pre-change-snapshot — take a pre snapshot and return the ID for later post-pairing
  • setup-snapper-config — bootstrap snapper for a new subvolume

Commands

  • /snap [description] — quick snapshot via the root config
  • /snap-before <command> — pre-snapshot, run command, post-snapshot, summarise the diff

Requirements

  • BTRFS root or target mount
  • snapper and btrfs-progs (sudo apt install snapper btrfs-progs on Ubuntu/Debian)
  • sudo access — all operations require root

Installation

# Always-available (user scope):
claude plugins install snap-it@danielrosehill

# Or per-project:
claude plugins install snap-it@danielrosehill --scope project

Licence

MIT — see LICENSE.