Updates & Cleanup
Inspect runtime and plugin updates, control major-version changes, and remove unused managed runtimes.
Inspect and upgrade runtimes
outdated reports the requested spec, current selection, newest match in range, newest release overall and pin source. --json prints machine-readable output. upgrade defaults to the current range (the major line for an exact pin); select tool names to narrow it.
--bump allows crossing a major version and asks for confirmation; -y confirms in scripts. --dry-run previews changes. Inherited, profile and version-file pins remain at their source: bump tells you to edit them there. Regenerate .avm.lock after intentional pin changes.
avm outdated
avm outdated --json
avm upgrade node --dry-run
avm upgrade node
avm upgrade node --bump --dry-run
avm upgrade node --bump -y
avm lockUpdate plugins and avm
Plugin updates are separate from runtime updates. Use --all to update every installed plugin. self-update replaces direct installations after checksum verification; package-manager installations receive the appropriate upgrade command instead.
AVM_NO_UPDATE_CHECK=1 disables the background update notice. GITHUB_TOKEN or GH_TOKEN can help with GitHub API rate limits. Updating a plugin may require regenerating project locks that pin its identity.
avm plugin outdated --json
avm plugin update node
avm plugin update --all
avm self-update
avm self-update --version 0.4.1Prune unused versions
prune protects global pins and pins from tracked projects, including inactive profiles. It previews removal candidates and asks before deleting; --dry-run makes no changes and -y confirms.
Use --older-than 90d to limit candidates by last use. --include-unrecorded also considers versions with no recorded usage. AVM cannot protect a project it has never tracked: inspect the preview before confirming. Unreadable tracked configuration aborts pruning.
avm prune --dry-run
avm prune --older-than 90d --dry-run
avm prune --older-than 90d -y
avm prune --include-unrecorded --dry-run