{"record":{"id":"0b501f14473d5ce4","repo":"jdx/mise","slug":"tool-not-found-in-registry-name","errorCode":null,"errorMessage":"tool not found in registry: {name}","messagePattern":"tool not found in registry: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/cli/registry.rs","lineNumber":96,"sourceCode":"    short: String,\n    backends: Vec<String>,\n    bins: Vec<String>,\n    description: Option<String>,\n    aliases: Vec<String>,\n}\n\nimpl Registry {\n    pub(crate) async fn run(self) -> Result<()> {\n        if let Some(name) = &self.name {\n            if let Some(rt) = REGISTRY.get(name.as_str()) {\n                if self.json {\n                    let tool = to_output(self.output_args(name, rt), self.security).await;\n                    miseprintln!(\"{}\", serde_json::to_string_pretty(&tool)?);\n                } else {\n                    miseprintln!(\"{}\", self.filter_backends(rt).join(\" \"));\n                }\n            } else {\n                bail!(\"tool not found in registry: {name}\");\n            }\n        } else if self.complete {\n            self.complete()?;\n        } else if self.json {\n            self.display_json().await?;\n        } else {\n            self.display_table()?;\n        }\n        Ok(())\n    }\n\n    fn filter_backends(&self, rt: &RegistryTool) -> Vec<&'static str> {\n        if let Some(backend) = &self.backend {\n            rt.backends()\n                .into_iter()\n                .filter(|full| full.starts_with(&format!(\"{backend}:\")))\n                .collect()\n        } else {","sourceCodeStart":78,"sourceCodeEnd":114,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/cli/registry.rs#L78-L114","documentation":"The `mise registry` command looks up a tool shorthand (e.g. `node`, `golang`) in mise's built-in registry mapping shorthands to backends. When the requested name is not a known registry entry (and the tool was also not found as an installed/known tool), the command fails fast with this bail. It is a lookup failure, not an installation failure.","triggerScenarios":"Running `mise registry <name>` (or `mise registry --complete`-adjacent lookups) where `<name>` is misspelled, uses an unsupported alias, or refers to a tool that must be installed via explicit backend syntax (e.g. `cargo:foo`) instead of a registry shorthand.","commonSituations":"Typos in tool names; tools removed or renamed in the registry; internal/company tools that were never added to the curated registry; expecting `mise registry` to know about arbitrary GitHub repos it does not map.","solutions":["Check the exact registry shorthand with `mise registry` (lists all entries) and correct the name","Use `mise search <name>` to find the closest registered tool","Install without the registry using explicit backend syntax: `mise use github:owner/repo`, `mise use cargo:name`, `mise use aqua:owner/repo`, etc.","If the tool is genuinely widely used, consider submitting a registry entry (note: high popularity bar, thousands of stars required)"],"exampleFix":"// before\nmise registry mycompanytool   # tool not found in registry: mycompanytool\n// after\nmise use github:myorg/mycompanytool   # or pick a registered shorthand from `mise registry`","handlingStrategy":"validation","validationCode":"const registered = JSON.parse(child_process.execSync('mise registry --json').toString());\nif (!registered.some(t => t.name === toolName)) {\n  throw new Error(`${toolName} has no registry shorthand; use explicit backend syntax`);\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Run `mise registry` once to see valid shorthands before scripting lookups","Use `mise search` for fuzzy discovery instead of guessing names","Prefer explicit backend syntax (github:/aqua:/cargo:) for anything not certainly in the registry"],"tags":["cli","registry","tool-lookup"],"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-14T05:17:10.506Z"}