vacuum can check GitHub for the latest stable release. When a newer version is available, commands that render normal console output will show a small update notice after the command has finished.

Nothing is upgraded automatically during lint, dashboard, html-report, docs, or any other normal workflow. No surprises, no interrupted linting run, no mystery install in the middle of a pipeline.

To upgrade vacuum, run the upgrade command.

vacuum upgrade

How upgrade works

The upgrade command detects how vacuum was installed and uses the matching upgrade path when it can.

Install method What vacuum does
Homebrew Runs brew update and brew upgrade --cask vacuum.
NPM Runs npm install -g @quobix/vacuum@latest.
Shell installer Downloads the release archive and checksums from GitHub, verifies the archive, then swaps the active binary in place.
Unknown or source build Prints the manual upgrade commands so you can pick the right one.

vacuum only upgrades to stable releases. Pre-releases are ignored.

Update checks

When/if the network is reachable, vacuum checks for the latest stable GitHub release. The check is cached locally so every command does not need to call GitHub.

Update checks are skipped automatically when vacuum is running in CI, when output is not attached to a terminal, or when a command is using machine-oriented output such as --stdout, --silent, or --pipeline-output.

To skip the update check for a single command, use --no-update-check.

vacuum lint my-openapi-spec.yaml --no-update-check

The cache is written to $XDG_CONFIG_HOME/vacuum/.vacuum-update-check.json. If XDG_CONFIG_HOME is not set, vacuum uses $HOME/.config/vacuum/.vacuum-update-check.json.

Manual upgrades

If vacuum cannot safely run the upgrade itself, it will print the commands it would use. They look like this:

brew upgrade --cask vacuum npm install -g @quobix/vacuum@latest curl -sSL https://raw.githubusercontent.com/daveshanley/vacuum/vX.Y.Z/bin/install.sh | VERSION='X.Y.Z' sh

Pick the command that matches how vacuum was installed.