{"id":"3fd9ed422ed9eda8","repo":"docker/cli","slug":"no-files-specified","errorCode":null,"errorMessage":"no files specified","messagePattern":"no files specified","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/compose/loader/loader.go","lineNumber":81,"sourceCode":"\tvar cfg any\n\tif err := yaml.Unmarshal(source, &cfg); err != nil {\n\t\treturn nil, err\n\t}\n\t_, ok := cfg.(map[string]any)\n\tif !ok {\n\t\treturn nil, errors.New(\"top-level object must be a mapping\")\n\t}\n\tconverted, err := convertToStringKeysRecursive(cfg, \"\")\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn converted.(map[string]any), nil\n}\n\n// Load reads a ConfigDetails and returns a fully loaded configuration\nfunc Load(configDetails types.ConfigDetails, opt ...func(*Options)) (*types.Config, error) {\n\tif len(configDetails.ConfigFiles) < 1 {\n\t\treturn nil, errors.New(\"no files specified\")\n\t}\n\n\toptions := &Options{\n\t\tInterpolate: &interp.Options{\n\t\t\tSubstitute:      template.Substitute,\n\t\t\tLookupValue:     configDetails.LookupEnv,\n\t\t\tTypeCastMapping: interpolateTypeCastMapping,\n\t\t},\n\t}\n\n\tfor _, op := range opt {\n\t\top(options)\n\t}\n\n\tconfigs := []*types.Config{}\n\tvar err error\n\n\tfor _, file := range configDetails.ConfigFiles {","sourceCodeStart":63,"sourceCodeEnd":99,"githubUrl":"https://github.com/docker/cli/blob/e9452d6e785f6e365712b9d71bd7517591773c86/cli/compose/loader/loader.go#L63-L99","documentation":"Error \"no files specified\" thrown in docker/cli.","triggerScenarios":"Thrown at cli/compose/loader/loader.go:81 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}