jdx/mise · error
Plugin {ba} is not installed
Error message
Plugin {ba} is not installed What it means
`mise current` with a plugin argument resolves the backend and checks whether its plugin is installed before printing the current version. When the backend exists but its plugin reports `is_installed() == false`, mise cannot determine a 'current' version and bails with 'Plugin {ba} is not installed'.
Source
Thrown at src/cli/current.rs:51
)
)]
pub(crate) struct Current {
/// Plugin to show versions of
/// e.g.: ruby, node, cargo:eza, npm:prettier, etc.
#[usage()]
plugin: Option<BackendArg>,
}
impl Current {
pub(crate) async fn run(self) -> Result<()> {
let config = Config::get().await?;
let ts = ToolsetBuilder::new().build(&config).await?;
match &self.plugin {
Some(ba) => {
if let Some(plugin) = ba.backend()?.plugin()
&& !plugin.is_installed()
{
bail!("Plugin {ba} is not installed");
}
self.one(ts, ba.backend()?.as_ref()).await
}
None => self.all(ts).await,
}
}
async fn one(&self, ts: Toolset, tool: &dyn Backend) -> Result<()> {
if let Some(plugin) = tool.plugin()
&& !plugin.is_installed()
{
warn!("Plugin {} is not installed", tool.id());
return Ok(());
}
match ts
.list_versions_by_plugin()
.into_iter()
.find(|(p, _)| p.id() == tool.id())View on GitHub (pinned to afd2eddd3a)
Solutions
- Install the tool first: `mise install <tool>` or `mise use <tool>@<version>`
- Check installed tools with `mise ls` to confirm the plugin is present
- If the plugin should be installed, verify MISE_DATA_DIR points at the right directory
Example fix
// before mise current node // error: Plugin node is not installed // after mise install node && mise current node
Defensive patterns
Strategy: validation
Validate before calling
mise ls <tool> >/dev/null 2>&1 || { echo "tool not installed"; mise install <tool>; } Try / catch
if ! mise ls <tool> >/dev/null 2>&1; then mise install <tool> fi mise current <tool>
Prevention
- Run `mise install` after cloning a project to install configured tools
- Check `mise ls` before scripting against specific tools
- Verify MISE_DATA_DIR is consistent between environments
When it happens
Trigger: Running `mise current <tool>` (e.g. `mise current node`) where the tool's plugin/core backend has no installed version on this machine.
Common situations: Fresh machine or CI container where the tool was never installed, switching mise data directories, or referencing a tool that only exists in another project's config.
Understand the failure class
Background: "not installed", "pip install", "required for": how missing-dependency errors surface across open-source libraries — this error's family across 34 libraries.
Related errors
- relay unavailable
- asdf plugin '{plugin_name}' exists but '{tool_name}' is not
- vfox plugin '{plugin_name}' exists but '{tool_name}' is not
- vfox-backend plugin '{plugin_name}' exists but '{tool_name}'
- package plugin '{plugin_name}' is not a tool backend
AI-assisted analysis of jdx/mise@afd2eddd3a (2026-09-09).
Data as JSON: /api/errors/4d1061a6b75664a2.
Report an issue: GitHub.