jdx/mise · error
the packslip lists and for this host and mise will not…
Error message
the packslip lists {a} and {b} for this host and mise will not guess between them{hint} What it means
packslip's select_artifact wraps packslip::select_artifact artifact selection. When the release manifest lists two artifacts that both match the host and mise's strict criteria, Selection::Ambiguous(a, b) is returned and mise refuses to guess between them, optionally appending a hint to set the `variant` option explicitly.
Solutions
- Set the `variant` tool option to one of the listed variants, e.g. `packslip:owner/repo = { version = "x", variant = "<variant-name>" }`.
- Check the release manifest to see what distinguishes the two artifacts and pick the one intended for your platform.
- If the ambiguity is a manifest bug, ask the project to fix its packslip manifest, or pin a different version whose manifest is unambiguous.
Example fix
// before (mise.toml)
[tools]
"packslip:owner/repo" = "1.2.3" # two matching artifacts
// after
[tools]
"packslip:owner/repo" = { version = "1.2.3", variant = "v3" } Defensive patterns
Strategy: validation
Validate before calling
# inspect the manifest's artifacts for your host and pick a variant up front mise ls-remote 'packslip:owner/repo' # then set variant explicitly if multiple artifacts match
Prevention
- Set `variant` explicitly when a project publishes multiple builds per platform
- Check the project's release manifest for variant names
- Pin versions known to have unambiguous manifests for your platform
When it happens
Trigger: Installing a packslip tool whose signed manifest contains two eligible artifacts for the current platform/arch (e.g. two gnu-libc builds differing only in an unlisted variant), with no `variant` option set to disambiguate.
Common situations: Projects publishing dual-variant releases (e.g. baseline vs v3-architecture x86_64 builds, or two musl variants) where the host matches both; ambiguous musl fallback on a gnu host.
Related errors
- github.com/ has no release carrying ; mise installs from a…
- the packslip lists and as musl fallbacks for , and mise…
- ambiguous variants for
- an exec entry with no command
- bootstrap firewall management is only supported on Linux
AI-assisted analysis of jdx/mise@533346cc37 (2026-09-17).
Data as JSON: /api/errors/3870c45469d7e2fd.
Report an issue: GitHub.
Appendix: source
Thrown at src/backend/packslip.rs:338
host: &HostPlatform,
variant: Option<&str>,
) -> Result<&'a Artifact> {
let strict = host.as_host();
let variants = artifacts
.iter()
.filter_map(|a| a.variant.as_deref())
.unique()
.join(", ");
let hint = match variant {
Some(v) => format!(" with variant {v:?}"),
None if !variants.is_empty() => {
format!("; set `variant` to one of {variants} if one of those is meant for you")
}
None => String::new(),
};
match packslip::select_artifact(artifacts, &strict, variant, &FORMAT_PREFERENCE) {
Ok(artifact) => return Ok(artifact),
Err(Selection::Ambiguous(a, b)) => bail!(
"the packslip lists {a} and {b} for this host and mise will not guess between them{hint}"
),
Err(Selection::NoMatch) => {}
}
if host.libc.as_deref() == Some("gnu") {
let musl = Host {
libc: Some("musl"),
..strict
};
match packslip::select_artifact(artifacts, &musl, variant, &FORMAT_PREFERENCE) {
Ok(artifact) => {
debug!(
"no gnu build fits this host; taking the musl build {}, which is static",
artifact.name
);
return Ok(artifact);
}
Err(Selection::Ambiguous(a, b)) => bail!(View on GitHub (pinned to 533346cc37)