Coding agents
Your agent uses ordinary Git worktrees; Riftri changes their storage, not how
the agent reads, edits, commits, or tests files. There is no plugin to
install, no tool to register, and no prompt to change — the agent keeps
calling git worktree add and that call takes the optimized path.
Easiest: guided setup
riftri setupAfter creating a worktree, pick Claude Code, Codex, another installed executable, or Not now. Riftri asks separately before enabling the repository and launching; it never installs or signs in to agents.
Launch an agent yourself
From your repository:
riftri enable
riftri exec -- claudeReplace claude with codex or another CLI. Inside that process and its
children, supported git worktree commands use Riftri; Git outside is
unchanged. To start in an existing worktree:
riftri exec --worktree ../app-auth -- codexBoth conditions are required. A repository without riftri enable uses real
Git even inside riftri exec, and an enabled repository is untouched outside
it, so nothing changes for your other projects.
Why this suits parallel agents
One agent per task means one worktree per task, created and discarded constantly. Worktrees of the same commit share a single immutable base, so the second and later ones are cheap — concurrent creates are coordinated by per-base locks, with one process materializing the base and the rest reusing it.
When an agent run is killed mid-operation, riftri repair resumes or rolls
back what was interrupted instead of leaving half-made state. Clean removal
refuses a worktree with uncommitted work, so a crashed agent's edits are not
discarded silently.
What the agent needs to know
- No special prompt; the agent creates worktrees by calling
gitthrough its inherited PATH. - Embedded Git libraries and absolute Git paths bypass Riftri.
- Guided setup is interactive only. Scripts and harnesses should drive the commands directly — see the custom harness guide for the JSON reports, exit codes, and cleanup a runner needs.
- Not a sandbox for untrusted agents; use an OS sandbox, container, or VM for that boundary.