{"record":{"id":"57b9688c144ab11e","repo":"jdx/mise","slug":"manager-only-is-excluded-by-the-system-package","errorCode":null,"errorMessage":"manager '{only}' is excluded by the system_packages.managers setting (currently: {})","messagePattern":"manager '(.+?)' is excluded by the system_packages\\.managers setting \\(currently: (.+?)\\)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/cli/system/driver.rs","lineNumber":70,"sourceCode":"    statuses\n        .iter()\n        .find_map(|status| status.state.unavailable_reason())\n}\n\n/// Run `action` for every manager in `mgrs`, honoring the `--manager` filter,\n/// disabled/unavailable managers, unsatisfiable version pins, and the\n/// confirmation prompt.\npub(crate) async fn run(mgrs: Vec<ManagerPackages>, action: Action, d: &DriverOpts) -> Result<()> {\n    if let Some(only) = &d.manager\n        && !mgrs.iter().any(|mp| mp.manager.name() == only)\n    {\n        // distinguish \"not configured\" from \"filtered out by settings\" —\n        // the aggregation drops managers excluded by\n        // system_packages.managers before we ever see them\n        if let Some(enabled) = &Settings::get().system_packages.managers\n            && !enabled.contains(only)\n        {\n            bail!(\n                \"manager '{only}' is excluded by the system_packages.managers setting \\\n                 (currently: {})\",\n                enabled.join(\", \")\n            );\n        }\n        bail!(\"no packages requested for manager '{only}'\");\n    }\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","sourceCodeStart":52,"sourceCodeEnd":88,"githubUrl":"https://github.com/jdx/mise/blob/9dcfcaa0dc8747a2577d3270b69bb9d8313b2807/src/cli/system/driver.rs#L52-L88","documentation":"`mise system install/update` aggregates [bootstrap.packages] entries per package manager, but managers not listed in the system_packages.managers setting are dropped during aggregation. When you explicitly pass --manager <name>, mise checks the setting directly: if the manager is not in the enabled list, it fails with this error and shows the current allow-list, so you know it is a configuration exclusion rather than a missing package.","triggerScenarios":"Running `mise system install --manager apt` (or brew/etc.) when settings define `system_packages.managers = [\"brew\"]` (or any list not containing apt).","commonSituations":"Team config restricting managers to a subset (e.g. brew-only) while a developer on Linux requests apt; copying a config that whitelists one manager to a machine needing another; forgetting the setting was added globally.","solutions":["Add the manager to the allow-list: `mise settings set system_packages.managers brew,apt` (or edit mise.toml), then retry","Or use one of the already-enabled managers shown in the error message","Or remove the system_packages.managers restriction entirely if all managers should be usable"],"exampleFix":"# before\n# settings: system_packages.managers = [\"brew\"]\nmise system install --manager apt   # fails\n\n# after\nmise settings set system_packages.managers brew,apt\nmise system install --manager apt","handlingStrategy":"validation","validationCode":"# bash: check the manager is allowed before requesting it\nenabled=$(mise settings get system_packages.managers 2>/dev/null || true)\n[[ -z \"$enabled\" || \", $enabled, \" == *\", $MGR,\"* ]] || { echo \"$MGR excluded by settings: $enabled\" >&2; exit 2; }\nmise system install --manager \"$MGR\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Keep system_packages.managers consistent across the team config when scripts request specific managers","Print `mise settings get system_packages.managers` in bootstrap scripts' diagnostics on failure"],"tags":["system-packages","bootstrap","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"}