GoogleContainerTools/skaffold · error

failed to interpret %q as index: %v

Error message

failed to interpret %q as index: %v

What it means

Fires in GetPlatforms when the image's media type is an OCI ImageIndex/Docker manifest list but the underlying object does not implement the ImageIndex interface — an internal go-containerregistry type-assertion failure, not a user config error.

Source

Thrown at pkg/skaffold/docker/platform.go:47

)

// GetPlatforms returns the platforms of the provided image.
func GetPlatforms(image string) ([]spec.Platform, error) {
	i, err := getImage(image)
	if err != nil {
		return nil, err
	}

	mt, err := i.MediaType()
	if err != nil {
		return nil, err
	}
	var p []spec.Platform
	switch mt {
	case types.OCIImageIndex, types.DockerManifestList:
		ix, ok := i.(v1.ImageIndex)
		if !ok {
			return nil, fmt.Errorf("failed to interpret %q as index: %v", image, i)
		}
		manifests, err := ix.IndexManifest()
		if err != nil {
			return nil, err
		}
		for _, m := range manifests.Manifests {
			if m.Platform == nil || m.Platform.Architecture == "unknown" || m.Platform.OS == "unknown" {
				continue
			}
			p = append(p, util.ConvertFromV1Platform(*m.Platform))
		}
	case types.OCIManifestSchema1, types.DockerManifestSchema2:
		im, ok := i.(v1.Image)
		if !ok {
			return nil, fmt.Errorf("failed to interpret %q as image: %v", image, im)
		}
		cf, err := im.ConfigFile()
		if err != nil {

View on GitHub (pinned to a1189de023)

Solutions

  1. Retry after re-pulling or re-pushing the image in case of a transient registry inconsistency
  2. Rebuild/retag the image with current tooling to produce a clean index
  3. Report to skaffold maintainers with the image reference, as this is an internal invariant failure
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at pkg/skaffold/docker/platform.go:47 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of GoogleContainerTools/skaffold@a1189de023 (2026-09-05). Data as JSON: /api/errors/52aeda61cbe33140. Report an issue: GitHub.