jdx/mise · error
tool {} not found in registry
Error message
tool {} not found in registry What it means
`mise search <name>` matches registry tools against the query and displays them as a table. When no registry entry matches the given name, `display_table` bails with this error before rendering. It only searches mise's curated registry — it does not search GitHub or package registries.
Source
Thrown at src/cli/search.rs:117
Err(err) => {
if err.kind() == std::io::ErrorKind::Interrupted {
// user interrupted, exit gracefully
Ok(())
} else {
Err(eyre!(err))
}
}
}
}
fn display_table(&self) -> Result<()> {
let tools = self
.get_matches()
.into_iter()
.map(|(short, description)| vec![short, description])
.collect_vec();
if tools.is_empty() {
bail!("tool {} not found in registry", self.name.as_ref().unwrap());
}
let mut table = MiseTable::new(self.no_header, &["Tool", "Description"]);
for row in tools {
table.add_row(row);
}
table.print()
}
fn get_matches(&self) -> Vec<(String, String)> {
let name = self.name.as_deref().unwrap_or("");
let mut fuzzy_matcher = FuzzyMatcher::default();
let fuzzy_pattern = FuzzyPattern::new(&name.to_lowercase());
let mut matches = self
.get_tools()
.iter()
.filter_map(|(short, rt)| {
if name.is_empty() {View on GitHub (pinned to afd2eddd3a)
Solutions
- Retry with a shorter or corrected search term (search matches substrings of shorthands and descriptions)
- List everything with `mise search` (empty/short term) or browse `mise registry`
- Install unregistered tools directly with backend syntax: `mise use aqua:owner/repo`, `mise use github:owner/repo`
Example fix
// before mise search nodejsxyz # tool nodejsxyz not found in registry // after mise search node # lists node, nodejs-style entries
Defensive patterns
Strategy: fallback
Validate before calling
const hits = child_process.execSync(`mise search ${q}`).toString().trim();
if (!hits) console.warn(`No registry match for "${q}"; falling back to explicit backend install`); Prevention
- Search with short, root-word terms (e.g. "node" not "nodejs-runtime")
- Treat the registry as curated: fall back to aqua:/github: backend syntax when search is empty
- Browse the full `mise registry` list when unsure of naming
When it happens
Trigger: Running `mise search <name>` where no registry shorthand or description matches; misspelled tool names; searching for tools not present in the curated registry.
Common situations: Looking for niche or internal tools that are not in the registry; typos in the search term; expecting search to cover aqua/GitHub catalogs.
Understand the failure class
Background: EmptyResultError / "no results found": when an API or scraper succeeds but returns zero rows — this error's family across 9 libraries.
Related errors
- {self} is in the mise tool registry but none of its backends
- tool not found in registry: {name}
- {}@{requested} is not installed{resolved} hint: run `mise in
- No executable found for configured tool: {bin_name} The inst
- {bin_name} is a mise bin however it is not currently active.
AI-assisted analysis of jdx/mise@afd2eddd3a (2026-09-09).
Data as JSON: /api/errors/7493c2e1e32692a7.
Report an issue: GitHub.