jdx/mise · error

flatpak cannot upgrade a pinned version ('{pkg}')

Error message

flatpak cannot upgrade a pinned version ('{pkg}')

What it means

Request validation in the flatpak manager's upgrade(): same constraint as install — a pinned version was requested but flatpak upgrade cannot target a pinned version, so mise rejects it before invoking flatpak.

Source

Thrown at src/system/packages/flatpak.rs:168

        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(());
        }
        if let Some(pkg) = pkgs.iter().find(|pkg| pkg.version.is_some()) {
            bail!("flatpak cannot upgrade a pinned version ('{pkg}')");
        }
        let mut args = vec![
            "update".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, "update").await
    }
}

#[cfg(test)]
mod tests {
    use super::*;

View on GitHub (pinned to afd2eddd3a)

Solutions

  1. Upgrade by unpinned app ID, or skip flatpak for pinned packages
  2. Use `flatpak update` directly for version-specific control
  3. Drop the pin in the mise package request
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/system/packages/flatpak.rs:168 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/1253819e3abbbcf1. Report an issue: GitHub.