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.
| Capability | avm | asdf | vfox | mise | proto |
|---|---|---|---|---|---|
| Implementation | Rust | Go (rewritten from Bash in v0.16) | Go | Rust | Rust |
| Plugin model | Compiled executable per tool, separate process, typed JSON-over-stdio; asdf plugins via an adapter | Bash scripts | Lua | asdf and vfox plugins plus backends (aqua, npm, cargo, …) | WASM plugins, or TOML/JSON/YAML definitions |
| Download verification | sha256 on by default for plugins, avm itself and first-party runtimes (fails closed); build provenance attestations | Left to each plugin | Plugin-supplied checksum | aqua backend: checksums, cosign/minisign/SLSA/attestations | Checksums, 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, .sdkmanrc | Opt-in per tool | .nvmrc etc. on by default |
| Config trust | avm trust (hash-pinned; editing re-blocks) | Not documented | Not documented | mise trust | Not documented |
| Windows | Native plugins and .exe shims; PowerShell integration and cmd.exe forwarding | WSL only | Native | Native | Native |
| Lockfile | .avm.lock for Node/Java; exact versions, archive SHA-256 and frozen installs | No | Not documented | mise.lock (opt-in) | .protolock (unstable) |
| Tasks | Aliases + package.json scripts (no dependency graph yet, #33) | No | No | Yes | No (moon is separate) |
| Pinned version missing | Falls back to the system binary with a warning | Error | Not documented | Auto-install | Error (auto-install opt-in) |
| Plugin subcommands | Yes (e.g. avm android avd) | Yes | No | Not documented | Not documented |
| Global npm packages across switches | Built in | Per plugin (default-packages file) | Not documented | Default-packages file (deprecated) | Shared globals dir |