{"record":{"id":"def68d8b387153b7","repo":"BoundaryML/baml","slug":"channel-was-selected-from-a-different-manifest-source-run","errorCode":null,"errorMessage":"channel {} was selected from a different manifest source.\nRun: baml toolchain use {} under the current manifest source.","messagePattern":"channel (.+?) was selected from a different manifest source\\.\nRun: baml toolchain use (.+?) under the current manifest source\\.","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"baml_language/crates/baml/src/main.rs","lineNumber":613,"sourceCode":"fn concrete_version_for_selector_with_base(\n    selector: &ResolvedSelector,\n    current_base: &str,\n) -> Result<String> {\n    if is_path_selector(&selector.selector) {\n        return Err(anyhow!(\n            \"active toolchain is a local path and has no version: {}\",\n            selector.selector\n        ));\n    }\n    if is_channel(&selector.selector) {\n        let state = read_state();\n        if let Some(channel) = state.channels.get(&selector.selector) {\n            if channel\n                .manifest_base_url\n                .as_deref()\n                .is_some_and(|base| base.trim_end_matches('/') != current_base)\n            {\n                return Err(anyhow!(\n                    \"channel {} was selected from a different manifest source.\\nRun: baml toolchain use {} under the current manifest source.\",\n                    selector.selector,\n                    selector.selector\n                ));\n            }\n            return Ok(channel.active_version.clone());\n        }\n        return match &selector.source {\n            SelectorSource::Project(path) => Err(anyhow!(\n                \"baml.toml [toolchain] selects channel {}, but no active concrete version is recorded locally.\\nRun: baml toolchain use {}\",\n                selector.selector,\n                selector.selector\n            )\n            .context(format!(\"project config: {}\", path.display()))),\n            _ => Err(anyhow!(\n                \"error: no BAML toolchain is installed.\\nRun: baml toolchain use canary\\nOr:  baml toolchain use nightly\"\n            )),\n        };","sourceCodeStart":595,"sourceCodeEnd":631,"githubUrl":"https://github.com/BoundaryML/baml/blob/bd85ce9dee1463ff04d27efd20531013a4ff46c1/baml_language/crates/baml/src/main.rs#L595-L631","documentation":"Fires during version resolution for a channel selector (canary/nightly): the channel was previously pinned via `baml toolchain use` while a different manifest base URL was active, and the recorded manifest source in the channel state does not match the current manifest base URL. The wrapper refuses to serve the cached concrete version because it was resolved from a different release manifest (e.g. switching between an internal mirror and the public manifest).","triggerScenarios":"Thrown at baml_language/crates/baml/src/main.rs:613 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Re-select the channel under the current manifest source: `baml toolchain use <channel>`","If you intended the previous manifest source, restore the corresponding manifest base URL configuration and re-run"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bd85ce9dee1463ff04d27efd20531013a4ff46c1","analyzedAt":"2026-09-12T03:38:25.718Z","contentChangedAt":"2026-09-12T03:38:25.718Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}