jdx/mise · error

package type `{}` is not supported in the aqua backend. Use

Error message

package type `{}` is not supported in the aqua backend. Use the go backend instead{}.

What it means

Same refusal as the go_install case, but for AquaPackageType::GoBuild: the aqua package asks for a Go build from source, which the aqua backend cannot perform. mise bails with the package type and, when the package declares a path, appends a `go:<path>` backend hint to use instead.

Source

Thrown at src/backend/aqua.rs:5036

                    .as_deref()
                    .filter(|name| !name.is_empty())
                    .or_else(|| {
                        pkg.name
                            .as_deref()
                            .and_then(|s| s.strip_prefix("crates.io/"))
                    })
                    .map(|name| format!(": cargo:{}", name.escape_debug()))
                    .unwrap_or_default()
            )
        }
        AquaPackageType::GoInstall => {
            let backend = go_install_backend(pkg, version)?;
            bail!(
                "package type `go_install` is not supported in the aqua backend. Use the go backend instead: {backend}."
            )
        }
        AquaPackageType::GoBuild => {
            bail!(
                "package type `{}` is not supported in the aqua backend. Use the go backend instead{}.",
                pkg.package_type(),
                pkg.path
                    .as_ref()
                    .map(|path| format!(": go:{path}"))
                    .unwrap_or_else(|| {
                        format!(": go:github.com/{}/{}", pkg.repo_owner, pkg.repo_name)
                    })
            )
        }
        _ => {}
    }
    Ok(())
}

fn go_install_backend(pkg: &AquaPackage, version: &str) -> Result<String> {
    let path = match pkg.path.as_deref() {
        Some(path) => pkg.parse_aqua_str(path, version, &Default::default(), os(), arch())?,

View on GitHub (pinned to afd2eddd3a)

Solutions

  1. Use the go backend instead: `mise use go:<module-path>` (the error suffix shows the exact path when pkg.path is set).
  2. Ensure the Go toolchain is installed (`mise use go`) before installing.
  3. Prefer an aqua package that ships prebuilt release assets if one exists.

Example fix

// before
mise use aqua:github.com/owner/tool

// after
mise use go:github.com/owner/tool/cmd/tool
Defensive patterns

Strategy: validation

Validate before calling

# before installing, confirm the aqua package is not go_build
mise ls-remote "aqua:$pkg" || echo "fall back to go:$pkg"

Try / catch

mise use "$pkg" || mise use "go:${pkg#aqua:}"

Prevention

When it happens

Trigger: Installing an aqua registry tool whose package type is `go_build` via `mise install`/`mise use aqua:...`; the bail fires in the GoBuild arm of the package-type match in src/backend/aqua.rs.

Common situations: Tools that publish no prebuilt binaries and are marked go_build in the aqua registry; users migrating aqua.yaml tool lists to mise.

Understand the failure class

Background: UnsupportedOperationException and "is not supported" errors: when a library deliberately refuses a call — this error's family across 30 libraries.

Related errors


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