Skip to main content
ados update re-runs the canonical installer in upgrade mode, which is the one path that updates the agent (the Rust services, the units and the CLI). Your device identity, config and pairing state are kept. A node installed on the stable channel stays on stable; --check-only still reports main’s version.

What ados update does

The command compares the installed version with the version on main. If they differ, it fetches the latest scripts/install.sh and runs it with --upgrade, passing the profile recorded in /etc/ados/profile.conf so the upgrade cannot change what the node is. On the edge channel the installer reads the prebuilt-main release’s manifest.json, which names the commit to install, and fetches the service binaries from that commit’s rev-<sha> release, so the source and the binaries always match. On a drone or ground station, the update is refused while the vehicle is armed or its arm state is unknown or stale, because an upgrade restarts the MAVLink, radio and video services. The command prints Refusing to update with the reason. Disarm first, or pass --force-armed; the installer’s own preflight applies the same check and honours the same override.
  • Linux. The installer re-runs as root (the command elevates with sudo when needed). It updates the Rust service binaries, the systemd units and the CLI, then restarts the agent.
  • macOS. The installer runs without sudo and rebuilds the per-user install from source.
The command asks for confirmation before it installs.

Flags

Check without installing

Example output:
When the two versions match, ados update prints Already up to date. and exits.

Update without a prompt

Machine-readable check

Check the installed version

ados version prints the installed version. It works even when the agent services are down.

Update with the install command

ados update wraps the installer’s upgrade mode, so you can run the same upgrade by hand:
On macOS, run it without sudo.

Pin a version or roll back

There is no rollback API. To move to a specific version, run the installer in upgrade mode with a pin. A signed stable release:
Or one commit on the edge channel, with that commit’s prebuilt binaries:
Both keep /etc/ados/config.yaml and pairing state. The channel you pick is recorded in /etc/ados/profile.conf and used by later upgrades. See Installer flags.
Test an update on a bench drone before you roll it out to a fleet. Run ados update --check-only to see the version on main, update the bench node, confirm it flies, then update the rest.

Next steps

Install Drone Agent

Every installer flag, including channel and version pins.

Drone Agent troubleshooting

Fix a node that does not come back after an update.
Last modified on October 11, 2026