{"record":{"id":"ee1f4d879a62970b","repo":"hasura/graphql-engine","slug":"cannot-reload-metadata-w","errorCode":null,"errorMessage":"cannot reload metadata: %w","messagePattern":"cannot reload metadata: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/commands/metadata_reload.go","lineNumber":93,"sourceCode":"\t\ticListOpts.EC.Logger.Warnln(\n\t\t\t\"Metadata is inconsistent, use 'hasura metadata ic list' command to see the inconsistent objects\",\n\t\t)\n\t}\n\n\treturn nil\n}\n\nfunc (o *MetadataReloadOptions) run() error {\n\tvar (\n\t\top  errors.Op = \"commands.MetadataReloadOptions.run\"\n\t\terr error\n\t)\n\n\tmetadataHandler := projectmetadata.NewHandlerFromEC(o.EC)\n\n\t_, err = metadataHandler.ReloadMetadata()\n\tif err != nil {\n\t\treturn errors.E(op, fmt.Errorf(\"cannot reload metadata: %w\", err))\n\t}\n\n\treturn nil\n}\n","sourceCodeStart":75,"sourceCodeEnd":98,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/cli/commands/metadata_reload.go#L75-L98","documentation":"Thrown by the `hasura metadata reload` command when the GraphQL Engine server fails to process the metadata reload API call (POST /v1/metadata with reload_metadata). The underlying error from projectmetadata.Handler.ReloadMetadata is wrapped, so the root cause (network, auth, or server-side metadata inconsistency) is in the wrapped error chain.","triggerScenarios":"Running `hasura metadata reload` against a server that is unreachable, returns 401/403 (admin secret mismatch), or has invalid/inconsistent metadata that the server cannot reload.","commonSituations":"Wrong HASURA_GRAPHQL_ADMIN_SECRET, pointing --endpoint at a stopped/local dev server, or server metadata referencing a dropped database/source so reload is rejected.","solutions":["Verify the endpoint is reachable and the admin secret/env is correct (hasura metadata reload --endpoint ... --admin-secret ...)","Inspect the wrapped error text for the server's response (e.g. 'x-hasura-admin-secret missing')","Fix or `hasura metadata apply` a known-good metadata.json before reloading","Check server logs if the reload is rejected due to inconsistent metadata"],"exampleFix":"# before\nhasura metadata reload\n# after\nhasura metadata reload --endpoint https://my-server.hasura.app --admin-secret \"$HASURA_ADMIN_SECRET\"","handlingStrategy":"retry","validationCode":"curl -sf -H \"x-hasura-admin-secret: $SECRET\" \"$ENDPOINT/healthz\" >/dev/null && echo ok","typeGuard":null,"tryCatchPattern":"if err := cmd.Execute(); err != nil { if strings.Contains(err.Error(), \"cannot reload metadata\") { /* check connectivity/admin secret, then retry */ } }","preventionTips":["Set endpoint and admin secret explicitly in CI rather than relying on env","Health-check the server before metadata operations"],"tags":["metadata","hasura-cli","server-connection"],"backgroundTag":"metadata-reload-failed","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}