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
- Use the go backend instead: `mise use go:<module-path>` (the error suffix shows the exact path when pkg.path is set).
- Ensure the Go toolchain is installed (`mise use go`) before installing.
- 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
- Audit aqua: entries in mise.toml for go_build/go_install package types.
- Use go: backend references for any source-built Go tool.
- Pin release-asset versions when a tool publishes prebuilt binaries.
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
- package type `go_install` is not supported in the aqua backe
- unsupported aqua package type: {t}
- package type `cargo` is not supported in the aqua backend. U
- Go workspace module {} is missing {GO_MOD}
- unexpected character: {}
AI-assisted analysis of jdx/mise@afd2eddd3a (2026-09-09).
Data as JSON: /api/errors/84baae52cb55ac42.
Report an issue: GitHub.