{"record":{"id":"70e2fdd8bbc40b49","repo":"jdx/mise","slug":"manager-name-is-excluded-by-the-system-package","errorCode":null,"errorMessage":"manager '{name}' is excluded by the system_packages.managers setting","messagePattern":"manager '(.+?)' is excluded by the system_packages\\.managers setting","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/cli/system/driver.rs","lineNumber":95,"sourceCode":"    }\n    if mgrs.is_empty() {\n        info!(\"no bootstrap packages configured in [bootstrap.packages]\");\n        return Ok(());\n    }\n    let opts = InstallOpts {\n        dry_run: d.dry_run,\n        update: d.update,\n    };\n    for mp in mgrs {\n        if let Some(only) = &d.manager\n            && mp.manager.name() != only\n        {\n            continue;\n        }\n        let name = mp.manager.name();\n        if mp.disabled {\n            if d.manager.is_some() {\n                bail!(\"manager '{name}' is excluded by the system_packages.managers setting\");\n            }\n            debug!(\"{name}: skipping, excluded by system_packages.managers\");\n            continue;\n        }\n        if let Some(reason) = mp.manager.unavailable_reason_async().await {\n            if unavailable_manager_is_error(d) {\n                // explicitly requested (via --manager or manager:package\n                // specs) — failing silently would be a lie\n                bail!(\"{name} is not available: {}\", reason);\n            }\n            debug!(\"{name}: skipping, {reason}\");\n            continue;\n        }\n        let statuses = mp.manager.installed(&mp.requests).await?;\n        if let Some(reason) = unavailable_package_reason(d, &statuses) {\n            bail!(\"{reason}\");\n        }\n        let mut targets: Vec<_> = statuses","sourceCodeStart":77,"sourceCodeEnd":113,"githubUrl":"https://github.com/jdx/mise/blob/9dcfcaa0dc8747a2577d3270b69bb9d8313b2807/src/cli/system/driver.rs#L77-L113","documentation":"During iteration over aggregated managers, an entry flagged disabled (excluded by system_packages.managers) is normally skipped with only a debug log. But because --manager was supplied, the user explicitly requested that manager, and silently skipping would make the command appear to succeed while doing nothing — so mise escalates the skip to a hard error.","triggerScenarios":"Running `mise system install --manager <name>` where <name> IS present in mgrs (has bootstrap packages) but its ManagerPackages.disabled flag is true because system_packages.managers does not include it.","commonSituations":"Same shape as the aggregation-time exclusion, but hit on a manager that has packages configured; config whitelists brew while CI on Linux explicitly asks for apt which is disabled; disabling a manager globally then forgetting to re-enable before scripting against it.","solutions":["Include the manager in system_packages.managers (via `mise settings set` or mise.toml) and retry","Or switch to a manager that the setting allows","Or remove the system_packages.managers restriction so nothing is disabled"],"exampleFix":"# before\n# settings: system_packages.managers = [\"brew\"]\nmise system install --manager apt   # fails: apt has packages but is disabled\n\n# after\nmise settings set system_packages.managers brew,apt","handlingStrategy":"validation","validationCode":"# bash: same guard as the aggregation check — confirm manager is enabled first\nenabled=$(mise settings get system_packages.managers 2>/dev/null || true)\n[[ -z \"$enabled\" || \", $enabled, \" == *\", $MGR,\"* ]] || { echo \"$MGR excluded: $enabled\" >&2; exit 2; }\nmise system install --manager \"$MGR\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Treat --manager as an explicit contract: the manager must be both configured (packages) and allowed (settings)","Audit shared configs after anyone edits system_packages.managers"],"tags":["system-packages","settings","manager-filter"],"backgroundTag":"config-excluded-package-manager","analyzedSha":"9dcfcaa0dc8747a2577d3270b69bb9d8313b2807","analyzedAt":"2026-08-17T14:28:50.624Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}