{"record":{"id":"8bb848a0d604ea92","repo":"jdx/mise","slug":"what-is-experimental-enable-it-with-mise-setti","errorCode":null,"errorMessage":"{what} is experimental. Enable it with `mise settings experimental=true`","messagePattern":"(.+?) is experimental\\. Enable it with `mise settings experimental=true`","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/config/settings.rs","lineNumber":1415,"sourceCode":"\n    /// Returns configured lockfile platforms parsed into Platform structs, or None for defaults.\n    /// Errors on invalid platform strings (same validation as `mise lock --platform`).\n    pub(crate) fn lockfile_platforms(&self) -> Result<Option<Vec<Platform>>> {\n        match &self.lockfile_platforms {\n            Some(platforms) if !platforms.is_empty() => {\n                Ok(Some(Platform::parse_multiple(platforms)?))\n            }\n            _ => Ok(None),\n        }\n    }\n\n    pub(crate) fn force_provenance_verify(&self) -> bool {\n        self.locked_verify_provenance || self.paranoid\n    }\n\n    pub(crate) fn ensure_experimental(&self, what: &str) -> Result<()> {\n        if !self.experimental {\n            bail!(\"{what} is experimental. Enable it with `mise settings experimental=true`\");\n        }\n        Ok(())\n    }\n\n    pub(crate) fn trusted_config_paths(&self) -> impl Iterator<Item = PathBuf> + '_ {\n        self.trusted_config_paths\n            .iter()\n            .filter(|p| !p.to_string_lossy().is_empty())\n            .map(file::replace_path)\n            .filter_map(|p| file::canonicalize_cached(&p))\n    }\n\n    pub(crate) fn global_tools_file(&self) -> PathBuf {\n        env::var_path(\"MISE_GLOBAL_CONFIG_FILE\")\n            .or_else(|| env::var_path(\"MISE_CONFIG_FILE\"))\n            .unwrap_or_else(|| {\n                if self.asdf_compat {\n                    env::HOME.join(&*env::MISE_DEFAULT_TOOL_VERSIONS_FILENAME)","sourceCodeStart":1397,"sourceCodeEnd":1433,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/config/settings.rs#L1397-L1433","documentation":"mise gates experimental features behind the `experimental` setting. Settings::ensure_experimental is called before executing such a feature; if `mise settings experimental=true` is not set (and the feature is not otherwise force-enabled), mise refuses with this message telling the user exactly how to opt in.","triggerScenarios":"Using any feature that calls settings.ensure_experimental(what) — e.g. experimental backends, task features, or provenance/paranoid-adjacent functionality — while `experimental` is false in settings.","commonSituations":"User enables a newly announced experimental feature from docs/changelog without flipping the experimental flag; CI environment lacks the setting that a developer machine had; settings file overridden by env/CLI layers where experimental=false.","solutions":["Run `mise settings set experimental true` (or add `experimental = true` under [settings] in mise.toml)","Set MISE_EXPERIMENTAL=1 in the environment for CI/one-off runs","Check which feature raised the error (the {what} text) and read its docs before enabling experimental mode","If the feature is no longer experimental, upgrade mise — the gate may have been removed"],"exampleFix":"# before\nmise run my-experimental-task\n# Error: ... is experimental.\n\n# after\nmise settings set experimental true\nmise run my-experimental-task","handlingStrategy":"validation","validationCode":"# shell: gate before invoking a feature known to be experimental\n[ \"$(mise settings get experimental)\" = \"true\" ] || mise settings set experimental true","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Check the feature's docs for an experimental notice before adopting it","Set `experimental = true` once in your global ~/.config/mise/settings.toml if you opt into experimental features","Set MISE_EXPERIMENTAL=1 in CI images that rely on experimental functionality","Re-check the flag after mise upgrades; features may graduate out of the gate"],"tags":["settings","experimental","mise"],"backgroundTag":"feature-not-enabled","analyzedSha":"afd2eddd3a50c16190efc1c7e94404b48f72af57","analyzedAt":"2026-09-09T01:38:25.179Z","contentChangedAt":"2026-09-09T01:38:25.179Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}