{"record":{"id":"5b854b0dd761834c","repo":"jdx/mise","slug":"no-packages-requested-for-manager-only","errorCode":null,"errorMessage":"no packages requested for manager '{only}'","messagePattern":"no packages requested for manager '(.+?)'","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/cli/system/driver.rs","lineNumber":76,"sourceCode":"/// 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\n        {\n            continue;\n        }\n        let name = mp.manager.name();\n        if mp.disabled {\n            if d.manager.is_some() {","sourceCodeStart":58,"sourceCodeEnd":94,"githubUrl":"https://github.com/jdx/mise/blob/533346cc374382b41ec5ff70536252b2e96e725c/src/cli/system/driver.rs#L58-L94","documentation":"A single manager was requested but no packages were configured for it in `[bootstrap.packages]`, and no settings-based exclusion explains the empty request. mise cannot perform a package operation for a manager with no requested packages, so it bails.","triggerScenarios":"Running a system-packages operation targeting one manager (`--manager <only>`) whose entry in `[bootstrap.packages]` is empty or missing.","commonSituations":"Typo in the manager name in bootstrap.packages; the packages table for that manager was emptied; user expects defaults but never configured packages.","solutions":["Add packages for the manager under `[bootstrap.packages.<manager>]` in your config.","Check the manager name spelling in --manager and the config keys.","Remove the --manager flag to let mise aggregate all configured managers."],"exampleFix":"// before\n[bootstrap.packages]\nbrew = []\n// after\n[bootstrap.packages]\nbrew = [\"ripgrep\", \"fd\"]","handlingStrategy":"validation","validationCode":"const pkgs = config.bootstrap?.packages?.[manager] ?? [];\nif (pkgs.length === 0) { throw new Error(`no packages configured for manager '${manager}'`); }","typeGuard":"function hasPackages(cfg, mgr) { return Array.isArray(cfg?.bootstrap?.packages?.[mgr]) && cfg.bootstrap.packages[mgr].length > 0; }","tryCatchPattern":"try { await run(`mise system install --manager ${m}`) } catch (e) { if (String(e).includes('no packages requested for manager')) { /* fix config or drop flag */ } }","preventionTips":["Populate [bootstrap.packages.<manager>] before targeting it","Validate mise.toml package lists in CI","Check manager name spelling against mise's supported list"],"tags":["cli","system-packages","config","manager"],"backgroundTag":"empty-required-field","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"}