jdx/mise · error
no packages requested for manager
Error message
no packages requested for manager '{only}' What it means
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.
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.
Example fix
// before [bootstrap.packages] brew = [] // after [bootstrap.packages] brew = ["ripgrep", "fd"]
Defensive patterns
Strategy: validation
Validate before calling
const pkgs = config.bootstrap?.packages?.[manager] ?? [];
if (pkgs.length === 0) { throw new Error(`no packages configured for manager '${manager}'`); } Type guard
function hasPackages(cfg, mgr) { return Array.isArray(cfg?.bootstrap?.packages?.[mgr]) && cfg.bootstrap.packages[mgr].length > 0; } Try / catch
try { await run(`mise system install --manager ${m}`) } catch (e) { if (String(e).includes('no packages requested for manager')) { /* fix config or drop flag */ } } Prevention
- Populate [bootstrap.packages.<manager>] before targeting it
- Validate mise.toml package lists in CI
- Check manager name spelling against mise's supported list
When it happens
Trigger: Running a system-packages operation targeting one manager (`--manager <only>`) whose entry in `[bootstrap.packages]` is empty or missing.
Common situations: Typo in the manager name in bootstrap.packages; the packages table for that manager was emptied; user expects defaults but never configured packages.
Understand the failure class
Background: "must not be empty", "cannot be empty" — required-field validation errors across open-source libraries — this error's family across 41 libraries.
Related errors
- invalid system package spec
- manager ' ' is excluded by the system_packages.managers…
- manager ' ' is excluded by the system_packages.managers…
- is not available
- cannot export ' ': use a shorthand attribute such as…
AI-assisted analysis of jdx/mise@533346cc37 (2026-09-17).
Data as JSON: /api/errors/5b854b0dd761834c.
Report an issue: GitHub.
Appendix: source
Thrown at src/cli/system/driver.rs:76
/// disabled/unavailable managers, unsatisfiable version pins, and the
/// confirmation prompt.
pub(crate) async fn run(mgrs: Vec<ManagerPackages>, action: Action, d: &DriverOpts) -> Result<()> {
if let Some(only) = &d.manager
&& !mgrs.iter().any(|mp| mp.manager.name() == only)
{
// distinguish "not configured" from "filtered out by settings" —
// the aggregation drops managers excluded by
// system_packages.managers before we ever see them
if let Some(enabled) = &Settings::get().system_packages.managers
&& !enabled.contains(only)
{
bail!(
"manager '{only}' is excluded by the system_packages.managers setting \
(currently: {})",
enabled.join(", ")
);
}
bail!("no packages requested for manager '{only}'");
}
if mgrs.is_empty() {
info!("no bootstrap packages configured in [bootstrap.packages]");
return Ok(());
}
let opts = InstallOpts {
dry_run: d.dry_run,
update: d.update,
};
for mp in mgrs {
if let Some(only) = &d.manager
&& mp.manager.name() != only
{
continue;
}
let name = mp.manager.name();
if mp.disabled {
if d.manager.is_some() {View on GitHub (pinned to 533346cc37)