GoogleContainerTools/skaffold · error

`config-dependencies add` requires exactly one file path…

Error message

`config-dependencies add` requires exactly one file path argument

What it means

`skaffold inspect config-dependencies add` registers a config dependency and needs exactly one positional argument: the path to the dependency file. The Args validator rejects anything other than exactly one argument, logging the error via olog before returning it.

Solutions

  1. Provide exactly one dependency file path: `skaffold inspect config-dependencies add dependency.json -f skaffold.yaml`
  2. Run the command once per dependency file instead of passing multiple paths
  3. Check shell quoting so the path isn't split into multiple arguments

Example fix

// before
skaffold inspect config-dependencies add dep1.json dep2.json -f skaffold.yaml
// after
skaffold inspect config-dependencies add dep1.json -f skaffold.yaml
skaffold inspect config-dependencies add dep2.json -f skaffold.yaml
Defensive patterns

Strategy: validation

Validate before calling

FILES=(dependency.json)
[ ${#FILES[@]} -eq 1 ] || { echo "exactly one file path required"; exit 1; }

Prevention

When it happens

Trigger: Running `skaffold inspect config-dependencies add` with zero args or more than one file path, e.g. `add dep1.json dep2.json`. The dependency file path must be the single positional arg; the skaffold config is supplied via the -f flag.

Common situations: Passing multiple dependency files at once expecting batch add; omitting the file path and only providing `-f skaffold.yaml`.

Understand the failure class

Background: "missing required argument" and "the following required arguments were not provided": what required-argument errors mean and how to fix them — this error's family across 20 libraries.

Related errors


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

Appendix: source

Thrown at cmd/skaffold/app/cmd/inspect_config_dependencies.go:47

	olog "github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold/output/log"
)

func cmdConfigDependencies() *cobra.Command {
	return NewCmd("config-dependencies").
		WithDescription("Interact with skaffold config dependency definitions.").
		WithCommands(cmdConfigDependenciesAdd())
}

func cmdConfigDependenciesAdd() *cobra.Command {
	return NewCmd("add").
		WithDescription("Add config dependencies").
		WithExample("Add config dependency defined in `dependency.json`.", "inspect config-dependencies add dependency.json -f skaffold.yaml").
		WithFlagAdder(cmdConfigDependenciesAddFlags).
		WithArgs(func(cmd *cobra.Command, args []string) error {
			if len(args) != 1 {
				errMsg := "`config-dependencies add` requires exactly one file path argument"
				olog.Entry(context.TODO()).Error(errMsg)
				return errors.New(errMsg)
			}
			return nil
		}, addConfigDependencies)
}

func cmdConfigDependenciesAddFlags(f *pflag.FlagSet) {
	f.StringSliceVarP(&inspectFlags.modules, "module", "m", nil, "Names of modules to filter target action by.")
}

func addConfigDependencies(ctx context.Context, out io.Writer, args []string) error {
	return configDependencies.AddConfigDependencies(ctx, out, inspect.Options{
		Filename:       inspectFlags.filename,
		OutFormat:      inspectFlags.outFormat,
		RemoteCacheDir: inspectFlags.remoteCacheDir,
		Modules:        inspectFlags.modules,
	}, args[0])
}

View on GitHub (pinned to a1189de023)