{"record":{"id":"a338164f995bffa9","repo":"jdx/mise","slug":"failed-to-resolve-tool-version-list-for-ba-err","errorCode":null,"errorMessage":"Failed to resolve tool version list for {ba}: {err}","messagePattern":"Failed to resolve tool version list for (.+?): (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"src/toolset/mod.rs","lineNumber":179,"sourceCode":"                (config.clone(), ba, tvl, opts.clone(), reporter)\n            })\n            .collect::<Vec<_>>();\n        let tvls = parallel::parallel(\n            versions,\n            |(config, ba, mut tvl, opts, reporter)| async move {\n                let result = crate::ui::resolve_progress::scope(\n                    reporter.as_ref().map(|p| p.reporter()),\n                    tvl.resolve(&config, &opts),\n                )\n                .await;\n                if let Some(reporter) = reporter {\n                    reporter.complete(result.as_ref().err().map(|e| e.to_string()).as_deref());\n                }\n                if let Err(err) = result {\n                    if Error::is_required_channel_resolution_err(&err) {\n                        return Err(err);\n                    }\n                    // warn_once: a command may resolve the same toolset more than\n                    // once, and repeating an identical failure adds no information.\n                    warn_once!(\"Failed to resolve tool version list for {ba}: {err}\");\n                }\n                Ok((ba, tvl))\n            },\n        )\n        .await?;\n        self.versions = tvls.into_iter().collect();\n        if let Some(progress) = progress.as_mut() {\n            progress.finish(vec![]);\n        }\n        Ok(())\n    }\n\n    pub(crate) fn list_missing_plugins(&self) -> Vec<String> {\n        self.versions\n            .iter()\n            .filter(|(_, tvl)| {","sourceCodeStart":161,"sourceCodeEnd":197,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/toolset/mod.rs#L161-L197","documentation":"While resolving a toolset, mise warns (once, via `warn_once!`) \"Failed to resolve tool version list for {backend}: {err}\" when a tool's version list cannot be resolved but the error is not a required-channel resolution error. The command continues with the remaining tools instead of aborting. Only errors flagged by `Error::is_required_channel_resolution_err` abort immediately.","triggerScenarios":"Any command that resolves the toolset (`mise install`, `mise exec`, activation, run) where a tool's `latest`/prefix/channel lookup fails — e.g. backend cannot reach its registry, `latest` cannot be determined, or the requested prefix matches nothing.","commonSituations":"Network/API failures reaching GitHub/aqua/npm registries; typos in version prefixes in mise.toml/.tool-versions; a plugin returning an empty or broken version list; missing/expired GITHUB_TOKEN causing 429s.","solutions":["Fix the underlying cause shown in `{err}` (network, token, or bad version string in config).","Set a GITHUB_TOKEN if the failure is API rate limiting (`export GITHUB_TOKEN=$(gh auth token)`).","Pin a concrete version in mise.toml instead of `latest`/a loose prefix to avoid list resolution.","Run `mise ls-remote <tool>` to verify the backend can list versions at all."],"exampleFix":"// before\n[tools]\nnode = \"lts\"   # resolution fails offline\n// after\n[tools]\nnode = \"20.11.0\"  # pinned, no version-list lookup needed","handlingStrategy":"fallback","validationCode":"mise ls-remote <tool>  # verify the backend can list versions before relying on latest/prefix resolution","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Pin concrete versions in mise.toml instead of `latest` or loose prefixes.","Export GITHUB_TOKEN to avoid API rate limits during resolution.","Check network/proxy settings if multiple tools warn at once.","Run with MISE_DEBUG=1 to see the underlying per-tool error."],"tags":["rust","toolset","resolution","versioning"],"backgroundTag":"api-request-failed","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"}