Skip to content

macOS update & uninstall

Update and uninstall Revka on macOS via Homebrew, Cargo, or manual steps.

This page covers the day-2 lifecycle of a macOS install: how to update Revka in place and how to remove it cleanly. Use it after you have installed Revka — see Installation for the initial setup.

The exact commands depend on how you installed the binary. Homebrew, the bootstrap script (install.sh), Cargo, and manual prebuilt downloads each have their own update and uninstall paths, so start by confirming which one is active.

Two commands tell you which revka your shell runs and what version it is:

Terminal window
which revka
revka --version

Typical binary locations on macOS:

Install methodBinary path
Homebrew (Apple Silicon)/opt/homebrew/bin/revka
Homebrew (Intel)/usr/local/bin/revka
Cargo / bootstrap / manual~/.cargo/bin/revka

Pick the section that matches your install method. After any update, verify with revka --version.

Terminal window
brew update
brew upgrade revka
revka --version

If you installed from a local repository checkout, pull the latest source and re-run the installer. The --prefer-prebuilt flag downloads the latest release binary first and falls back to a source build only if no prebuilt asset is available:

Terminal window
git pull --ff-only
./install.sh --prefer-prebuilt
revka --version

To force a source-only rebuild from the checkout instead:

Terminal window
git pull --ff-only
cargo install --path . --force --locked
revka --version

If you installed the binary into ~/.cargo/bin via Cargo, rebuild and replace it from your checkout with the same cargo install --path . --force --locked command shown above.

Any install layout can also use the built-in self-updater, which downloads a release binary from GitHub Releases, verifies its SHA256 and optional cosign signature, backs up the current binary, swaps in the new one, and runs a smoke test — rolling back automatically if the new binary fails:

Terminal window
revka update # download and install the latest release
revka update --check # check for a newer version without installing
revka update --force # skip the confirmation prompt
revka update --version X.Y.Z # install a specific version
FlagMeaning
--checkCheck only; report whether an update is available, install nothing.
--forceSkip the interactive confirmation prompt.
--version <X.Y.Z>Target a specific release instead of the latest.

If you downloaded a release binary by hand, re-run your download/install flow with the latest release asset, then verify:

Terminal window
revka --version

Uninstalling is a three-part process: stop the background service, remove the binary, and optionally delete local runtime data.

Do this first so the launchd-managed daemon does not keep running after the binary is gone:

Terminal window
revka service stop || true
revka service uninstall || true

On macOS, revka service uninstall removes the launchd agent it created:

  • ~/Library/LaunchAgents/com.revka.daemon.plist

Homebrew:

Terminal window
brew uninstall revka

Cargo / bootstrap / manual (binary at ~/.cargo/bin/revka):

Terminal window
cargo uninstall revka || true
rm -f ~/.cargo/bin/revka

This deletes your config, auth profiles, logs, and workspace state. Only run it for a full cleanup — there is no undo:

Terminal window
rm -rf ~/.revka

Confirm the binary is gone and no process is still running:

Terminal window
command -v revka || echo "revka binary not found"
pgrep -fl revka || echo "No running revka process"

If pgrep still reports a process, stop it manually and re-check:

Terminal window
pkill -f revka