docs/guides/self-update.md
For day-to-day upgrades inside a running instance:
The UI will tell you when a new A0 update is available for download. Backups are automatically managed internally during the update process.
Agent Zero includes a Docker-oriented self-update flow for switching to a specific repository version tag on main, testing, or development.
/a0 so the request survives upgrades and downgrades./exe reads the YAML request before starting the UI./a0/usr./a0 while preserving gitignored paths such as /a0/usr./api/health to become healthy.The self-update flow stores its runtime files outside /a0:
/exe/a0-self-update.yaml/exe/a0-self-update-status.yaml/exe/a0-self-update.logBecause these files live in /exe, you can recover from an older downgraded /a0 by creating a new update YAML manually.
The updater automatically creates a backup of a0/usr.
The WebUI preloads repository version choices for the selected branch into a standard selector.
Only versions from the current major release line are listed in the selector. If newer major lines are available on the selected branch, the UI shows an attention banner that links to the Docker update guide.
The selector also includes latest when the selected branch is still on the current major line:
main, latest resolves to the newest reachable release tag on main. It is displayed as latest (vX.Y).testing and development, latest resolves to the current branch head. It is displayed as latest (vX.Y+N) when the branch head is N commits past the newest reachable tag, or latest (vX.Y) when it is exactly on a tag.Agent Zero version tags follow this format:
v{major}.{minor}
Examples:
v1.0v1.1Tags below v1.0 are ignored by the selector and rejected by the self-update request validator.
Self-update is intentionally limited to changes within the same major line.
If a newer major line exists, the UI points you to the Docker setup guide because those upgrades require downloading a new Docker image. They can include operating system level changes or other breaking changes outside the repository checkout.
/a0, so it is not lost by downgrading to an older repository state