Automatic updates
The official Aura standalone binary keeps itself current before an interactive command starts. Use this guide to understand when Aura updates, opt out, update another installation type, or restore the previous executable.
Which installation updates itself?
Section titled “Which installation updates itself?”Only the standalone binary installed by the release script or from a release archive can replace itself. The package-manager entry point has no updater capability, so Aura never modifies an executable owned by npm or pnpm.
| Installation | How to update |
|---|---|
curl https://tryaura.sh/install |
Automatic before an eligible interactive command |
| Downloaded standalone release | Automatic before an eligible interactive command |
| npm global | npm update -g @tryaura/aura-cli |
| pnpm global | pnpm update --global @tryaura/aura-cli |
npx or pnpm dlx |
Rerun with the desired package version |
You can also rerun the install script to replace a standalone binary
manually. Pass its directory explicitly with AURA_INSTALL_DIR when it is outside the fallback
~/.aura/bin location.
For a standalone installation, run aura update to bypass the update cache, install an available
release, and exit. The command reports whether Aura is current, explains why a check was refused or
failed, and uses a nonzero exit code when it could not complete. It still observes the
interactive-run safety rules below.
What happens during an update
Section titled “What happens during an update”Aura checks for a release at most once every two hours. An argument-free aura run checks too.
When Aura finds a release, it writes progress to stderr:
Updating Aura 0.5.3 -> 0.5.4...Updated Aura to 0.5.4. The new version will be used on your next run.A percentage appears between those lines while the archive downloads and disappears when it is done. Progress is drawn only on a real terminal, so captured and piped output stays unchanged.
The command you requested continues on the version already in memory with its normal output and exit status. The new executable starts on the next invocation. If the check or installation fails, Aura keeps the current executable and continues the command; at most, it prints one warning with a link to the releases page.
How Aura verifies a release
Section titled “How Aura verifies a release”Aura installs only a final GitHub release that the API reports as immutable. Before replacing the current executable, it:
- Selects the archive for the current macOS or Linux architecture.
- Streams the archive within fixed time and size limits.
- Verifies the archive against the release asset’s SHA-256 digest.
- Accepts only the expected executable and license files.
- Runs the staged executable and requires it to report the release version.
- Atomically replaces the current executable and preserves the old one as
aura.previous.
A failed check never partially installs a release. Aura also uses a per-executable lock so two shells cannot replace the same binary concurrently.
When Aura skips the check
Section titled “When Aura skips the check”Aura makes no update request when:
- the invocation explicitly requests help or version information;
- any of stdin, stdout, or stderr is redirected;
CIis set;AURA_UPDATEisoff,0,false, orno;- the running version is an unstamped source build; or
- the executable is not a regular file, including when the
auraonPATHis a symlink.
These rules keep automation deterministic. A script or pipeline that installs a specific release continues to use that release.
To disable automatic updates for interactive runs too, set the variable in your shell profile:
export AURA_UPDATE=offRestore the previous version
Section titled “Restore the previous version”After a successful automatic update, the previous executable remains beside the current one. Find the active standalone executable and move its previous version into place:
aura_path=$(command -v aura)mv "${aura_path}.previous" "$aura_path"Aura does not perform this move automatically. Set AURA_UPDATE=off before the next interactive
run if you want to remain on the restored version. If aura.previous does not exist, reinstall the
required version with AURA_VERSION as described in the installation guide.
Common failures
Section titled “Common failures”| Symptom | Cause | Fix |
|---|---|---|
| Aura never checks in a terminal | One of the skip conditions applies | Confirm the install is standalone and review the environment and stream conditions. |
| Aura warns that it could not install | The download failed or the executable directory is unwritable | Rerun the install script or install from the releases page. |
| Aura refuses a release digest | The downloaded bytes do not match the immutable release | Keep the current version and retry later; do not install the archive manually. |
| The next run installs a version you restored | Automatic updates are still enabled | Set AURA_UPDATE=off before restoring aura.previous. |
| npm or pnpm remains on an older version | Package-manager installations do not update themselves | Update Aura with the same package manager that installed it. |