{"record":{"id":"c61cfa0c0e27994e","repo":"jdx/mise","slug":"unsupported-aqua-package-type-t","errorCode":null,"errorMessage":"unsupported aqua package type: {t}","messagePattern":"unsupported aqua package type: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/backend/aqua.rs","lineNumber":2274,"sourceCode":"                if pkg.path.is_some() {\n                    Ok((\n                        self.github_content_url(pkg, v),\n                        Some(self.github_content_api_url(pkg, v)),\n                        false,\n                        None,\n                    ))\n                } else {\n                    bail!(\"github_content package requires `path`\")\n                }\n            }\n            AquaPackageType::GithubArchive => Ok((\n                self.github_archive_url(pkg, v),\n                Some(self.github_archive_api_url(pkg, v)),\n                false,\n                None,\n            )),\n            AquaPackageType::Http => pkg.url(v, os(), arch()).map(|url| (url, None, false, None)),\n            ref t => bail!(\"unsupported aqua package type: {t}\"),\n        }\n    }\n\n    async fn github_release_url(\n        &self,\n        pkg: &AquaPackage,\n        v: &str,\n    ) -> Result<(String, Option<String>, Option<String>)> {\n        let target = PlatformTarget::from_current();\n        let asset_strs = pkg.asset_strs(v, os(), arch())?;\n        self.github_release_asset_for_target(pkg, v, asset_strs, &target)\n            .await\n    }\n\n    /// Resolve a GitHub release asset to `(canonical_url, transport_url)`.\n    ///\n    /// `canonical_url` is the browser download URL (`github.com/.../releases/download/...`),\n    /// which carries the real asset filename — use it for filename derivation and for any","sourceCodeStart":2256,"sourceCodeEnd":2292,"githubUrl":"https://github.com/jdx/mise/blob/533346cc374382b41ec5ff70536252b2e96e725c/src/backend/aqua.rs#L2256-L2292","documentation":"The aqua URL builder handles a known set of package types (github_release, github_content, github_archive, http, ...). When it encounters a package type it does not implement, it throws this error listing the unhandled type, acting as an exhaustive-match guard so new upstream types fail loudly.","triggerScenarios":"An aqua package config (or a newly published aqua-registry entry) uses a package type variant not supported by this mise/aqua backend version, and the code path to build its asset URL is reached.","commonSituations":"Recently added upstream aqua package type (e.g. a new specialized content type) used by a registry entry you just started installing; typo'd `type:` value in a custom package definition; outdated mise that predates support for the type.","solutions":["Upgrade mise to a version whose aqua backend supports the package type","Fix the `type:` field in your custom registry/package config to one of the supported values (github_release, github_content, github_archive, http)","If the type is genuinely new upstream, pin the package to an older registry entry or implement/request backend support"],"exampleFix":"# before\n- type: github_latest_release\n  repo_owner: someowner\n  repo_name: sometool\n# after (supported type)\n- type: github_release\n  repo_owner: someowner\n  repo_name: sometool","handlingStrategy":"try-catch","validationCode":"const SUPPORTED_TYPES: &[&str] = &[\"github_release\", \"github_content\", \"github_archive\", \"http\"];\nif !SUPPORTED_TYPES.contains(&pkg.package_type_str()) {\n    return Err(anyhow!(\"unsupported aqua package type: {}\", pkg.package_type_str()));\n}","typeGuard":null,"tryCatchPattern":"match install(pkg).await {\n    Err(e) if e.to_string().starts_with(\"unsupported aqua package type\") => {\n        eprintln!(\"upgrade mise or fix the package `type` field: {e}\");\n    }\n    r => r?,\n}","preventionTips":["Use only package types supported by your mise version; check release notes when upstream adds types","Keep mise updated so newly supported aqua package types become available","Validate `type:` values in custom registry entries against the supported list"],"tags":["aqua","unsupported","package-type"],"backgroundTag":"unsupported-enum-value","analyzedSha":"533346cc374382b41ec5ff70536252b2e96e725c","analyzedAt":"2026-09-17T13:35:38.149Z","contentChangedAt":"2026-09-17T13:35:38.149Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}