{"record":{"id":"8cde50e8a085c570","repo":"hasura/graphql-engine","slug":"cannot-create-metadata-directory-w","errorCode":null,"errorMessage":"cannot create metadata directory: %w","messagePattern":"cannot create metadata directory: %w","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/cli.go","lineNumber":793,"sourceCode":"\t\t\tcase \".yaml\":\n\t\t\t\tec.MetadataMode = MetadataModeYAML\n\t\t\tdefault:\n\t\t\t\treturn errors.E(\n\t\t\t\t\top,\n\t\t\t\t\tstderrors.New(\n\t\t\t\t\t\t\"unrecogonized file extension. only .json/.yaml files are allowed for value of metadata_file\",\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\t// set name of metadata directory\n\t\tec.MetadataDir = filepath.Join(ec.ExecutionDirectory, ec.Config.MetadataDirectory)\n\n\t\t_, err := os.Stat(ec.MetadataDir)\n\t\tif err != nil && stderrors.Is(err, fs.ErrNotExist) && len(ec.MetadataFile) == 0 {\n\t\t\terr = os.MkdirAll(ec.MetadataDir, os.ModePerm)\n\t\t\tif err != nil {\n\t\t\t\treturn errors.E(op, fmt.Errorf(\"cannot create metadata directory: %w\", err))\n\t\t\t}\n\t\t}\n\t}\n\n\tec.Logger.Debug(\"graphql engine endpoint: \", ec.Config.Endpoint)\n\tec.Logger.Debug(strings.Repeat(\"*\", len(ec.Config.AdminSecret)))\n\n\turi, err := url.Parse(ec.Config.Endpoint)\n\tif err != nil {\n\t\treturn errors.E(op, fmt.Errorf(\"error while parsing the endpoint :%w\", err))\n\t}\n\n\t// check if server is using metadata v3\n\tif ec.Config.APIPaths.V1Query != \"\" {\n\t\turi.Path = path.Join(uri.Path, ec.Config.APIPaths.V1Query)\n\t} else {\n\t\turi.Path = path.Join(uri.Path, \"v1/query\")\n\t}","sourceCodeStart":775,"sourceCodeEnd":811,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/cli/cli.go#L775-L811","documentation":"A generic 'not supported' error whose reason string explains the specific unsupported operation. It is returned when the resolver encounters a construct or combination it explicitly does not support, distinct from syntax errors.","triggerScenarios":"Any resolution path hitting an explicitly unimplemented branch, e.g. unsupported data connector capability combinations, unsupported type representations, or disallowed metadata shapes; the reason field is populated by the throwing code.","commonSituations":"Using a data connector feature not supported for the given operation; combining metadata options the resolver disallows; running into known limitations of an early/experimental version.","solutions":["Read the {reason} text — it names the exact unsupported operation","Restructure the metadata to avoid the unsupported combination","Upgrade to a version where the operation is supported, if available"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":"match resolve(&md) {\n    Err(ResolveError::NotSupported { reason }) => { log::warn!(\"unsupported: {reason}\"); simplified_fallback(&md) }\n    r => r,\n}","preventionTips":["Read release notes for the list of supported operations per version","Keep metadata conservative — avoid novel combinations until documented as supported"],"tags":["metadata","unsupported","compatibility"],"backgroundTag":"unsupported-operation","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}