before · without Reinstate
Context dies at the desk
- Sessions trapped on one machine
- Paths and agent state drift apart
- Context must be rebuilt manually
Move encrypted Claude Code or Codex sessions between macOS and Windows. Reinstate encrypts the session locally, then stores it in your own S3 or R2 bucket.
curl -fsSL https://reinstate.dev/install.sh | shrein is the CLI for ReinstateApache‑2.0one Go binaryyour bucket, your keysLast reviewed
Git still handles your code. Reinstate carries the encrypted Claude Code and Codex session state Git leaves behind, remapping project paths for the machine you are on.
before · without Reinstate
after · with Reinstate
List and push on the first machine. Pull on the second. Reinstate remaps the project path, restores the native session, and lets you continue where you left off.
PS C:\reinstate> rein list --agent claude
claude ses_7f3a reinstate 2.1 MB 4h ago
PS C:\reinstate> rein push --agent claude --session ses_7f3a
Encryption passphrase: ••••••••
pushed 1 snapshot, skipped 0 unchanged$ rein pull --agent claude --session ses_7f3a
Encryption passphrase: ••••••••
pulled 1 snapshot
project map: C:\reinstate → /Users/harjot/Code/reinstate
$ claude --resume ses_7f3aYour sessions can contain source code and private work. Reinstate encrypts them locally before storage.
Your bucket holds ciphertext. Decryption happens locally with the passphrase you enter.
Reinstate seals every session snapshot on-device with age before upload. Your S3 or R2 bucket receives ciphertext only, never readable session content.
Enter the same passphrase privately on each device. Reinstate never uploads it or stores it in your bucket. Lose it and remote snapshots cannot be recovered.
Ciphertext lands in your own S3 or R2 bucket, under your region and access controls.
Authenticate directly with your storage provider. Agent auth files and storage credentials are never included in snapshots.
Existing session files are backed up before replacement. Validated restores use atomic writes, while conflicts create explicit forks.
Same repo, different path, different project key. The files copy successfully, but --resume may find nothing. Reinstate maps the destination path and rebuilds the project reference the agent expects.
C:\Users\harjot\projects\apiC--Users-harjot-projects-api~/.claude/projects/C--Users-harjot-projects-api//Users/harjot/dev/api-Users-harjot-dev-api~/.claude/projects/-Users-harjot-dev-api/--resume: no matching projectapi/Users/harjot/dev/apiCloud drives preserve session files, not the agent’s machine-specific project identity.
It remaps the destination path, then reconstructs the project reference the agent expects.
Claude Code sessions resume in Claude Code; Codex rollouts resume in Codex—never in a generic transcript viewer.
Use cloud handoff for cloud sessions and remote control for a live machine. Use Reinstate when encrypted local session state needs to move between configured computers.
Continue work that began inside a vendor cloud in that vendor’s local surface.
Steer a live session from another screen while the source machine keeps it running.
Restore encrypted local session state on another configured computer—even after the original session ends.
Sessions resume in the same agent: Claude Code stays in Claude Code, and Codex stays in Codex. Cross-agent work uses explicit handoffs.
Install the CLI, connect your bucket, and continue supported Claude Code and Codex sessions across configured macOS and Windows machines.
curl -fsSL https://reinstate.dev/install.sh | shirm https://reinstate.dev/install.ps1 | iexrein + reinstate