Skip documentation navigation
Comparison Matrix
Docs/Reference/Comparison Matrix

Comparison Matrix

Side-by-side comparison of avm against asdf, vfox, mise, and proto, checked against each project's docs in September 2026. "Not documented" means we couldn't find it, not that it's confirmed absent.

Capabilityavmasdfvfoxmiseproto
ImplementationRustGo (rewritten from Bash in v0.16)GoRustRust
Plugin modelCompiled executable per tool, separate process, typed JSON-over-stdio; asdf plugins via an adapterBash scriptsLuaasdf and vfox plugins plus backends (aqua, npm, cargo, …)WASM plugins, or TOML/JSON/YAML definitions
Download verificationsha256 on by default for plugins, avm itself and first-party runtimes (fails closed); build provenance attestationsLeft to each pluginPlugin-supplied checksumaqua backend: checksums, cosign/minisign/SLSA/attestationsChecksums, minisign, GPG
Existing version files.tool-versions, .nvmrc, .node-version, package.json, .java-version, .sdkmanrc, on by default.tool-versions; others opt-in.tool-versions, .nvmrc, .node-version, .sdkmanrcOpt-in per tool.nvmrc etc. on by default
Config trustavm trust (hash-pinned; editing re-blocks)Not documentedNot documentedmise trustNot documented
WindowsNative plugins and .exe shims; PowerShell integration and cmd.exe forwardingWSL onlyNativeNativeNative
Lockfile.avm.lock for Node/Java; exact versions, archive SHA-256 and frozen installsNoNot documentedmise.lock (opt-in).protolock (unstable)
TasksAliases + package.json scripts (no dependency graph yet, #33)NoNoYesNo (moon is separate)
Pinned version missingFalls back to the system binary with a warningErrorNot documentedAuto-installError (auto-install opt-in)
Plugin subcommandsYes (e.g. avm android avd)YesNoNot documentedNot documented
Global npm packages across switchesBuilt inPer plugin (default-packages file)Not documentedDefault-packages file (deprecated)Shared globals dir