BoundaryML/baml · error · FetchError
manifest 404 for version {version} (not released yet?)
Error message
manifest 404 for version {version} (not released yet?) What it means
FetchError::ManifestNotFound is thrown by baml_release when the release manifest for the requested version returns HTTP 404. The '(not released yet?)' hint signals the most common cause: the requested version does not exist on the release server, typically because it has not been published yet or the version string is wrong.
Source
Thrown at baml_language/crates/baml_release/src/lib.rs:85
impl Product {
pub fn tag_prefix(self) -> &'static str {
match self {
Product::Toolchain => "baml-language",
Product::Wrapper => "baml-wrapper",
}
}
}
#[derive(Debug, thiserror::Error)]
pub enum FetchError {
#[error("network error fetching {url}: {source}")]
Network { url: String, source: reqwest::Error },
#[error("HTTP {status} fetching {url}")]
HttpStatus {
url: String,
status: reqwest::StatusCode,
},
#[error("manifest 404 for version {version} (not released yet?)")]
ManifestNotFound { version: String },
#[error("manifest schema {got} not supported (max {max}); run `baml self-update`")]
ManifestSchemaTooNew { got: u32, max: u32 },
#[error("target {target} not built for version {version}")]
TargetNotInManifest { target: String, version: String },
#[error("sha256 mismatch for {url}: expected {expected}, got {got}")]
ChecksumMismatch {
url: String,
expected: String,
got: String,
},
#[error("archive missing expected binary {name}")]
BinaryNotInArchive { name: String },
#[error("archive contains unsafe path {path}")]
UnsafeArchivePath { path: String },
#[error("disk error: {0}")]
Io(#[from] std::io::Error),
#[error("zip archive error: {0}")]View on GitHub (pinned to bd85ce9dee)
Solutions
- Verify the requested version exists on the release server or GitHub releases page
- Check for typos in the version string (compare against published tags)
- Use the latest released version instead (omit version or use 'latest')
- Wait and retry if the release was announced but the publish pipeline hasn't finished
- Pin an earlier version that is known to be published
Example fix
# before $ baml self-update --version 0.205.0 manifest 404 for version 0.205.0 (not released yet?) # after $ baml self-update --version 0.204.0 # or omit --version for latest
Defensive patterns
Strategy: fallback
Validate before calling
// resolve latest published version before fetching its manifest
let versions = list_published_versions(); // from release index
if !versions.contains(requested_version) {
eprintln!("{requested_version} not published; using {}", versions[0]);
} Type guard
fn is_manifest_404(e: &FetchError) -> bool {
matches!(e, FetchError::ManifestNotFound { .. })
} Try / catch
match install_version(v) {
Err(FetchError::ManifestNotFound { version }) => {
eprintln!("{version} not released yet; falling back to latest");
install_latest()
}
other => other,
} Prevention
- Cross-check version strings against the published releases list
- Prefer omitting the version (latest) unless pinning deliberately
- After a release announcement, wait for the publish pipeline to complete
- Use exact tags from `git tag`/release pages, not memory
When it happens
Trigger: Calling a baml_release fetch/self-update API with a version string whose manifest URL returns 404 — e.g. requesting version '1.2.3' before it was released, a typo'd version, or a deleted/withdrawn release.
Common situations: Pinning a version from a changelog before the release pipeline published it, upgrading to a version tag that only exists in git but not in releases, running self-update with a typo like '0.999.0'.
Understand the failure class
Background: 'Could not be found', 'does not exist', 'not found in database': the resource-not-found family when an ID, slug, key, or URI lookup comes back empty — this error's family across 20 libraries.
Related errors
- target {target} not built for version {version}
- Auth server returned {status}: {body}
- PostHog returned {status}
- network error fetching {url}: {source}
- HTTP {status} fetching {url}
AI-assisted analysis of BoundaryML/baml@bd85ce9dee (2026-09-12).
Data as JSON: /api/errors/7bfc34802ff2e0cc.
Report an issue: GitHub.