{"record":{"id":"43249cc9c92b7934","repo":"jdx/mise","slug":"vfox-plugin-plugin-name-exists-but-tool-name","errorCode":null,"errorMessage":"vfox plugin '{plugin_name}' exists but '{tool_name}' is not available or the plugin is not properly installed","messagePattern":"vfox plugin '(.+?)' exists but '(.+?)' is not available or the plugin is not properly installed","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/cli/args/backend_arg.rs","lineNumber":330,"sourceCode":"        //         bail!(\"{self} not found in mise tool registry\");\n        //     }\n        // })?;\n        // Ok(backend.clone())\n        if let Some(backend) = backend::get(self) {\n            Ok(backend)\n        } else if let Some((plugin_name, tool_name)) = self.short.split_once(':') {\n            // Check if the plugin exists first\n            if let Some(plugin_type) = install_state::get_plugin_type(plugin_name) {\n                // Plugin exists, but the backend couldn't be created\n                // This could be due to the tool not being available or plugin not properly installed\n                match plugin_type {\n                    PluginType::Asdf => {\n                        bail!(\n                            \"asdf plugin '{plugin_name}' exists but '{tool_name}' is not available or the plugin is not properly installed\"\n                        );\n                    }\n                    PluginType::Vfox => {\n                        bail!(\n                            \"vfox plugin '{plugin_name}' exists but '{tool_name}' is not available or the plugin is not properly installed\"\n                        );\n                    }\n                    PluginType::VfoxBackend => {\n                        bail!(\n                            \"vfox-backend plugin '{plugin_name}' exists but '{tool_name}' is not available or the plugin is not properly installed\"\n                        );\n                    }\n                    PluginType::Package => {\n                        bail!(\"package plugin '{plugin_name}' is not a tool backend\");\n                    }\n                }\n            } else {\n                // Plugin doesn't exist\n                bail!(\"{plugin_name} is not a valid plugin name\");\n            }\n        } else {\n            // Check if the tool is in the registry but has no available backends","sourceCodeStart":312,"sourceCodeEnd":348,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/cli/args/backend_arg.rs#L312-L348","documentation":"mise parses a tool argument like `vfox:<plugin>/<tool>` and found the vfox plugin registered/installed, but the requested tool inside it could not be resolved — either the tool name is wrong for that plugin or the plugin is not fully installed. Thrown from `BackendArg::execute`'s plugin-type dispatch when the vfox plugin exists but tool resolution fails.","triggerScenarios":"Running any command with an argument of the form `vfox:<plugin_name>/<tool_name>` where the plugin name matches an installed vfox plugin but `tool_name` is not one the plugin provides, or the plugin directory is incomplete/corrupted.","commonSituations":"Typos in the tool segment (e.g. `vfox:nodejs/nodes`), a plugin that was partially installed or whose metadata is stale, or referencing a tool a plugin stopped supporting after an update.","solutions":["Run `mise plugins ls` and verify the vfox plugin is properly installed; reinstall with `mise plugin install <name>` if needed.","Check the correct tool name the plugin exposes (e.g. via the plugin's repo README) and fix the tool segment after `vfox:<plugin>/`.","Update the plugin (`mise plugin update <name>`) in case the tool list changed upstream."],"exampleFix":"// before\nmise exec vfox:nodejs/nodes -- node -v\n// after\nmise exec vfox:nodejs/node -- node -v","handlingStrategy":"validation","validationCode":"mise plugins ls | grep -q '^<plugin> ' && mise ls-remote vfox:<plugin>/<tool> >/dev/null || echo 'tool not available'","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Verify plugin installation with `mise plugins ls` before scripting tool references.","Copy tool names from the plugin's documented tool list rather than from memory.","Periodically run `mise plugin update <name>` to keep tool lists current."],"tags":["cli","vfox","plugin","tool-resolution"],"backgroundTag":"resource-not-found","analyzedSha":"afd2eddd3a50c16190efc1c7e94404b48f72af57","analyzedAt":"2026-09-09T01:38:25.179Z","contentChangedAt":"2026-09-09T01:38:25.179Z","schemaVersion":2},"datasetVersion":"2026-09-14T11:17:12.474Z"}