Run your Mac off an external SSD as primary storage — and keep working the instant it's unplugged. limpet fails over to a local folder, then merges your work back when the drive returns. Automatically.
Rich enough for the Mac, not rich enough for the 2 TB upgrade? Same — so I built this.
You move your files to a cheap external SSD and symlink to them — perfect, until the cable slips. Then saves fail, the Desktop empties, and a reboot can quietly split your files across two places.
The moment it's unplugged, each folder becomes a real local one — so every save keeps working. When the drive returns, your offline edits move back on, and a name clash keeps both.
Offline mode, for your drive. Everything below happens on its own — you never babysit a cable again.
A background guard rides a system hook that fires on any plug or unplug. Drive gone → your folder becomes a real local folder in under a second. Drive back → it re-links and merges. No permissions required.
Moving a folder onto the drive byte-checks every file before the original is ever removed. Fail the check, keep the original.
A name clash on merge keeps both copies, timestamped. You cannot lose a version.
No kernel extensions, no daemons, no network. One file you can read.
Ships via GitHub Releases. limpet update, or opt into automatic.
An interactive wizard for people; --drive --folders --yes for scripts & AI agents.
That's the entire tool. One reacts instantly; one finishes the job macOS won't let a background task do.
A launchd agent watching /Volumes. It flips folders between symlink and real-local the moment a drive appears or vanishes. Only stats the mountpoint — so it needs no Full Disk Access.
macOS blocks background tasks from writing to external volumes, so the merge-back runs from your terminal — which is allowed — via a tiny throttled hook. It also keeps an offline-readable mirror of anything critical.
The stuff you'd actually ask before running your whole Mac off a cable.
limpet link <path> moves anything else onto the drive too.limpet organize (v0.4) is an opt-in file sorter, off by default. When you enable it, it moves only idle files — you choose the rule (aged, aged-idle or quick) and where each type goes — it never overwrites, and every move is undoable with limpet organize undo.# install curl -fsSL https://raw.githubusercontent.com/notpritam/limpet/main/install.sh | bash
# set up — pick a drive + folders limpet setup