Vfox Backend
TIP
Vfox is the recommended plugin system for mise. It provides cross-platform support, built-in modules, and a modern hook-based architecture.
Vfox plugins may be used in mise to install tools.
Why vfox?
- Cross-platform — plugins work on Windows, macOS, and Linux without platform-specific code
- Built-in modules — HTTP, JSON, HTML parsing, archive extraction, semver comparison, and logging are all available out of the box, no external dependencies needed
- Security — tool plugins support attestation verification (GitHub artifact attestations, cosign signatures, SLSA provenance) for downloaded artifacts. When a tool plugin's
PreInstallhook returns anattestationtable, mise verifies it during install and records the result inmise.lock, protecting against downgrade attacks on subsequent installs. Backend plugins do not currently support attestation - Modern architecture — structured hooks with typed contexts, backend plugins for multi-tool management, rolling version checksums, and lock file support
The code for this is inside the mise repository at ./src/backend/vfox.rs.
Dependencies
No extra system packages are required to run the vfox backend. Vfox Lua code is executed by the interpreter built into mise.
Usage
The following installs the latest version of cmake and sets it as the active version on PATH:
$ mise use -g vfox:version-fox/vfox-cmake
$ cmake --version
cmake version 3.21.3The version will be set in ~/.config/mise/config.toml with the following format:
[tools]
"vfox:version-fox/vfox-cmake" = "latest"Default plugin backend
On Windows, mise uses vfox plugins by default. If you'd like to use plugins by default even on Linux/macOS, set the following settings:
mise settings add disable_backends asdfNow you can list available plugins with mise registry:
$ mise registry | grep vfox:
clang vfox:mise-plugins/vfox-clang
cmake vfox:mise-plugins/vfox-cmake
crystal vfox:mise-plugins/vfox-crystal
dart vfox:mise-plugins/vfox-dart
dotnet vfox:mise-plugins/vfox-dotnet
etcd aqua:etcd-io/etcd vfox:mise-plugins/vfox-etcd
flutter vfox:mise-plugins/vfox-flutter
gradle aqua:gradle/gradle vfox:mise-plugins/vfox-gradle
groovy vfox:mise-plugins/vfox-groovy
kotlin vfox:mise-plugins/vfox-kotlin
maven aqua:apache/maven vfox:mise-plugins/vfox-maven
php vfox:mise-plugins/vfox-php
scala vfox:mise-plugins/vfox-scala
terraform aqua:hashicorp/terraform vfox:mise-plugins/vfox-terraform
vlang vfox:mise-plugins/vfox-vlangAnd they will be installed when running commands such as mise use -g cmake without needing to specify vfox:cmake.
Plugins
In addition to the standard vfox plugins, mise supports modern plugins that can manage multiple tools using the plugin:tool format. These plugins are perfect for:
- Installing tools from private repositories
- Package managers (npm, pip, etc.)
- Custom tool families
Example: Plugin Usage
# Install a plugin
mise plugin install my-plugin https://github.com/username/my-plugin
# Use the plugin:tool format
mise install my-plugin:some-tool@1.0.0
mise use my-plugin:some-tool@latestInstall from Zip File
# Install a plugin from a zip file over HTTPS
mise plugin install <plugin-name> <zip-url>
# Example: Installing a plugin from a zip file
mise plugin install vfox-cmake https://github.com/mise-plugins/vfox-cmake/archive/refs/heads/main.zipFor more information, see:
- Using Plugins - End-user guide
- Plugin Development - Developer guide
- Plugin Template - Quick start template for creating plugins