jdx/mise · error

No mise.toml file found

Error message

No mise.toml file found

What it means

With no --file, mise config get calls top_toml_config() (src/config/mod.rs:2368), which returns the first TOML config in the loaded set (project mise.toml/mise.local.toml chain plus global TOML). If none exists - only .tool-versions, non-TOML files, or nothing at all - it returns None and the command bails 'No mise.toml file found' (src/cli/config/get.rs:77).

Source

Thrown at src/cli/config/get.rs:77

                        .iter()
                        .map(|v| match v {
                            toml::Value::String(s) => format!("\"{s}\""),
                            toml::Value::Integer(i) => i.to_string(),
                            toml::Value::Boolean(b) => b.to_string(),
                            toml::Value::Float(f) => f.to_string(),
                            toml::Value::Datetime(d) => d.to_string(),
                            toml::Value::Array(_) => "[...]".to_string(),
                            toml::Value::Table(_) => "{...}".to_string(),
                        })
                        .collect();
                    miseprintln!("[{}]", elements.join(", "));
                }
                toml::Value::Table(t) => {
                    miseprintln!("{}", toml::to_string(t)?);
                }
            }
        } else {
            bail!("No mise.toml file found");
        }
        Ok(())
    }
}

static AFTER_LONG_HELP: &str = color_print::cstr!(
    r#"<bold><underline>Examples:</underline></bold>

    $ <bold>mise toml get tools.python</bold>
    3.12
"#
);

View on GitHub (pinned to 9dcfcaa0dc)

Solutions

  1. Create a mise.toml in the project (touch mise.toml, or run 'mise use <tool>' which creates one), then retry
  2. Pass --file to point at an existing TOML config elsewhere
  3. Check what mise currently loads: 'mise config' lists the config files in the loaded set

Example fix

# before
mise config get tools.python
# Error: No mise.toml file found

# after
touch mise.toml   # or: mise use python@3.12
mise config get tools.python
Defensive patterns

Strategy: validation

Validate before calling

# bash: create-or-verify before reading
[ -f mise.toml ] || touch mise.toml
mise config get "$KEY"

Prevention

When it happens

Trigger: 'mise config get <key>' in a project with no mise.toml anywhere up the tree and no global TOML config; environments migrated from asdf carrying only .tool-versions; ~/.config/mise/config.toml never created and MISE_GLOBAL_CONFIG_FILE unset.

Common situations: asdf-era projects; fresh machines or container images; users whose entire configuration is .tool-versions or env vars.

Related errors


AI-assisted analysis of jdx/mise@9dcfcaa0dc (2026-08-17). Data as JSON: /api/errors/a33ed6cea2d5eb70. Report an issue: GitHub.