Guides

Updating VC

Update the app and the servers your agents run on.

The app you use and the server running your agents can be on different machines. When a server is behind your web or desktop app, an update notice appears in the conversation and Settings → Connections. Update the machine named in that notice.

Before you update

Server updates restart the connection and can interrupt active agents and terminal commands. Saved threads, settings, and project files remain.

Settings → General → Continue threads after restarts is off by default. Enable it to resume supported active threads after an update, crash, or machine restart. Changes are saved to connected environments that support this setting; update older servers first. If a supported environment was offline or has a different value, use Apply to all in Settings after it connects. VC must start again on that machine; the setting does not enable automatic startup. Terminal commands may still be interrupted, and threads without saved provider resume state need a new message. If you previously enabled continuation for updates, enable this setting once to allow recovery without a connected client.

Update a connected server

The offered action depends on how the server runs:

Action What to do
Update server Keep the client open while it installs and reconnects. Supported background services update remotely. For a desktop-hosted server, this also closes and relaunches the desktop app on the host.
Update the desktop app Update the desktop app on the machine running the server. The app installs the download and relaunches itself when you confirm.
Copy update command Stop the command-line server on its host and relaunch with the copied command, keeping your usual startup options.

For a background service, run the matching version’s CLI on the host:

npx vc@<client-version> service update

Replace <client-version> with the version shown in the notice. Using @latest only resolves the mismatch if your client is on that release. An older service launcher may require this local update before it supports remote updates and rollback.

For a foreground server, the copied command is npx vc@<client-version>. Add serve if you normally run without a browser, and preserve options such as --host or --tailscale-serve. See background services for service management.

Update the desktop app itself

The desktop app also checks for updates after launch. When a release is available, the update button in the status bar opens its changelog and lets you download it and restart to install. The same button sits on the sign-in and pairing screens, so you can update before connecting. Settings → About → App updates shows the same status and can check again. A remote client updating this machine’s server drives the same updater, so the row also shows that progress, and a download either side already finished is not repeated. Builds that ship without signed updater artifacts simply report no update.

If an update fails

When the desktop app hosts a server, VC upgrades older databases automatically. Before changing an existing schema, it saves a consistent copy in userdata/backups inside your VC home. A backup failure stops the upgrade; a migration failure rolls back its database changes. Normal restarts do not create additional migration backups.

If the database requires a newer version, update VC on the computer hosting that server. Opening it with a newer server once does not make it compatible with an older one. VC preserves the newer database rather than downgrading it. A backup contains history only up to the time it was created; restoring it can discard later work, so keep the current data before attempting recovery.

Keep the client open until it reconnects or reports a failure. A failed service update can roll back to the previous version. If the update still fails:

  1. Retry the offered action once.
  2. Check that you updated the server’s machine, not only the device you are using.
  3. For a command-line server, stop it and relaunch the exact version shown in the notice.

Mobile updates

Install App Store or Google Play releases as usual. The mobile app can also download updates in the background and apply them when you next leave the app. It saves drafts and queued messages before restarting. If you keep the app open for a long time, it may ask to install immediately; choosing Later leaves the update queued for the next suitable moment.