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
- Retry after re-pulling or re-pushing the image in case of a transient registry inconsistency
- Rebuild/retag the image with current tooling to produce a clean index
- 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.