GoogleContainerTools/skaffold · error

no build artifact for %q

Error message

no build artifact for %q

What it means

Fires in the debug configurator when a container references an image (by name or tag) that does not match any of the artifacts produced by the current build list, so no ImageConfiguration (entrypoint, env, etc.) can be retrieved for debugging transforms.

Source

Thrown at pkg/skaffold/debug/apply_transforms.go:35

package debug

import (
	"context"
	"fmt"
	"strings"

	"github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold/debug/types"
	"github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold/docker"
	"github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold/graph"
	"github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold/output/log"
	"github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold/runner/runcontext"
)

var ConfigRetriever = func(ctx context.Context, image string, builds []graph.Artifact, registries map[string]bool) (ImageConfiguration, error) {
	if artifact := findArtifact(image, builds); artifact != nil {
		return RetrieveImageConfiguration(ctx, artifact, registries)
	}
	return ImageConfiguration{}, fmt.Errorf("no build artifact for %q", image)
}

// findArtifact finds the corresponding artifact for the given image.
// If `builds` is empty, then treat all `image` images as a build artifact.
func findArtifact(image string, builds []graph.Artifact) *graph.Artifact {
	if len(builds) == 0 {
		log.Entry(context.TODO()).Debugf("No build artifacts specified: using image as-is %q", image)
		return &graph.Artifact{ImageName: image, Tag: image}
	}
	for _, artifact := range builds {
		if image == artifact.ImageName || image == artifact.Tag {
			log.Entry(context.TODO()).Debugf("Found artifact for image %q", image)
			return &artifact
		}
	}
	return nil
}

View on GitHub (pinned to a1189de023)

Solutions

  1. Ensure the image in the manifest matches an artifact defined in skaffold.yaml's build section (by imageName or tag)
  2. Run `skaffold build` first so artifacts/tags exist and are known to skaffold
  3. For images not built by skaffold, confirm they exist locally or in the remote registry so config can be fetched
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at pkg/skaffold/debug/apply_transforms.go:35 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/fc24d4d6f8ac2158. Report an issue: GitHub.