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

  1. Verify tags exist at hub.docker.com/r/{namespace}/{repository}/tags
  2. Fix namespace/repository spelling in glance.yml
  3. If the tag just was pushed, wait for the next widget refresh — Hub indexing can lag
  4. 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

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


AI-assisted analysis of glanceapp/glance@91324e8de7 (2026-08-15). Data as JSON: /api/errors/8af409d73ca91689. Report an issue: GitHub.