jdx/mise · error

evaluating third-party tap definitions is only supported ins

Error message

evaluating third-party tap definitions is only supported inside the Linux or macOS process sandbox

What it means

Evaluating third-party tap Ruby definitions is only permitted inside mise's Linux/macOS process sandbox, because running arbitrary Ruby from a tap is untrusted. On other platforms (e.g. Windows) `metadata_sandbox` has no sandbox implementation and unconditionally bails with this message.

Source

Thrown at src/system/packages/brew/tap.rs:157

    Ok(cask)
}

#[cfg(any(target_os = "linux", target_os = "macos"))]
fn metadata_sandbox() -> Result<SandboxConfig> {
    Ok(SandboxConfig {
        deny_read: true,
        deny_write: true,
        deny_net: true,
        deny_env: true,
        deny_process: true,
        deny_temp_write: true,
        ..Default::default()
    })
}

#[cfg(not(any(target_os = "linux", target_os = "macos")))]
fn metadata_sandbox() -> Result<SandboxConfig> {
    bail!(
        "evaluating third-party tap definitions is only supported inside the Linux or macOS process sandbox"
    )
}

fn macos_version() -> String {
    if cfg!(target_os = "macos") {
        crate::cmd::cmd("sw_vers", ["-productVersion"])
            .read()
            .map(|version| version.trim().to_string())
            .unwrap_or_default()
    } else {
        "0".to_string()
    }
}

async fn resolve_tap_source(owner: &str, tap: &str, tap_url: Option<&str>) -> Result<TapSource> {
    let raw_base = api::tap_raw_base(owner, tap, tap_url)
        .ok_or_else(|| eyre::eyre!("only GitHub tap URLs can be fetched directly"))?;

View on GitHub (pinned to afd2eddd3a)

Solutions

  1. Install the tool via a platform-supported mise backend (github:, cargo:, npm:, aqua:)
  2. Use a Windows-native tool variant instead of the Homebrew tap formula
  3. Run mise under WSL (Linux) so the sandbox path is available
  4. Install via real Homebrew outside mise if a Windows Homebrew setup exists

Example fix

// before: mise.toml (Windows)
"brew:thirdparty-tool" = "latest"
// after
"github:org/thirdparty-tool" = "latest"
Defensive patterns

Strategy: fallback

Validate before calling

if !(cfg!(target_os = "linux") || cfg!(target_os = "macos")) {
    eprintln!("third-party tap evaluation unsupported here; use another backend");
}

Prevention

When it happens

Trigger: Installing any formula from a third-party tap that requires Ruby metadata evaluation on a platform other than Linux or macOS (e.g. Windows), where the `#[cfg(not(linux|macos))] metadata_sandbox()` variant always errors.

Common situations: Using mise on Windows and adding a third-party brew tap; core formulas with bottles work because they skip tap evaluation, but direct-source third-party formulas hit this wall.

Understand the failure class

Background: "unsupported platform" / "not supported on this platform" errors: what they mean and how to fix them — this error's family across 47 libraries.

Related errors


AI-assisted analysis of jdx/mise@afd2eddd3a (2026-09-09). Data as JSON: /api/errors/868fbb5a654e252f. Report an issue: GitHub.