BoundaryML/baml · error
[toolchain] pins version , but it isn't…
Error message
{} [toolchain] pins version {version}, but it isn't installed.
Installed toolchains: {}
Run: baml toolchain install {version} What it means
Fires after the project baml.toml pins an exact version in [toolchain], but that version is not present in the local toolchains directory (e.g. the config was committed by a teammate or the toolchain was uninstalled). The message lists the versions that ARE installed so the mismatch is immediately visible. This is the project-config branch of missing_toolchain_error.
Solutions
- Install the pinned version: `baml toolchain install <version>`
- Or point the project at an installed version by editing the [toolchain] selector in baml.toml
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at baml_language/crates/baml/src/main.rs:639 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BoundaryML/baml@bd85ce9dee (2026-09-12).
Data as JSON: /api/errors/2490ab5edec278bf.
Report an issue: GitHub.
Appendix: source
Thrown at baml_language/crates/baml/src/main.rs:639
return match &selector.source {
SelectorSource::Project(path) => Err(anyhow!(
"baml.toml [toolchain] selects channel {}, but no active concrete version is recorded locally.\nRun: baml toolchain use {}",
selector.selector,
selector.selector
)
.context(format!("project config: {}", path.display()))),
_ => Err(anyhow!(
"error: no BAML toolchain is installed.\nRun: baml toolchain use canary\nOr: baml toolchain use nightly"
)),
};
}
Ok(selector.selector.clone())
}
fn missing_toolchain_error(selector: &ResolvedSelector, version: &str) -> anyhow::Error {
let installed = installed_toolchains().join(", ");
match &selector.source {
SelectorSource::Project(path) => anyhow!(
"{} [toolchain] pins version {version}, but it isn't installed.\nInstalled toolchains: {}\nRun: baml toolchain install {version}",
path.display(),
if installed.is_empty() {
"(none)"
} else {
&installed
}
),
_ => anyhow!(
"BAML toolchain {version} is not installed.\nInstalled toolchains: {}\nRun: baml toolchain install {version}",
if installed.is_empty() {
"(none)"
} else {
&installed
}
),
}
}View on GitHub (pinned to bd85ce9dee)