jdx/mise · error
unsupported conda package info format
Error message
unsupported conda package info format
What it means
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).
Source
Thrown at src/lockfile.rs:785
impl TryFrom<toml::Value> for CondaPackageInfo {
type Error = Report;
fn try_from(value: toml::Value) -> Result<Self> {
match value {
toml::Value::Table(mut t) => {
let url = t
.remove("url")
.and_then(|v| match v {
toml::Value::String(s) => Some(s),
_ => None,
})
.ok_or_else(|| eyre::eyre!("missing url in conda package info"))?;
let checksum = match t.remove("checksum") {
Some(toml::Value::String(s)) => Some(s),
_ => None,
};
Ok(CondaPackageInfo { url, checksum })
}
_ => bail!("unsupported conda package info format"),
}
}
}
impl TryFrom<toml::Value> for PkgxPackageInfo {
type Error = Report;
fn try_from(value: toml::Value) -> Result<Self> {
match value {
toml::Value::Table(mut t) => {
let url = t
.remove("url")
.and_then(|v| match v {
toml::Value::String(s) => Some(s),
_ => None,
})
.ok_or_else(|| eyre::eyre!("missing url in pkgx package info"))?;
let checksum = match t.remove("checksum") {
Some(toml::Value::String(s)) => Some(s),View on GitHub (pinned to 6f52dcdf99)
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.
Example fix
# before (mise.lock) [conda-packages.linux-64.numpy] value = "https://repo.anaconda.com/..." # wrong: must be url = "..." inside a table # after — regenerate $ rm mise.lock && mise lock
Defensive patterns
Strategy: validation
Validate before calling
# CI guard: conda-packages entries must be tables with a string url
python3 -c "
import tomllib
for pkgs in tomllib.load(open('mise.lock', 'rb')).get('conda-packages', {}).values():
for name, info in pkgs.items():
if not isinstance(info, dict) or not isinstance(info.get('url'), str):
raise SystemExit('bad conda package info: %s' % name)
" Try / catch
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.
Prevention
- 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.
When it happens
Trigger: [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.
Common situations: Hand-editing conda package entries in mise.lock; conda-related sections written by a different mise version than the reader.
Related errors
- additional_artifacts must be an array in lockfile
- unsupported asset info format
- unsupported pkgx package info format
- invalid lockfile format for tool {short}: expected array ([[
- unsupported lockfile format {}
AI-assisted analysis of jdx/mise@6f52dcdf99 (2026-08-22).
Data as JSON: /api/errors/679a95f6912302d0.
Report an issue: GitHub.