Complete Command Reference
Every command supported by avm-cli with real usage patterns.
Initializes an .avm.json configuration file and adds .avm.local.json to .gitignore in the current working directory.
✓ Created .avm.json in current directory
Adds an executable alias to local or global .avm.json configuration.
✓ Added local alias 'dev'
Removes an alias from the configuration file.
✓ Removed local alias 'dev'
Displays all merged aliases, environment variables, tools, and plugin commands in effect.
Aliases: dev pnpm run dev (local) release npm run release $1 (global) Tools: node 22.14.0 (local) java 17.0.13+11 (global) Env: NODE_ENV development
Shows the exact file an alias or tool version comes from, including parent configs, profiles, personal overrides, and version files (.nvmrc, .tool-versions, …).
tool 'node': 22.14.0 (from ./.nvmrc)
Trusts this project's .avm.json and .env so their aliases and env apply. It shows what it enables; editing the file outside avm blocks it again until re-trusted.
alias dev → pnpm run dev env NODE_ENV=development ✓ Trusted ~/code/my-app/.avm.json
Executes a configured project alias or package.json script directly with injected environment and tools.
Expands and prints the exact shell command that would be executed.
Runs a command with temporary tool versions (also: avm x), provider env and trusted project env. Installs missing versions without changing pins or lockfiles; --no-install selects installed versions only. Plugins must already be installed.
Runs an alias, optionally with temporary tool versions. Repeat --with for multiple tools and place options before alias arguments. Missing versions install automatically unless --no-install is set.
Installs project tools without changing pins, including global selections only when unlocked. Uses exact versions and verified downloads when .avm.lock exists. --frozen validates project selections and requires an asset for this platform.
Locks project selections, excluding personal global pins, with exact versions, plugin identities and per-platform SHA-256 checksums. Requires updated native Node or Java plugins; Android and asdf support unlocked installs only.
Prints shell statements for merged env and provider vars (JAVA_HOME, ANDROID_HOME, …). Loads parent configs, then nearest-directory base, profiles (AVM_ENV=ci,staging or --env ci,staging; later names win), and .avm.local.json overrides. Restores original values when leaving a project. Shell setup refreshes at prompts, on zsh directory changes, and around avm commands.
$env:NODE_ENV = 'development' $env:JAVA_HOME = 'C:\Users\dev\.avm\tools\java\openjdk-17.0.13+11'
Adds an env var to local (or global with -g) .avm.json. Also avm ea. See env remove and env list for other operations.
✓ Added local env var 'NODE_ENV=development'
Installs a plugin's compiled release for your platform from the marketplace, after verifying its sha256 against the release's checksums.txt. A mismatch aborts with nothing installed. Also avm pa. Legacy asdf plugins use the compatibility adapter.
Fetching 'node' from PrajaNova/avm-plugin-node... ✓ Installed node v0.2.0
Lists installed plugins and their discovery paths. --all also prints marketplace plugins.
Installed plugins: - node (~/.avm/plugins/avm-plugin-node/bin/avm-plugin) - java (~/.avm/plugins/avm-plugin-java/bin/avm-plugin) - android (~/.avm/plugins/avm-plugin-android/bin/avm-plugin)
Queries the marketplace registry and lists all installable plugins. Also avm plugin all or avm plugin marketplace.
Uninstalls an installed plugin binary from ~/.avm/plugins.
Checks for newer releases of the plugin and updates the binary.
Lists installable upstream versions for a plugin (e.g. node, java, android).
Filters available versions by major line or query.
Shows the latest upstream version available for installation.
Sets the active version in local .avm.json (or global ~/.avm.json with --global).
Installs a runtime and pins it locally, also setting a global pin if none exists. --global pins globally only; --no-pin installs without changing pins. Fuzzy versions resolve before installation.
Removes an installed runtime version from ~/.avm/tools/.
Prints the shell hook that puts shims on PATH and applies env after each avm call (bash/zsh by default, or PowerShell).
Regenerates shims for all managed tools in ~/.avm/shims.
Prints the absolute path to the avm shims directory.
~/.avm/shims
Print the installed CLI version; -v is the short form.
Add a local or global alias. Equivalent to avm add (also avm aa).
Remove an alias. Also avm alias rm, avm remove and avm rm.
List merged configured aliases. Also avm alias ls; avm list has the shortcut avm ls.
Remove a configured variable from the local or global base config. Also avm env rm.
List merged configured environment values; use bare avm env for provider variables and shell exports. Also avm env ls.
Show current runtime selections, newest releases within the selected range and overall, and pin sources.
Install newer versions within each pin range and update editable base pins. --bump allows major changes and asks for confirmation; -y confirms. Inherited/profile/version-file pins are kept at their source. Regenerate locks after pin changes.
Remove versions unused by global pins or tracked projects. Preview first. --include-unrecorded considers versions without usage records; -y confirms deletion.
Update direct installations with checksum verification. For package-manager installations, print the matching upgrade command.
Compare installed marketplace plugin versions against available releases.
Print instructions to create a plugin from the official template. Does not create or publish the repository automatically.
Open the interactive provider menu in a terminal; show status when interactive input is unavailable.
Show selected and installed versions. Also avm <plugin> ls. versions has the alias available, and use has the alias set.
Add the shim directory to Unix shell startup files (.zshenv, .bashrc, .profile). On Windows, add the output of shims path to user PATH separately.
Remove one shim without uninstalling its runtime. Regenerate with shims install (also shims reshim).
List Android Virtual Devices using the selected installed Android SDK. Also avd ls.
Create an AVD interactively or supply name, API and device for scripting. Automatically install its matching system image in the selected SDK; device type selects the appropriate phone/TV/Wear/Automotive image tag. Also avd new.
Launch an AVD with the selected SDK emulator. Additional arguments are forwarded. Also avd run.
Delete an AVD using the selected SDK. Also avd remove or avd rm.
avm --help or avm <command> --help. Use avm --env ci <command> to select profiles for one invocation.