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
- Check the filter values against `profiles:` and `metadata.name:` entries defined in your skaffold config files.
- Run `skaffold config list` / inspect skaffold.yaml to confirm the profile or module name exists.
- 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
- Keep profile/module names in a checked-in list and validate CLI flags in CI scripts against it.
- Use shell completion for --profile to avoid typos.
- After renaming a profile or config, grep scripts/CI for the old name.
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
- CONFIG_PROFILES_NOT_FOUND_ERR
- bucket name is empty
- INSPECT_PROFILE_NOT_FOUND_ERR
- cannot resolve active Kubernetes context - multiple contexts
- CONFIG_ZERO_FOUND_ERR
AI-assisted analysis of GoogleContainerTools/skaffold@a1189de023 (2026-09-05).
Data as JSON: /api/errors/3f2b4d9a93748679.
Report an issue: GitHub.