ipfs/kubo · error
release %s exists but has no binary for %s/%s yet; build art
Error message
release %s exists but has no binary for %s/%s yet; build artifacts may still be uploading, try again in a few hours
What it means
The GitHub release exists but none of its assets matches the binary name for this GOOS/GOARCH: right after a release is tagged, CI may still be building or uploading artifacts, so the platform binary is not there yet.
Source
Thrown at core/commands/update_github.go:204
// findReleaseAsset locates the platform-appropriate asset in a release.
// It fails immediately with a clear message if:
// - the release tag does not exist on GitHub (typo, unreleased version)
// - the release exists but has no binary for this OS/arch (CI still building)
func findReleaseAsset(ctx context.Context, tag string) (*ghRelease, *ghAsset, error) {
rel, err := githubReleaseByTag(ctx, tag)
if err != nil {
return nil, nil, fmt.Errorf("release %s not found on GitHub: %w", tag, err)
}
want := assetNameForPlatformTag(tag)
for i := range rel.Assets {
if rel.Assets[i].Name == want {
return rel, &rel.Assets[i], nil
}
}
return nil, nil, fmt.Errorf(
"release %s exists but has no binary for %s/%s yet; build artifacts may still be uploading, try again in a few hours",
tag, runtime.GOOS, runtime.GOARCH)
}
// downloadAsset downloads a release asset by its browser_download_url.
// This hits GitHub's CDN directly, not the API, so no auth headers are needed.
func downloadAsset(ctx context.Context, url string) ([]byte, error) {
req, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil)
if err != nil {
return nil, err
}
req.Header.Set("User-Agent", "kubo/"+version.CurrentVersionNumber)
resp, err := http.DefaultClient.Do(req)
if err != nil {
return nil, fmt.Errorf("downloading asset: %w", err)
}
defer resp.Body.Close()View on GitHub (pinned to 329838acdf)
Solutions
- Wait a few hours and retry while CI uploads artifacts
- Verify your platform has official builds for this release
- Download the binary manually once artifacts appear on the release page
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at core/commands/update_github.go:204 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ipfs/kubo@329838acdf (2026-09-03).
Data as JSON: /api/errors/9b263111071cd215.
Report an issue: GitHub.