GoogleContainerTools/skaffold · error

CONFIG_BAD_FILTER_ERR

CONFIG_BAD_FILTER_ERR

Error message

did not find any configs matching selection %v

What it means

BadConfigFilterErr is thrown when a configs filter (e.g. `--profile`, module names, or `--config` selection) matched zero configurations in the parsed skaffold config set. It is a structured actionable error (code CONFIG_BAD_FILTER_ERR) with a suggestion to check the filter.

Source

Thrown at pkg/skaffold/schema/errors/errors.go:69

// DependencyConfigFileNotFoundErr specifies dependency configuration file not found
func DependencyConfigFileNotFoundErr(depFile, parentFile string, err error) error {
	return sErrors.NewError(err,
		&proto.ActionableErr{
			Message: fmt.Sprintf("could not find skaffold config file %q that is referenced as a dependency in config file %q: %v", depFile, parentFile, err),
			ErrCode: proto.StatusCode_CONFIG_DEPENDENCY_NOT_FOUND_ERR,
			Suggestions: []*proto.Suggestion{
				{
					SuggestionCode: proto.SuggestionCode_CONFIG_CHECK_DEPENDENCY_DEFINITION,
					Action:         fmt.Sprintf("Modify the `requires` definition in the configuration file %q to point to the correct path for the dependency %q", parentFile, depFile),
				},
			},
		})
}

// BadConfigFilterErr specifies no configs matched the configs filter
func BadConfigFilterErr(filter []string) error {
	msg := fmt.Sprintf("did not find any configs matching selection %v", filter)
	return sErrors.NewError(errors.New(msg),
		&proto.ActionableErr{
			Message: msg,
			ErrCode: proto.StatusCode_CONFIG_BAD_FILTER_ERR,
			Suggestions: []*proto.Suggestion{
				{
					SuggestionCode: proto.SuggestionCode_CONFIG_CHECK_FILTER,
					Action:         "Check that the arguments to the `-m` or `--module` flag are valid config names",
				},
			},
		})
}

// ZeroConfigsParsedErr specifies that the config file is empty
func ZeroConfigsParsedErr(file string) error {
	msg := fmt.Sprintf("failed to get any valid configs from file %q", file)
	return sErrors.NewError(errors.New(msg),
		&proto.ActionableErr{
			Message: msg,

View on GitHub (pinned to a1189de023)

Solutions

  1. Check the filter values against `profiles:` and `metadata.name:` entries defined in your skaffold config files.
  2. Run `skaffold config list` / inspect skaffold.yaml to confirm the profile or module name exists.
  3. Remove or correct the filter flag if you intend to use the default config.

Example fix

// before
skaffold dev --profile prodction
// after
skaffold dev --profile production
Defensive patterns

Strategy: validation

Validate before calling

grep -E '^\s*- name:' skaffold.yaml   # list available profiles/modules
skaffold dev --profile "$P" --dry-run 2>/dev/null || echo "profile $P not found"

Try / catch

if err != nil {
    var sErr *sErrors.Error
    if errors.As(err, &sErr) && sErr.ErrCode == proto.StatusCode_CONFIG_BAD_FILTER_ERR {
        log.Fatalf("filter %v matched nothing; check profiles/modules: %v", filter, err)
    }
    return err
}

Prevention

When it happens

Trigger: Calling config loading with a selection filter (e.g. `skaffold dev --profile foo` or module selection) where no config in any file defines a matching name/profile.

Common situations: Typos in `--profile` or module names; renaming a named config or profile but running an old command from shell history or CI scripts.

Related errors


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