glanceapp/glance · warning
no tags found for repository: %s
Error message
no tags found for repository: %s
What it means
Returned by fetchLatestDockerHubRelease (internal/glance/widget-releases.go:311) when Docker Hub's /v2/namespaces/{ns}/repositories/{repo}/tags endpoint returns an empty results array. This is the no-tag path (repository given without ':tag'); the response decoded fine but Hub reports zero tags for the image.
Source
Thrown at internal/glance/widget-releases.go:311
httpRequest, err := http.NewRequest("GET", requestURL, nil)
if err != nil {
return nil, err
}
if request.token != nil {
httpRequest.Header.Add("Authorization", "Bearer "+(*request.token))
}
var tag *dockerHubRepositoryTagResponse
if len(tagParts) == 1 {
response, err := decodeJsonFromRequest[dockerHubRepositoryTagsResponse](defaultHTTPClient, httpRequest)
if err != nil {
return nil, err
}
if len(response.Results) == 0 {
return nil, fmt.Errorf("no tags found for repository: %s", request.Repository)
}
tag = &response.Results[0]
} else {
response, err := decodeJsonFromRequest[dockerHubRepositoryTagResponse](defaultHTTPClient, httpRequest)
if err != nil {
return nil, err
}
tag = &response
}
var repo string
var displayName string
var notesURL string
if len(tagParts) == 1 {
repo = nameParts[1]View on GitHub (pinned to 91324e8de7)
Solutions
- Verify tags exist at hub.docker.com/r/{namespace}/{repository}/tags
- Fix namespace/repository spelling in glance.yml
- If the tag just was pushed, wait for the next widget refresh — Hub indexing can lag
- Track a specific tag instead ('repo:1.27') — the specific-tag path errors differently and pinpoints whether the tag itself is missing
Defensive patterns
Strategy: validation
Validate before calling
// Pre-check tags exist on Docker Hub
url := fmt.Sprintf("https://hub.docker.com/v2/namespaces/%s/repositories/%s/tags", ns, repo)
// results empty => will hit "no tags found" Try / catch
if err != nil && strings.Contains(err.Error(), "no tags found for repository") {
// verify namespace/name spelling on hub.docker.com
} Prevention
- Confirm tags exist on the Hub UI before adding an image
- Pin a specific tag to get clearer errors
- Wait for Hub indexing on brand-new images
When it happens
Trigger: GET https://hub.docker.com/v2/namespaces/{ns}/repositories/{repo}/tags returns {results: []} — the Docker Hub repository exists but has no pushed tags yet, all tags were deleted, the namespace/repo spelling resolves to an empty placeholder, or Hub eventually-consistent indexing lags right after a first push.
Common situations: Tracking a brand-new image before its first tag push, a repo whose tags were cleaned out, transposed characters in namespace/name that happen to match an unused namespace, or expecting a tag immediately after pushing without waiting for Hub to index it.
Related errors
- %w: could not get %d releases
- no releases found for repository %s
- invalid repository name: %s
- repository is required
- invalid source
AI-assisted analysis of glanceapp/glance@91324e8de7 (2026-08-15).
Data as JSON: /api/errors/8af409d73ca91689.
Report an issue: GitHub.