{"id":"fcb1dd34dccf960c","repo":"docker/cli","slug":"1-s-2-s-1-s-external-name-and-1-s-name-co","errorCode":null,"errorMessage":"%[1]s %[2]s: %[1]s.external.name and %[1]s.name conflict; only use %[1]s.name","messagePattern":"%\\[1\\]s %\\[2\\]s: %\\[1\\]s\\.external\\.name and %\\[1\\]s\\.name conflict; only use %\\[1\\]s\\.name","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/compose/loader/loader.go","lineNumber":656,"sourceCode":"\t\tobj, err := loadFileObjectConfig(name, \"config\", types.FileObjectConfig(config), details)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tconfigConfig := types.ConfigObjConfig(obj)\n\t\tconfigConfig.Extras = loadExtras(name, source)\n\t\tconfigs[name] = configConfig\n\t}\n\treturn configs, nil\n}\n\nfunc loadFileObjectConfig(name string, objType string, obj types.FileObjectConfig, details types.ConfigDetails) (types.FileObjectConfig, error) {\n\t// if \"external: true\"\n\tswitch {\n\tcase obj.External.External:\n\t\t// handle deprecated external.name\n\t\tif obj.External.Name != \"\" {\n\t\t\tif obj.Name != \"\" {\n\t\t\t\treturn obj, fmt.Errorf(\"%[1]s %[2]s: %[1]s.external.name and %[1]s.name conflict; only use %[1]s.name\", objType, name)\n\t\t\t}\n\t\t\tif versions.GreaterThanOrEqualTo(details.Version, \"3.5\") {\n\t\t\t\tlogrus.Warnf(\"%[1]s %[2]s: %[1]s.external.name is deprecated in favor of %[1]s.name\", objType, name)\n\t\t\t}\n\t\t\tobj.Name = obj.External.Name\n\t\t\tobj.External.Name = \"\"\n\t\t} else if obj.Name == \"\" {\n\t\t\tobj.Name = name\n\t\t}\n\t\t// if not \"external: true\"\n\tcase obj.Driver != \"\":\n\t\tif obj.File != \"\" {\n\t\t\treturn obj, fmt.Errorf(\"%[1]s %[2]s: %[1]s.driver and %[1]s.file conflict; only use %[1]s.driver\", objType, name)\n\t\t}\n\tdefault:\n\t\tobj.File = absPath(details.WorkingDir, obj.File)\n\t}\n","sourceCodeStart":638,"sourceCodeEnd":674,"githubUrl":"https://github.com/docker/cli/blob/e9452d6e785f6e365712b9d71bd7517591773c86/cli/compose/loader/loader.go#L638-L674","documentation":"Error \"%[1]s %[2]s: %[1]s.external.name and %[1]s.name conflict; only use %[1]s.name\" thrown in docker/cli.","triggerScenarios":"Thrown at cli/compose/loader/loader.go:656 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"e9452d6e785f6e365712b9d71bd7517591773c86","analyzedAt":"2026-08-01T07:09:22.474Z","schemaVersion":2}