{"record":{"id":"09679f09e95ed315","repo":"kubernetes/kubernetes","slug":"q-does-not-take-any-arguments-got-q-09679f","errorCode":null,"errorMessage":"%q does not take any arguments, got %q","messagePattern":"%q does not take any arguments, got %q","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"cmd/kubemark/app/hollow_node.go","lineNumber":169,"sourceCode":"// NewHollowNodeCommand creates a *cobra.Command object with default parameters\nfunc NewHollowNodeCommand() *cobra.Command {\n\ts := &hollowNodeConfig{\n\t\tNodeLabels:        make(map[string]string),\n\t\tExtendedResources: make(map[string]string),\n\t}\n\n\tcmd := &cobra.Command{\n\t\tUse:  \"kubemark\",\n\t\tLong: \"kubemark\",\n\t\tRunE: func(cmd *cobra.Command, args []string) error {\n\t\t\tverflag.PrintAndExitIfRequested()\n\t\t\tcliflag.PrintFlags(cmd.Flags())\n\t\t\treturn run(cmd.Context(), s)\n\t\t},\n\t\tArgs: func(cmd *cobra.Command, args []string) error {\n\t\t\tfor _, arg := range args {\n\t\t\t\tif len(arg) > 0 {\n\t\t\t\t\treturn fmt.Errorf(\"%q does not take any arguments, got %q\", cmd.CommandPath(), args)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn nil\n\t\t},\n\t}\n\n\tfs := cmd.Flags()\n\tfs.AddGoFlagSet(goflag.CommandLine) // for flags like --docker-only\n\ts.addFlags(fs)\n\n\treturn cmd\n}\n\nfunc run(ctx context.Context, config *hollowNodeConfig) error {\n\t// To help debugging, immediately log version and print flags.\n\tklog.Infof(\"Version: %+v\", version.Get())\n\n\tif !knownMorphs.Has(config.Morph) {","sourceCodeStart":151,"sourceCodeEnd":187,"githubUrl":"https://github.com/kubernetes/kubernetes/blob/b882c60b4023bdf09264c2d5d30a2cadebc240fb/cmd/kubemark/app/hollow_node.go#L151-L187","documentation":"Returned from the cobra Args validator on NewHollowNodeCommand (hollow_node.go:169). The `kubemark` command takes only flags (--morph, --kubeconfig, ...) and accepts zero positional arguments; if any non-empty positional arg is passed, the validator returns this error and cobra aborts before RunE.","triggerScenarios":"Invoking the binary as `kubemark somearg` or `kubemark --morph kubelet extra`. Any non-empty token after the flags triggers it.","commonSituations":"A wrapper script appends a node name or pod name as a positional arg by mistake; copy-pasting a CLI invocation that worked for a different binary; shell glob expanding into an argument.","solutions":["Remove positional arguments from the command line; pass everything as flags.","If you meant to set the node name, use `--name <node>` instead of a positional token.","Re-read `kubemark --help` to confirm the supported flag set."],"exampleFix":"// before (invocation)\n./kubemark --morph kubelet fake-node\n\n// after\n./kubemark --morph kubelet --name fake-node","handlingStrategy":"validation","validationCode":"// Before exec'ing kubemark, strip positional args.\nfunc sanitizeKubemarkArgs(args []string) []string {\n    out := make([]string, 0, len(args))\n    skip := false\n    for _, a := range args {\n        if strings.HasPrefix(a, \"-\") {\n            skip = false\n            out = append(out, a)\n            continue\n        }\n        if skip { // value of a flag that takes a value\n            out = append(out, a)\n            skip = false\n            continue\n        }\n        // positional arg -> drop (or move to --name if it looks like a node name)\n    }\n    return out\n}","typeGuard":null,"tryCatchPattern":"// cobra Args validator already enforces this; surface exit code != 0 as a usage error\nif err := cmd.Execute(); err != nil {\n    // distinguish usage error (cobra returns flag.ErrHelp / pflag errors) from runtime\n    os.Exit(1)\n}","preventionTips":["Always invoke kubemark with flags only; never append a bare node name.","In automation, validate the arg list contains no non-flag tokens before launch.","Document the flag-only contract next to wrapper scripts."],"tags":["kubemark","cobra","cli","kubernetes","usage"],"analyzedSha":"b882c60b4023bdf09264c2d5d30a2cadebc240fb","analyzedAt":"2026-08-07T04:07:48.144Z","schemaVersion":2},"datasetVersion":"2026-08-07T07:17:06.508Z"}