Skip documentation navigation
Updates & Cleanup
Docs/Usage/Updates & Cleanup

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 lock

Update 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.1

Prune 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