{"record":{"id":"679a95f6912302d0","repo":"jdx/mise","slug":"unsupported-conda-package-info-format","errorCode":null,"errorMessage":"unsupported conda package info format","messagePattern":"unsupported conda package info format","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/lockfile.rs","lineNumber":785,"sourceCode":"impl TryFrom<toml::Value> for CondaPackageInfo {\n    type Error = Report;\n    fn try_from(value: toml::Value) -> Result<Self> {\n        match value {\n            toml::Value::Table(mut t) => {\n                let url = t\n                    .remove(\"url\")\n                    .and_then(|v| match v {\n                        toml::Value::String(s) => Some(s),\n                        _ => None,\n                    })\n                    .ok_or_else(|| eyre::eyre!(\"missing url in conda package info\"))?;\n                let checksum = match t.remove(\"checksum\") {\n                    Some(toml::Value::String(s)) => Some(s),\n                    _ => None,\n                };\n                Ok(CondaPackageInfo { url, checksum })\n            }\n            _ => bail!(\"unsupported conda package info format\"),\n        }\n    }\n}\n\nimpl TryFrom<toml::Value> for PkgxPackageInfo {\n    type Error = Report;\n    fn try_from(value: toml::Value) -> Result<Self> {\n        match value {\n            toml::Value::Table(mut t) => {\n                let url = t\n                    .remove(\"url\")\n                    .and_then(|v| match v {\n                        toml::Value::String(s) => Some(s),\n                        _ => None,\n                    })\n                    .ok_or_else(|| eyre::eyre!(\"missing url in pkgx package info\"))?;\n                let checksum = match t.remove(\"checksum\") {\n                    Some(toml::Value::String(s)) => Some(s),","sourceCodeStart":767,"sourceCodeEnd":803,"githubUrl":"https://github.com/jdx/mise/blob/6f52dcdf99e282ef7a7db68c81301fa4618d0f79/src/lockfile.rs#L767-L803","documentation":"Each entry under mise.lock's [conda-packages] section must be a table containing at least a string url key (a missing url raises \"missing url in conda package info\" just above); any non-table value bails with \"unsupported conda package info format\" (src/lockfile.rs:770-786).","triggerScenarios":"[conda-packages.linux-x64.pkg] = \"https://...\" (bare string instead of a table), or an integer/array entry — hand edits or version drift in the lockfile format.","commonSituations":"Hand-editing conda package entries in mise.lock; conda-related sections written by a different mise version than the reader.","solutions":["Regenerate the lockfile: rm mise.lock && mise lock (conda package info is rebuilt from resolved installs).","Upgrade/align mise versions so the conda-packages format matches.","Do not hand-edit mise.lock."],"exampleFix":"# before (mise.lock)\n[conda-packages.linux-64.numpy]\nvalue = \"https://repo.anaconda.com/...\"   # wrong: must be url = \"...\" inside a table\n\n# after — regenerate\n$ rm mise.lock && mise lock","handlingStrategy":"validation","validationCode":"# CI guard: conda-packages entries must be tables with a string url\npython3 -c \"\nimport tomllib\nfor pkgs in tomllib.load(open('mise.lock', 'rb')).get('conda-packages', {}).values():\n    for name, info in pkgs.items():\n        if not isinstance(info, dict) or not isinstance(info.get('url'), str):\n            raise SystemExit('bad conda package info: %s' % name)\n\"","typeGuard":null,"tryCatchPattern":"On \"unsupported conda package info format\", regenerate mise.lock rather than fixing the entry by hand; if the file came from another mise version, upgrade first so regeneration reproduces the same section.","preventionTips":["Regenerate lockfiles instead of editing conda sections.","Keep mise versions aligned across machines that share mise.lock.","Validate the conda-packages section shape in CI."],"tags":["lockfile","parse","conda","toml","type-error"],"backgroundTag":"invalid-lockfile-format","analyzedSha":"6f52dcdf99e282ef7a7db68c81301fa4618d0f79","analyzedAt":"2026-08-22T10:14:23.840Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}