{"record":{"id":"a6574fdb19503566","repo":"hasura/graphql-engine","slug":"cannot-create-metadata-files-w","errorCode":null,"errorMessage":"cannot create metadata files: %w","messagePattern":"cannot create metadata files: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/commands/init.go","lineNumber":332,"sourceCode":"\t\tplugins = append(plugins, querycollections.New(o.EC, o.EC.MetadataDir))\n\t\tplugins = append(plugins, allowlist.New(o.EC, o.EC.MetadataDir))\n\t\tplugins = append(plugins, remoteschemas.New(o.EC, o.EC.MetadataDir))\n\t\tplugins = append(plugins, actions.New(o.EC, o.EC.MetadataDir))\n\n\t\tplugins = append(plugins, crontriggers.New(o.EC, o.EC.MetadataDir))\n\t\tif config.Version == cli.V3 {\n\t\t\tplugins = append(plugins, metadataVersion.New(o.EC, o.EC.MetadataDir))\n\t\t\tplugins = append(plugins, sources.New(o.EC, o.EC.MetadataDir))\n\t\t} else {\n\t\t\tplugins = append(plugins, metadataVersion.NewV3MetadataVersion(o.EC, o.EC.MetadataDir))\n\t\t\tplugins = append(plugins, tables.New(o.EC, o.EC.MetadataDir))\n\t\t\tplugins = append(plugins, functions.New(o.EC, o.EC.MetadataDir))\n\t\t}\n\n\t\tfor _, plg := range plugins {\n\t\t\terr := plg.CreateFiles()\n\t\t\tif err != nil {\n\t\t\t\treturn errors.E(op, fmt.Errorf(\"cannot create metadata files: %w\", err))\n\t\t\t}\n\t\t}\n\t}\n\n\t// create seeds directory\n\to.EC.SeedsDirectory = filepath.Join(o.EC.ExecutionDirectory, cli.DefaultSeedsDirectory)\n\n\terr = os.MkdirAll(o.EC.SeedsDirectory, os.ModePerm)\n\tif err != nil {\n\t\treturn errors.E(op, fmt.Errorf(\"cannot write seeds directory: %w\", err))\n\t}\n\n\treturn nil\n}\n\nfunc (o *InitOptions) Run() error {\n\tvar op errors.Op = \"commands.InitOptions.Run\"\n","sourceCodeStart":314,"sourceCodeEnd":350,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/cli/commands/init.go#L314-L350","documentation":"During init of v2+ projects, one of the metadata plugins (metadata files, functions.New, etc.) failed in plg.CreateFiles() while writing default metadata files into the metadata directory.","triggerScenarios":"Metadata plugin cannot write its files: disk full, permission issue on the metadata dir, or plugin serialization failure producing invalid file content.","commonSituations":"Same filesystem issues as other init write failures; interrupted init leaving half-written metadata; disk quota in CI containers.","solutions":["Check the wrapped error for which plugin/file failed and fix the filesystem issue (space/permissions)","Clean the partially initialised project and re-run `hasura init`","Retry with verbose logging if a plugin content error is suspected"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"if err := checkDiskAndPerms(metadataDir); err != nil { log.Fatal(err) }","typeGuard":null,"tryCatchPattern":"if err := initCmd.Run(); err != nil {\n    if strings.Contains(err.Error(), \"cannot create metadata files\") {\n        // inspect wrapped plugin error; usually FS permission or space\n    }\n}","preventionTips":["Run init with adequate disk space","Clean partial init directories before retry"],"tags":["hasura","cli","init","metadata","plugins"],"backgroundTag":"file-write-failed","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}