Getting Started
Reinstate syncs AI coding agent sessions (and later: MCP configs, skills, settings) across your machines — encrypted, vendor-neutral, bring-your-own storage.
Status: repository and docs are live; the v0.1 CLI is under active development. Commands below describe the target UX. Follow ROADMAP.md for ship status.
Prerequisites
- Two (or more) machines you develop on (e.g. Windows desktop + MacBook)
- At least one supported agent installed (Claude Code and/or Codex first)
- An object-storage backend or WebDAV endpoint you control
- Recommended: Cloudflare R2 (10GB free tier is plenty for sessions)
Install (target)
Binary (recommended)
# macOS / Linux (install script will ship with first release)
curl -fsSL https://raw.githubusercontent.com/HarjjotSinghh/reinstate/main/scripts/install.sh | sh
# Or download from GitHub Releases
# https://github.com/HarjjotSinghh/reinstate/releases
From source
git clone https://github.com/HarjjotSinghh/reinstate.git
cd reinstate
make build
sudo make install # installs reinstate + rein into your Go bin
rein version
CLI names:
reinis the short alias (preferred day-to-day).
reinstateis the full command. Both invoke the same tool.
Go install
go install github.com/HarjjotSinghh/reinstate/cmd/reinstate@latest
ln -sf "$(go env GOPATH)/bin/reinstate" "$(go env GOPATH)/bin/rein"
First device (desktop)
# Interactive wizard: storage backend, passphrase, sync scope, path map
rein init
# Push local agent sessions (encrypted)
rein push
# Optional: inspect remote vs local
rein status
What init asks
- Backend — R2 / S3 / GCS / S3-compatible / WebDAV
- Credentials — stored locally with restricted permissions (never uploaded)
- Encryption — passphrase (same passphrase = same key on every device)
- Scope —
sessions|config|all(start withsessions) - Path map — map project roots that differ across machines
(
C:\Users\you\work↔/Users/you/Projects)
Second device (laptop)
rein init
# Use the SAME backend + SAME passphrase
# Wizard verifies the passphrase can decrypt remote ciphertext
rein pull --dry-run # always preview first
rein pull # creates a timestamped local backup if needed
Then resume in your agent as usual:
claude --resume
# or
codex resume
The magic moment
Windows desktop (8h of sessions) → rein push
MacBook on the couch → rein pull
→ claude --resume # same thread
Path remapping rewrites embedded cwd / project slugs so resume finds the
session even when absolute paths differ across OSes.
Daily workflow (Phase 2+)
# Manual
rein push
rein pull
# Automated (shell hooks — roadmap)
# pull on shell start, push on exit
rein hooks install
Scopes
| Scope | What syncs |
|---|---|
sessions |
Agent conversation / rollout files (default) |
config |
MCP servers, skills, agents, portable settings |
all |
Both |
rein push --scope sessions
rein push --scope config
rein push --scope all
Safety defaults
- Encryption is on — no plaintext cloud copies
- Credential files (
auth.json, tokens) are never synced - Pull never silent-overwrites: conflicts fork; backups are created first
- First pull on a new device defaults to dry-run confirmation
Next steps
Need help?
See SUPPORT.md.