{"record":{"id":"e456edd04eab0245","repo":"jdx/mise","slug":"unknown-bootstrap-package-manager-name-insta","errorCode":null,"errorMessage":"unknown bootstrap package manager '{name}' — install a package plugin: mise plugin install package:{name} <url>","messagePattern":"unknown bootstrap package manager '(.+?)' — install a package plugin: mise plugin install package:(.+?) <url>","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/system/mod.rs","lineNumber":1639,"sourceCode":"    for (name, requests) in by_mgr {\n        let disabled = enabled.as_ref().is_some_and(|e| !e.contains(&name));\n        if disabled && strict {\n            bail!(\n                \"manager '{name}' is excluded by the system_packages.managers setting \\\n                 (currently: {})\",\n                enabled.as_deref().unwrap_or_default().join(\", \")\n            );\n        }\n        match managers.get(&name) {\n            Some(manager) => out.push(ManagerPackages {\n                manager: manager.clone(),\n                requests,\n                options: manager_options.shift_remove(&name).unwrap_or_default(),\n                disabled,\n            }),\n            None => {\n                if strict {\n                    bail!(\n                        \"unknown bootstrap package manager '{name}' — install a package plugin: mise plugin install package:{name} <url>\"\n                    );\n                }\n                // brew is compiled out on Windows — not unknown, just\n                // unsupported there\n                if cfg!(windows) && name == \"brew\" {\n                    debug!(\"system package manager 'brew' is not supported on windows\");\n                } else if crate::config::is_loaded()\n                    && plugins_from_config(&crate::config::Config::get_()).contains_key(&name)\n                {\n                    warn!(\n                        \"unknown bootstrap package manager '{name}' in [bootstrap.packages] — declared in [bootstrap.plugins] but not installed; run `mise bootstrap`\"\n                    );\n                } else {\n                    warn!(\n                        \"unknown bootstrap package manager '{name}' in [bootstrap.packages], ignoring — install a package plugin: mise plugin install package:{name} <url>\"\n                    );\n                }","sourceCodeStart":1621,"sourceCodeEnd":1657,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/system/mod.rs#L1621-L1657","documentation":"Package requests are grouped by manager name and looked up among the available bootstrap managers. If no manager plugin exists for the name and strict mode is on, src/system/mod.rs:1639 bails with instructions to install a package plugin via `mise plugin install package:<name> <url>`. On Windows, brew is treated as unsupported rather than unknown.","triggerScenarios":"system_packages declares a manager name with no corresponding package manager plugin compiled in or installed (e.g. apk, dnf, zypper, or a custom manager) while running a strict config load; the managers map lookup returns None and strict is true.","commonSituations":"Copying a colleague's mise.toml that uses a manager whose plugin you never installed; referencing niche managers (pacman, dnf) on a system where mise was built without them; typos like 'appt' or 'brews'.","solutions":["Install the missing plugin: mise plugin install package:<name> <url>","Correct the manager name to one of the built-in managers (brew, apt, apk, etc.)","Remove the unsupported manager's packages, or move them to an installed manager"],"exampleFix":"// before (mise.toml)\n[system_packages]\ndnf = [\"ripgrep\"]\n// after — install the plugin first, or use an available manager\nmise plugin install package:dnf https://github.com/example/mise-package-dnf.git\n// or\n[system_packages]\napt = [\"ripgrep\"]","handlingStrategy":"validation","validationCode":"// before using a custom manager in config, confirm its plugin is installed\nmise plugin ls | grep -q \"^package:dnf\" || mise plugin install package:dnf <url>","typeGuard":null,"tryCatchPattern":"match result {\n    Err(e) if e.to_string().contains(\"unknown bootstrap package manager\") => {\n        // install the plugin or fall back to a built-in manager\n    }\n    r => r?,\n}","preventionTips":["Run `mise plugin install package:<name> ...` before referencing a custom manager in mise.toml","Prefer built-in managers (brew, apt, apk) unless the plugin is part of your repo bootstrap","Document required package plugins in your project README/setup script so new machines provision them"],"tags":["package-manager","missing-plugin","configuration","strict-mode"],"backgroundTag":"missing-dependency","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"}