Skip to content

Updating Clients

Marc Pope edited this page Oct 12, 2026 · 1 revision

Updating clients

The console does not update RustDesk clients. The only update path is the one built into the client itself, and it talks to RustDesk's infrastructure, not to your server. This page explains what that path does, what the console can and cannot do, and why the Client Downloads page is not an update source.

What the client does

With the client option allow-auto-update on, a thread inside the client:

  1. Checks 30 seconds after start, then once a day. It waits while a session is active.
  2. Asks https://api.rustdesk.com/version/latest. That URL is compiled into the client. The API server you configured is never asked.
  3. Gets back a link to a GitHub release. The client refuses anything that is not an HTTPS link to github.com.
  4. Reads the asset list from that release, downloads the stock installer for its platform, verifies the SHA-256, and runs it with --update.

Custom builds (any app name other than RustDesk) get the same background update on Windows. The updater installs the stock RustDesk exe from GitHub and carries the customisation across through the custom.txt file next to the exe, so the result is the newest stock client with your settings applied. The in-app "check for update" button is disabled for custom builds, the background update is not.

On macOS the update runs from the root service. Linux has no auto-update.

What the console can do

  • Turn the flag on or off for a set of devices with a strategy: the "Auto update" option is the client's allow-auto-update key. The client applies it over the heartbeat.
  • Show which version each device runs, on the device list and the device page, so you can see who has moved.
  • Hand out installers on the downloads page for new installs and for people who update by hand.

What the console cannot do

  • Choose the update source. Nothing on your server can point the client at a build you uploaded; the URL and the github.com check are in the client.
  • Push a build to installed devices. Uploading a newer build to Client Downloads changes nothing on the devices.
  • Make the installer run where it is not allowed. On an installed Windows client the service launches the installer, so the signed-in user does not need administrator rights. A portable client, or one whose service is not running, has to run the installer itself and needs an elevated user for that. Machines locked down by policy can block it either way.

When the devices do not update

The devices update when RustDesk's version endpoint advertises a newer version than the one installed and the GitHub release has the asset for the platform. A few days of lag after a release is RustDesk's, not yours.

To see what a device decided, read the client log. The updater writes "No update available", "New version available" or an error with the reason. On Windows the logs are under C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\log for the service and %AppData%\RustDesk\log for the user process.

To update by hand, run the new installer on the device, or push it with whatever you use for software deployment. The --assign flow in the Automation API page covers an unattended install.

Clone this wiki locally