{"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/533346cc374382b41ec5ff70536252b2e96e725c/src/cli/system/driver.rs#L52-L88","documentation":"A single manager was requested for a system-packages operation, but the `system_packages.managers` setting exists and does not include that manager. mise distinguishes this from 'no packages configured' because the manager was filtered out by settings, and reports it as an error with the currently enabled manager list.","triggerScenarios":"Running a system-packages command with a single manager (`--manager <only>`) where `Settings::get().system_packages.managers` is Some(list) and the list does not contain that manager.","commonSituations":"User set `system_packages.managers = [\"apt\"]` in settings but invokes operations for brew/dnf; settings inherited from a config file exclude the manager the user names on the CLI.","solutions":["Add the manager to `system_packages.managers` in your mise settings.","Remove the setting entirely to allow all supported managers.","Pass a manager that is in the currently enabled list shown in the error."],"exampleFix":"// before (settings.toml)\n[system_packages]\nmanagers = [\"apt\"]\n// after\n[system_packages]\nmanagers = [\"apt\", \"brew\"]","handlingStrategy":"validation","validationCode":"const managers = /* read system_packages.managers from mise settings */ ['apt'];\nif (!managers.includes(requestedManager)) { throw new Error(`enable '${requestedManager}' in system_packages.managers first`); }","typeGuard":null,"tryCatchPattern":"try { await run(`mise system install --manager ${m} ${pkgs}`) } catch (e) { if (String(e).includes('excluded by the system_packages.managers setting')) { /* prompt to update settings */ } }","preventionTips":["Keep system_packages.managers in sync with the managers you actually use","Remove the setting if you want all managers allowed","Check enabled managers with mise settings before scripting"],"tags":["cli","system-packages","settings","manager"],"backgroundTag":"invalid-config-value","analyzedSha":"533346cc374382b41ec5ff70536252b2e96e725c","analyzedAt":"2026-09-17T13:35:38.149Z","contentChangedAt":"2026-09-17T13:35:38.149Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}