Rivets
Documentation

Updates

Standalone workers update themselves when they run as a background service. You can also update by hand at any time. The Mac app and its bundled worker update together through the app’s own updater.

Automatic updates

A standalone worker running as a background service checks for a new release about a minute after it starts, then about once an hour. When one is available it:

  • Downloads the build for its exact platform and architecture.
  • Verifies the release’s Ed25519 signature, its SHA-256 checksum, and the embedded version before installing.
  • Restarts only while the worker is idle: no jobs, terminals, or previews running and no events waiting to be delivered. If work arrives while the release downloads, it installs it and restarts at the next idle moment.
  • Restarts at most once every 12 hours.

Automatic updates apply only when a background service is installed. A worker you run in the foreground with rivets run does not update itself.

Turn off automatic updates

rivets connect --no-auto-update

The choice is saved in ~/.rivets/config.json, and the background worker restarts with it. Run rivets connect --auto-update to turn it back on. rivets status shows the current setting.

Update by hand

Check whether a newer release exists without changing anything:

rivets update --check

Download, verify, and install it:

rivets update

rivets update goes through the same signature and checksum verification as automatic updates.

Platform What happens
macOS, Linux The executable is replaced atomically. A running background service keeps its current process until you run rivets restart.
Windows The replacement is staged and completes after the update command exits. If a managed Task Scheduler worker is installed, it is stopped and restarted for you. While that worker is running work, rivets update refuses and asks you to wait until it is idle.

On macOS and Linux, running the installer again also updates the CLI in place:

curl -fsSL https://app.rivets.dev/install.sh | sh

When rivets update refuses

rivets update does not overwrite:

  • Source checkouts and package-manager installs. Update those through the checkout or the package manager.
  • The worker embedded in the Mac app. It is part of the signed app bundle and updates with the app.

The Mac app

The Mac app updates itself with Sparkle, a standard macOS update framework. Choose Rivets › Check for Updates… to check now. Updates are signed, and the bundled worker is replaced together with the rest of the app, so the app and its worker always match.

Compatibility

Rivets and its workers speak a versioned protocol. rivets status shows the worker’s protocol version and whether it is compatible with the server.

When the server needs a newer worker, the worker does not exit or restart in a loop. It stays running but takes no work, reports that an update is required, and asks the server again every 10 minutes and when the machine wakes. Once it is updated, or the server accepts it again, it carries on by itself. In the Mac app, Settings › This Mac shows Update Rivets in this case.

Leaving automatic updates on is the easiest way to stay compatible.

Type to search the docs.