{"record":{"id":"61d39e8ebbccb437","repo":"jdx/mise","slug":"the-release-list-of-packslip-project-has-no-vers","errorCode":null,"errorMessage":"the release list of packslip:{project} has no version {}","messagePattern":"the release list of packslip:(.+?) has no version (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/backend/packslip.rs","lineNumber":829,"sourceCode":"                .iter()\n                .find(|r| r.version == tv.version)\n            else {\n                return Ok(None);\n            };\n            refuse_if_withdrawn(project, &tv.version, entry)?;\n            return Ok(Some(Located {\n                url: entry.packslip.clone(),\n                digest: list.digest_of(&entry.packslip).map(str::to_string),\n            }));\n        }\n        let list = self.release_list(project, pin, opts).await?;\n        let Some(entry) = list\n            .predicate\n            .releases\n            .iter()\n            .find(|r| r.version == tv.version)\n        else {\n            bail!(\n                \"the release list of packslip:{project} has no version {}\",\n                tv.version\n            );\n        };\n        refuse_if_withdrawn(project, &tv.version, entry)?;\n        Ok(Some(Located {\n            url: entry.packslip.clone(),\n            digest: list.digest_of(&entry.packslip).map(str::to_string),\n        }))\n    }\n\n    async fn locate_bundle(\n        &self,\n        project: &str,\n        tv: &ToolVersion,\n        pin: &Pin,\n        opts: &PackslipOptions<'_>,\n    ) -> Result<Located> {","sourceCodeStart":811,"sourceCodeEnd":847,"githubUrl":"https://github.com/jdx/mise/blob/533346cc374382b41ec5ff70536252b2e96e725c/src/backend/packslip.rs#L811-L847","documentation":"The signed release list for a packslip project was fetched and verified, but it contains no release entry whose version equals the requested tool version. mise refuses to fabricate or guess an entry, so installation cannot proceed.","triggerScenarios":"Resolving an install/lock for packslip:{project}@<version> (vendor_entry via locate_bundle/verified_release/install_payload) when tv.version does not appear verbatim in list.predicate.releases — mistyped version, version removed from the manifest, or querying a version published after the manifest revision.","commonSituations":"User pins a version that the vendor never released or later withdrew/renamed; .tool-versions/mise.toml carries a stale version; vendor republished the manifest without that version.","solutions":["Run `mise ls-remote packslip:<project>` to see versions the signed list actually offers and pick one of those","Fix the version string in mise.toml/.tool-versions to an exact listed version","Ask the vendor to add the missing version to their packslip release list"],"exampleFix":"// before\n[tools]\nripgrep = 'packslip:13.9.9'\n// after\n[tools]\nripgrep = 'packslip:14.1.0'","handlingStrategy":"validation","validationCode":"mise ls-remote packslip:<project> | grep -Fx '13.9.9'  # confirm the exact version is listed before pinning","typeGuard":"null","tryCatchPattern":"// treat as a user-input resolution failure\nmatch err {\n    Err(e) if e.to_string().contains(\"has no version\") => fallback_to_remote_listing(),\n    other => other?,\n}","preventionTips":["Pin exact versions that appear in `mise ls-remote` output","Re-check pinned versions after a vendor announces manifest changes","Use version prefixes minimally; prefer fully resolved versions in lockfiles"],"tags":["packslip","version-not-found","release-list"],"backgroundTag":"record-not-found","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"}