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 installed with rivets worker install checks for a new release every 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 or terminals running and no events waiting to be delivered.
  • Restarts at most once every 12 hours.

Automatic updates apply only to an installed background service. A worker you run in the foreground with rivets worker connect does not update itself.

Turn off automatic updates

rivets worker connect --no-auto-update

The choice is saved in ~/.rivets/config.json. Run rivets worker connect --auto-update to turn it back on.

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 worker 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.

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. 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 worker status shows the worker’s protocol version and whether it is compatible with the server. When a new release changes the protocol, update your workers. Leaving automatic updates on is the easiest way to stay compatible.

Type to search the docs.