Update Cua Driver
Check whether a newer Cua Driver release is available and install it.
Cua Driver gives you three update paths: a passive banner at launch time, a CLI command that only checks, and a separate command that installs the update. Keep the check and apply steps separate so you can decide when to change the installed binary.
Check for updates
cua-driver check-updateWhen you're behind:
Current: 0.3.1
Latest: 0.3.2
Update available. Run `cua-driver update --apply` to install.
Release notes: https://github.com/trycua/cua/releases/tag/cua-driver-rs-v0.3.2
When you're current:
Current: 0.3.1
Latest: 0.3.1
You're on the latest release.
Flags:
--json: return a machine-readable payload, shown below.--no-cache: skip the 20-hour on-disk cache and force a fresh GitHub check.
The command exits with 0 when the check succeeds. Read update_available in the JSON payload to learn whether a release is available. Non-zero exit codes mean the check failed, for example because the network was unavailable or parsing failed.
Apply the update
cua-driver update --applyOutput:
Current version: 0.3.1
Checking for updates…
New version available: 0.3.2
Downloading and installing Cua Driver 0.3.2…
Installed Cua Driver 0.3.2.
update --apply calls the canonical installer script, the same one-line installer used for the first install.
If the daemon was running before the update, restart it so it uses the new binary:
cua-driver stop && cua-driver serveOn Windows with autostart enabled, the Scheduled Task uses the new binary on its next invocation. autostart enable is idempotent, and the task path resolves through the current junction.
Scripted check (CI / agents)
cua-driver check-update --json{
"current_version": "0.3.1",
"latest_version": "0.3.2",
"update_available": true,
"source": "github_releases",
"checked_at": "2026-05-27T14:30:00Z",
"cache_hit": false,
"install_command": "curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/cua-driver/scripts/install.sh | bash",
"release_notes_url": "https://github.com/trycua/cua/releases/tag/cua-driver-rs-v0.3.2",
"error": null
}When the installed version is current, install_command and release_notes_url are null.
Use the JSON form from a bash script:
if cua-driver check-update --json | jq -e '.update_available' > /dev/null; then
echo "Cua Driver is outdated — applying update"
cua-driver update --apply
fiThe same payload is available over MCP through the check_for_update tool. MCP does not provide an apply variant because installing through MCP would replace the running server process.
Passive banner
Every cua-driver mcp, serve, and doctor invocation starts a background version check. If it finds a newer release, Cua Driver prints a two-line banner to stderr:
✨ cua-driver v0.3.2 is available (you have v0.3.1).
Update with: cua-driver update
Release notes: https://github.com/trycua/cua/releases/tag/cua-driver-rs-v0.3.2
The check uses a 20-hour cache and never blocks startup. One-shot commands such as --version, call, and list-tools skip it so piped output remains clean.
Disable the check for one invocation:
CUA_DRIVER_RS_UPDATE_CHECK=false cua-driver serveDisable it permanently:
cua-driver config set update_check_enabled false