Repository navigation
Install and Update
curl -fsSL https://raw.githubusercontent.com/Datum-Collective/RIFT-coding-agent/main/opencode/install | bashThis installs from opencode/install. It detects darwin or linux with uname -s, normalizes aarch64 to arm64 and x86_64 to x64, picks a baseline build on x64 CPUs without AVX2, and picks a musl build when ldd reports musl or /etc/alpine-release exists. Linux archives are .tar.gz (needs tar); macOS archives are .zip (needs unzip).
Pin a version:
curl -fsSL https://raw.githubusercontent.com/Datum-Collective/RIFT-coding-agent/main/opencode/install | bash -s -- --version 0.1.8Other options (from install --help):
curl -fsSL https://raw.githubusercontent.com/Datum-Collective/RIFT-coding-agent/main/opencode/install | bash -s -- --no-modify-path
./install --binary /path/to/riftirm https://raw.githubusercontent.com/Datum-Collective/RIFT-coding-agent/main/opencode/install.ps1 | iexThis installs from opencode/install.ps1. It puts rift.exe in %LOCALAPPDATA%\rift\bin and adds that directory to the user PATH. Pin a version (irm | iex takes no arguments):
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/Datum-Collective/RIFT-coding-agent/main/opencode/install.ps1))) -Version 0.1.8- Default directory:
~/.rift/binon macOS and Linux (RIFT_INSTALL_DIRoverrides it),%LOCALAPPDATA%\rift\binon Windows. - The installer records the release in
rift.versionbeside the binary. - Both
riftandopencodestart the app. On macOS and Linux,opencodeis a symlink torift; on Windows it is anopencode.cmdforwarding shim. - If
~/.local/bin,~/bin,/opt/homebrew/binor/usr/local/binis already on PATH and writable, the installer symlinksrift(andopencode) there so the command works at once. It never overwrites: an existing command of the same name is left alone. - Otherwise it appends
export PATH=$INSTALL_DIR:$PATH(orfish_add_pathon fish) to your shell config (.zshrc,.bashrc,.profile, and similar) and printssource ~/.zshrc(or the matching file) so the current terminal picks it up.--no-modify-pathskips both the linking and the shell config edit. On Windows it prepends to the user PATH instead. - macOS note: a binary downloaded through a browser is quarantined by Gatekeeper because these builds are not notarized. Clear it with
xattr -dr com.apple.quarantine ~/.rift/bin/rift. Thecurlcommand above avoids this.
rift --version prints the RIFT release:
0.1.8
rift debug info prints both numbers:
rift version: 0.1.8
opencode runtime: 1.18.29
os: Darwin 27.0.0 arm64
terminal: kitty 0.42.0 / xterm-256color
plugins:
none
The rift version line is what the update check compares. The opencode runtime line is what plugins and provider APIs see.
RIFT checks GitHub for a newer release when the app starts, then keeps checking while it stays open. The interval is defined in packages/opencode/src/cli/upgrade.ts:
UPDATE_CHECK_INTERVAL = 30 * 60 * 1000
That is, on launch and every 30 minutes. Failures (offline, GitHub down) are silent and retried next time. Only installs whose method is curl are checked; other install methods belong to a different product.
The dialog says:
Update available
RIFT v<latest> is available (you have v<current>).
Update now? It takes a few seconds, then RIFT asks you to restart.
Press esc to decide later.
Buttons are update now and skip this version. Skipping records the version so it is not offered again; esc decides later. After a successful update the app shows Successfully updated to RIFT v<version>. Please restart the application.
The autoupdate config key controls this (see Configuration):
- unset: ask (the default)
-
true: install patch releases silently; a minor or major release still asks -
false: stop checking for updates -
"notify": treated like unset (ask)
rift upgrade
rift upgrade 0.1.8
rift uninstall
rift uninstall --dry-run
rift uninstall --keep-config --keep-data
rift uninstall --forcerift upgrade [target] upgrades to the latest or a specific version. rift uninstall removes the binary, the PATH links that point at it, the shell config lines, and (unless kept) config and session data. --dry-run shows what would be removed without removing.
-
RIFT_INSTALL_DIR: where to put the binary (default~/.rift/bin). -
RIFT_NO_SHELL=1: do not open a new shell at the end of install; just print how to reload. -
RIFT_VERSION(orVERSION): version for the installer to fetch; this is whatrift upgradesets. -
RIFT_RELEASES_API: where to look for the newest release (defaulthttps://api.github.com/repos/Datum-Collective/RIFT-coding-agent/releases/latest). Defined inpackages/core/src/brand.ts. -
RIFT_INSTALL_URL: where to fetch the install script from when updating (defaults to theinstallorinstall.ps1URL above). Defined inpackages/core/src/brand.ts.