Contents

Remove Yoke

Choose what to preserve before removing Yoke from this machine or its projects. The uninstall command reports each cleanup result and names recovery on failure.

Uninstall

yoke uninstall

On a machine holding a local universe or a self-host server, the first output warns that uninstall deletes its only copy of the universe data. Choose back up first to run yoke universe export for each owned universe, or uninstall without backing up. There is no automatic backup. Uninstall's backups land in the current directory; run uninstall outside the machine home. A manual yoke universe export defaults to the machine Yoke home exports folder; pass --out PATH outside that home before uninstall. A failed export stops removal and names the recovery. Hosted-only clients see no data warning.

Next, the command lists registered checkouts with a Yoke install manifest. Choose all, none, or a selection to also run yoke project uninstall on. A Git checkout must be on the project's default branch before its layer is removed. When the Yoke install that owns a project no longer answers, its layer is still removed and committed on the current branch, with a warning to merge that commit into the default branch. It then removes the relay and its workers, the selected project layers, Yoke's GitHub credentials and checkout helpers, its machine-wide hooks and their Codex trust, and the folder-trust settings it wrote into Claude Code, Codex and Cursor. It restores approval modes replaced during setup and removes approval keys setup added. It stops the hook evaluator, local UI and embedded Postgres, tears down local self-host stacks and their universe volumes, and deletes the machine home (~/.yoke or YOKE_MACHINE_HOME). A harness setting you changed after Yoke wrote it is left in place and reported. Docker is only checked when this machine runs a self-host install. No further confirmation is required. Finally a detached worker removes the immutable CLI releases and launcher after commands release their environments. Its result log is printed by the command.

Each step reports done, skipped with a reason, or failed with a named recovery. Independent cleanup continues after a failure; the machine home and CLI stay available when cleanup needs recovery. Fix the reported problem and retry. Source-checkout CLI installs refuse; retire those through your source-dev workflow.

For unattended removal, make the same choices explicitly:

yoke uninstall --projects all --yes                 # hosted-only client
yoke uninstall --backup --projects none --yes       # machine holding data
yoke uninstall --no-backup --projects ~/work/app --yes

--projects accepts all, none, or comma-separated registered checkout paths. --yes never selects data loss or a project choice for you. Yoke removes its marked PATH blocks from all supported startup files, including .zshenv and .bashrc, and preserves unrelated shell text. It leaves uv, user-owned PATH entries, and the GitHub App installed; remove the App in GitHub settings if desired. Push the removal commits made in the chosen checkouts. Project-owned edits and strategy documents are preserved by the existing project uninstall.

Remove one project layer

yoke project uninstall /path/to/checkout

For an installed layer, it removes only proven installer-owned, exclusive checkout registration and the exact folder trust Yoke recorded writing. Trust Yoke did not write, such as trust you granted in a harness or on a parent folder, is neither changed nor reported. A trust entry you edited after Yoke wrote it stays and is reported; uninstall still completes. A checkout mapping that onboarding or install wrote is installer-owned; one made by yoke project register stays, and the warning names the machine config entry to delete before you rerun. Shared roots, Git worktrees and unproven registration are preserved with named reasons. The removal commit records only files Git already tracked; ignored local views, including the install manifest, never enter history. Strategy documents stay on disk, untracked. A partial cleanup exits nonzero and keeps its manifest and .yoke/.gitignore, so the checkout stays clean: resolve the named ownership or sharing issue, then rerun the same command. Credentials, other projects, shared tools and server history stay intact; source checkouts refuse.

If installation failed before writing a .yoke layer, onboarding still keeps the checkout registered. The same command removes that exact registration only after checking for uncommitted work and shared checkout scope; it changes no source files or folder trust. A .yoke directory without its manifest refuses with project_uninstall_manifest_missing: recover the manifest before retrying instead of guessing which files Yoke owns.

Retiring lanes removes their path-owned folder trust before machine uninstall. To remove older residue while keeping Yoke installed, run yoke harness lane-config sweep --dry-run, then the same command without --dry-run. Each changed config receives a timestamped backup beside it; paths outside managed roots remain. See harness cleanup.

Uninstall ยท Yoke