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
- Add packages for the manager under [bootstrap.packages], e.g. `"cargo:eza" = "latest"` or `packages = ["cargo:bat"]`
- Check what is actually configured: inspect the [bootstrap.packages] table in your mise.toml
- 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
- Add at least one package entry per manager you intend to target with --manager
- Validate [bootstrap.packages] syntax (manager:package keys) in config linting
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
- manager '{only}' is excluded by the system_packages.managers
- Unknown config file type: {}
- failed to parse registry option {k} as a TOML value: {e}
- bootstrap plan contains resources with unknown state
- --connect-timeout must be greater than zero
AI-assisted analysis of jdx/mise@9dcfcaa0dc (2026-08-17).
Data as JSON: /api/errors/5b854b0dd761834c.
Report an issue: GitHub.