{"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":332,"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":314,"sourceCodeEnd":350,"githubUrl":"https://github.com/jdx/mise/blob/533346cc374382b41ec5ff70536252b2e96e725c/src/cli/args/backend_arg.rs#L314-L350","documentation":"Same diagnostic as the asdf variant but for vfox plugins: the plugin is registered as PluginType::Vfox, yet backend construction failed because the tool is unavailable or the plugin is broken/incomplete. vfox plugins are Lua-based, so a missing/broken plugin script commonly triggers this.","triggerScenarios":"BackendArg::backend() resolves plugin_type to PluginType::Vfox but creating the vfox backend for tool_name fails — e.g. plugin directory lacks required Lua hooks or the plugin cannot list the requested tool.","commonSituations":"vfox plugin partially downloaded (missing manifest.lua/hooks.lua); tool name typo relative to what the plugin registers; corrupted plugin cache after an interrupted install.","solutions":["Reinstall the vfox plugin: mise plugin remove <name> && mise plugin add vfox:<name>","Check the plugin directory contains required Lua files (manifest.lua, hooks) and is readable","Verify the plugin exposes the tool name you requested","Run mise doctor and check vfox plugin logs"],"exampleFix":"# before (incomplete vfox plugin)\nmise use vfox:myplugin@1.0\n# after\nmise plugin remove myplugin\nmise plugin add vfox:myplugin\nmise use myplugin@1.0","handlingStrategy":"validation","validationCode":"import os\npt = get_plugin_type(plugin)\nif pt == 'vfox':\n    assert (plugin_dir / 'manifest.lua').exists(), f'vfox plugin {plugin} incomplete'","typeGuard":null,"tryCatchPattern":"match backend {\n    Err(e) if e.to_string().contains(\"vfox plugin\") =>\n        reinstall_vfox_plugin(plugin),\n    r => r,\n}","preventionTips":["Complete plugin installs before use","Check required Lua files exist","Run mise doctor periodically"],"tags":["vfox","plugin","backend"],"backgroundTag":"resource-not-found","analyzedSha":"533346cc374382b41ec5ff70536252b2e96e725c","analyzedAt":"2026-09-17T13:35:38.149Z","contentChangedAt":"2026-09-17T13:35:38.149Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}