{"record":{"id":"ad23474a4b8c501e","repo":"dagger/dagger","slug":"unknown-config-key-q-valid-fields-at-this-level","errorCode":null,"errorMessage":"unknown config key %q; valid fields at this level: %s","messagePattern":"unknown config key %q; valid fields at this level: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/workspace/config.go","lineNumber":1336,"sourceCode":"\t\t\tpm.BackendPort = int(port)\n\t\tdefault:\n\t\t\treturn fmt.Errorf(\"unknown config key %q\", strings.Join(parts, \".\"))\n\t\t}\n\t\tcfg.Ports[host] = pm\n\t\treturn nil\n\tdefault:\n\t\treturn fmt.Errorf(\"unknown config key %q\", strings.Join(parts, \".\"))\n\t}\n}\n\nfunc validateKeyAgainstType(parts []string, t reflect.Type, fullKey, op string) error {\n\tif len(parts) == 0 {\n\t\treturn nil\n\t}\n\n\tfield, ok := findTOMLField(t, parts[0])\n\tif !ok {\n\t\treturn fmt.Errorf(\"unknown config key %q; valid fields at this level: %s\",\n\t\t\tfullKey, strings.Join(validTOMLFieldNames(t), \", \"))\n\t}\n\n\trest := parts[1:]\n\tfieldType := field.Type\n\tfor fieldType.Kind() == reflect.Ptr {\n\t\tfieldType = fieldType.Elem()\n\t}\n\n\tswitch fieldType.Kind() {\n\tcase reflect.Map:\n\t\tif len(rest) == 0 {\n\t\t\treturn fmt.Errorf(\"cannot %s %q directly; specify a sub-key\", op, fullKey)\n\t\t}\n\n\t\tmapValueRest := rest[1:]\n\t\telemType := fieldType.Elem()\n\t\tif elemType.Kind() == reflect.Struct {","sourceCodeStart":1318,"sourceCodeEnd":1354,"githubUrl":"https://github.com/dagger/dagger/blob/82ba2681dbe30d3547a1dc50ea495900ab5b6047/core/workspace/config.go#L1318-L1354","documentation":"Reflection-based guard in validateKeyAgainstType: the first path segment does not match any TOML field on the target type. Unlike setConfigValue's static switch, this validates set/unset keys against the struct's TOML tags and lists the valid field names to guide correction.","triggerScenarios":"Thrown at core/workspace/config.go:1336 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pick one of the listed valid fields","Fix spelling of the intended field name","Quote segments that contain dots"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"82ba2681dbe30d3547a1dc50ea495900ab5b6047","analyzedAt":"2026-09-05T07:21:37.930Z","contentChangedAt":"2026-09-05T07:21:37.930Z","schemaVersion":2},"datasetVersion":"2026-09-12T12:17:11.808Z"}