{"record":{"id":"859bcadefec16efa","repo":"jdx/mise","slug":"unsupported-aqua-package-format-format","errorCode":null,"errorMessage":"unsupported aqua package format: {format}","messagePattern":"unsupported aqua package format: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/backend/aqua.rs","lineNumber":2998,"sourceCode":"        Ok(())\n    }\n\n    fn record_cosign_provenance(&self, tv: &mut ToolVersion) {\n        self.record_provenance(tv, ProvenanceType::Cosign);\n    }\n\n    fn record_provenance(&self, tv: &mut ToolVersion, provenance: ProvenanceType) {\n        let platform_key = self.get_platform_key();\n        let pi = tv.lock_platforms.entry(platform_key).or_default();\n        if pi.provenance.as_ref().is_none_or(|p| *p < provenance) {\n            pi.provenance = Some(provenance);\n        }\n    }\n\n    fn effective_extraction_format(pkg: &AquaPackage, format: &str) -> Result<ExtractionFormat> {\n        let extraction_format = ExtractionFormat::from_ext(format);\n        if extraction_format.is_none() && !matches!(format, \"\" | \"dmg\" | \"pkg\") {\n            bail!(\"unsupported aqua package format: {format}\");\n        }\n        let extraction_format = extraction_format.unwrap_or(ExtractionFormat::Raw);\n        if pkg.package_type() == AquaPackageType::GithubArchive\n            && extraction_format == ExtractionFormat::Raw\n        {\n            // The aqua registry can omit format for GitHub-generated archive downloads.\n            // Historically Raw reached untar/open_tar, which treated it as gzip-tar.\n            Ok(ExtractionFormat::TarGz)\n        } else {\n            Ok(extraction_format)\n        }\n    }\n\n    fn install(\n        &self,\n        ctx: &InstallContext,\n        tv: &ToolVersion,\n        pkg: &AquaPackage,","sourceCodeStart":2980,"sourceCodeEnd":3016,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/backend/aqua.rs#L2980-L3016","documentation":"effective_extraction_format maps the aqua package's declared format string to an ExtractionFormat. If the format extension is not a recognized archive type (tar/tar.gz/zip/etc.) and is not one of the accepted special values (empty, dmg, pkg), mise rejects the package rather than guessing how to extract it.","triggerScenarios":"Installing an aqua package whose registry entry declares a `format:` value that is neither a known archive extension nor '' | 'dmg' | 'pkg', when install reaches format resolution (src/backend/aqua.rs:2998).","commonSituations":"Aqua registry entry uses an unusual or newly introduced format string; typos like 'targz' or 'binary'; package ships an installer format mise's aqua backend doesn't handle (e.g. msi, deb, rpm).","solutions":["Update mise so the embedded aqua registry / ExtractionFormat parsing supports the new format","Install the tool via a different backend that handles the format (e.g. github backend or a package-manager backend)","Pin a version of the tool whose assets use a supported format (tar.gz, zip, raw binary, dmg, pkg)","If you author the aqua package entry, fix the `format` field to a recognized extension or remove it for raw binaries"],"exampleFix":"# before (aqua package YAML)\nformat: deb\n\n# after\nformat: tar.gz","handlingStrategy":"validation","validationCode":"// pre-check the package's declared format before installing via aqua\nconst pkg = await fetchAquaRegistryEntry(pkgName);\nconst ok = [\"\", \"tar.gz\", \"tgz\", \"tar.xz\", \"tar.bz2\", \"zip\", \"raw\", \"dmg\", \"pkg\"];\nif (!ok.includes(pkg.format ?? \"\")) {\n  console.warn(`format '${pkg.format}' not supported by mise aqua backend; pick another backend`);\n}","typeGuard":null,"tryCatchPattern":"try {\n  await $`mise install aqua:owner/repo`;\n} catch (e) {\n  if (String(e).includes(\"unsupported aqua package format\")) {\n    await $`mise use github:owner/repo`; // fall back to release-asset backend\n  } else throw e;\n}","preventionTips":["Check the aqua registry entry's format field before adding the tool to mise.toml","Prefer tools publishing tar.gz/zip/raw assets when choosing between equivalent tools","Keep mise updated for new extraction-format support"],"tags":["aqua","format","extraction"],"backgroundTag":"invalid-enum-value","analyzedSha":"afd2eddd3a50c16190efc1c7e94404b48f72af57","analyzedAt":"2026-09-09T01:38:25.179Z","contentChangedAt":"2026-09-09T01:38:25.179Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}