Install the Reinstate CLI
Install Reinstate with the official bootstrap for your operating system, then
require rein version --json to report the pinned candidate named in the
changelog.
The bootstrap verifies the canonical tagged installer, release checksum,
downloaded binary, and reported version before replacing an existing
installation.
Release status: the publicly installed candidate is a pre-1.0 release whose tagged-artifact acceptance is pending on native Windows x64 (Apple Silicon macOS is deferred until that hardware returns). Stable remains
v0.5.1; Intel macOS and Linux/WSL2 remain optional and unverified.
Prerequisites
- Apple Silicon macOS or native Windows x64 for mandatory Phase 4 acceptance, or an optional unverified environment (Intel macOS, Linux, or WSL2). WSL1 is refused.
- A user account that can write to a user-local installation directory.
- HTTPS access to
reinstate.devand the project’s GitHub Release assets. - A new terminal after PATH changes.
Installation does not require an Anthropic account credential, OpenAI account credential, S3 credential, or Reinstate passphrase. Those secrets belong to later setup prompts, never the installer command or an agent chat.
Install with Homebrew on Apple Silicon macOS
brew install HarjjotSinghh/tap/reinstate
The tap formula may lag until the package-publish workflow lists 0.4.0.
GitHub Releases are the source of truth. Intel macOS and Linuxbrew
remain optional and unverified for this release; use the bootstrap below if
you prefer the canonical installer path.
Install with the official bootstrap
For macOS, Linux, or WSL2:
curl -fsSL https://reinstate.dev/install.sh | sh
The default binary directory is ~/.local/bin. The script installs
reinstate and its shorter rein alias without elevation, updates the
appropriate user shell startup file when needed, and prints an absolute next
command that works in the current shell.
For native Windows PowerShell:
irm https://reinstate.dev/install.ps1 | iex
The default directory is
%LOCALAPPDATA%\Programs\Reinstate\bin. The script installs
reinstate.exe and rein.exe, adds the directory to the user PATH and current
PowerShell process, and does not configure WSL.
Native Windows and WSL2 must use separate Reinstate homes and device
identities. Do not point WSL2 at %USERPROFILE%\.reinstate or share one native
agent-state directory between the two environments.
Inspect the installer before execution
Download and read the script when your environment requires review before execution.
macOS, Linux, or WSL2:
curl -fsSL https://reinstate.dev/install.sh -o reinstate-install.sh
less reinstate-install.sh
sh reinstate-install.sh
Native Windows:
$Installer = Join-Path $env:TEMP "reinstate-install.ps1"
Invoke-WebRequest https://reinstate.dev/install.ps1 -OutFile $Installer
Get-Content $Installer
& ([ScriptBlock]::Create([IO.File]::ReadAllText($Installer)))
Both bootstraps pin the exact Reinstate tag, retrieve the canonical installer from
that tag, verify its SHA-256, download the matching release asset and
checksums.txt, verify the asset, and execute the downloaded binary’s version
check before installation.
Replacing an existing version
An already installed different version is preserved until you explicitly approve replacement. On POSIX, the replacement prompt has a 30-second default timeout and refuses when the active shell cannot perform a timed TTY read. A timeout, unsupported shell, or invalid timeout preserves the existing binary.
After reviewing the requested version change, deliberate POSIX automation may
set REINSTATE_CONFIRM_REPLACE=1. The timeout can be set from 1 through 300
seconds with REINSTATE_CONFIRM_TIMEOUT_SECONDS. These switches approve only
binary replacement; they do not approve configuration, credentials, or session
transfer.
Verify the installed CLI
Open a new terminal and run:
rein version --json
reinstate version --json
rein setup check
Before rein init, setup check should identify missing Reinstate
configuration. An installed agent can also report SUPPORTED, UNTESTED,
UNSUPPORTED, or NOT_INSTALLED; resolve platform, keyring, or compatibility
failures before synchronization.
Expected evidence
- Both binary names resolve without an absolute path and report the same
0.4.0version. - The binary architecture matches the current environment.
- The installer reports successful checksum and release-version checks.
rein setup checkruns as a read-only preflight and does not claim the uninitialized device is ready to sync.
Save command output only after redacting private paths. Binary verification is not proof of stable support outside Apple Silicon macOS and native Windows x64.
Failure paths
- If the shell cannot resolve
rein, follow binary and PATH troubleshooting. - Stop after any missing checksum entry, SHA-256 mismatch, release version mismatch, unsupported architecture, or installer download failure.
- Treat
setup checkexit code5as a compatibility blocker, not a warning to bypass. - Report a suspected malicious or substituted release through the private security policy.
Do not solve an installer failure by downloading an unofficial mirror or disabling checksum verification.
Security boundaries
The installers establish release identity and binary integrity; they do not make the pre-1.0 product formally audited. They do not request agent credentials, storage credentials, or the session passphrase. Run installers with ordinary user permissions, inspect them when policy requires, and keep release output free of secrets.
An agent may help inspect commands and redacted results. Enter later storage credentials and the encryption passphrase privately into Reinstate’s hidden prompts, never into Claude Code, Codex, shell history, or a public issue.