jdx/mise · error

no packages requested for manager '{only}'

Error message

no packages requested for manager '{only}'

What it means

When --manager <name> is passed but that manager is neither excluded by system_packages.managers (which would produce the more specific error) nor present in the aggregated [bootstrap.packages] list, mise reports that no packages were requested for it. I.e. the manager is allowed, but your config defines no packages for it.

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 9dcfcaa0dc)

Solutions

  1. Add packages for the manager under [bootstrap.packages], e.g. `"cargo:eza" = "latest"` or `packages = ["cargo:bat"]`
  2. Check what is actually configured: inspect the [bootstrap.packages] table in your mise.toml
  3. Drop --manager to install/update all configured packages instead of one manager

Example fix

# before
# mise.toml has no cargo packages
mise system install --manager cargo   # fails

# after
# mise.toml:
[bootstrap.packages]
"cargo:eza" = "latest"
# then: mise system install --manager cargo
Defensive patterns

Strategy: validation

Validate before calling

# bash: verify the config actually has packages for the manager
toml="mise.toml"
grep -q "^\[bootstrap\.packages\]" "$toml" && grep -q "^\s*\"\?$MGR:" "$toml" || { echo "no [$MGR] packages in $toml" >&2; exit 2; }
mise system install --manager "$MGR"

Prevention

When it happens

Trigger: Running `mise system install --manager cargo` when [bootstrap.packages] contains no `cargo:` entries (and cargo is not filtered out by settings) — mgrs simply has no ManagerPackages for that name.

Common situations: Expecting a manager to imply its default packages; config files where the [bootstrap.packages] entries for that manager are commented out, mis-indented, or use the wrong key format; empty bootstrap section on a fresh setup.

Related errors


AI-assisted analysis of jdx/mise@9dcfcaa0dc (2026-08-17). Data as JSON: /api/errors/5b854b0dd761834c. Report an issue: GitHub.