jdx/mise · error
flatpak cannot install a pinned version ('{pkg}')
Error message
flatpak cannot install a pinned version ('{pkg}') What it means
Request validation in the flatpak manager's install(): a PackageRequest pinned a specific version, but flatpak installs only the current remote version and cannot pin, so mise refuses the request up front instead of silently installing a different version.
Source
Thrown at src/system/packages/flatpak.rs:148
.args(args)
.stdin(Stdio::null())
.stdout(Stdio::piped())
.stderr(Stdio::piped())
.output()
.await?;
if !output.status.success() {
let stderr = String::from_utf8_lossy(&output.stderr);
bail!("flatpak list failed: {}", stderr.trim());
}
Ok(parse_flatpak_list(
&String::from_utf8_lossy(&output.stdout),
pkgs,
))
}
async fn install(&self, pkgs: &[PackageRequest], opts: &InstallOpts) -> Result<()> {
if let Some(pkg) = pkgs.iter().find(|pkg| pkg.version.is_some()) {
bail!("flatpak cannot install a pinned version ('{pkg}')");
}
let mut args = vec![
"install".to_string(),
self.scope_arg().to_string(),
"--noninteractive".to_string(),
];
args.extend(pkgs.iter().map(|pkg| pkg.name.clone()));
if opts.dry_run {
miseprintln!("flatpak {}", args.join(" "));
return Ok(());
}
run_flatpak(&args, "install").await
}
async fn upgrade(&self, pkgs: &[PackageRequest], opts: &InstallOpts) -> Result<()> {
if pkgs.is_empty() {
return Ok(());
}View on GitHub (pinned to afd2eddd3a)
Solutions
- Remove the version pin and request the app by ID only
- Install the pinned version outside mise with `flatpak install appid==version` directly
- Choose a manager that supports pinning if exact versions are required
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/system/packages/flatpak.rs:148 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of jdx/mise@afd2eddd3a (2026-09-09).
Data as JSON: /api/errors/cdfbc41fedf1a240.
Report an issue: GitHub.