{"record":{"id":"47d3fa41125e0c69","repo":"gatsbyjs/gatsby","slug":"graphql-resolver-resolvername-got-called-without-47d3fa","errorCode":null,"errorMessage":"GraphQL Resolver ${resolverName}got called without \"context\" argument. This might cause unexpected errors.\n\nIt's likely that this has happened in a schemaCustomization with manually invoked resolver. If manually invoking resolvers, it's best to invoke them as follows:\n\n  resolve(parent, args, context, info)\n\n","messagePattern":"GraphQL Resolver (.+?)got called without \"context\" argument\\. This might cause unexpected errors\\.\n\nIt's likely that this has happened in a schemaCustomization with manually invoked resolver\\. If manually invoking resolvers, it's best to invoke them as follows:\n\n  resolve\\(parent, args, context, info\\)\n\n","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/gatsby/src/schema/resolvers.ts","lineNumber":733,"sourceCode":"  //       it does not return a promise and this makes a significant difference at scale.\n  //       GraphQL will gracefully handle the resolver result of a promise or non-promise.\n\n  if (resolver[`isTracingResolver`]) {\n    return resolver\n  }\n\n  const wrappedTracingResolver = function wrappedTracingResolver(\n    parent,\n    args,\n    context,\n    info\n  ): Promise<any> {\n    if (!WARNED_ABOUT_RESOLVERS) {\n      if (!info) {\n        reporter.warn(badResolverInvocationMessage(`info`))\n        WARNED_ABOUT_RESOLVERS = true\n      } else if (!context) {\n        reporter.warn(badResolverInvocationMessage(`context`, info.path))\n        WARNED_ABOUT_RESOLVERS = true\n      }\n    }\n\n    let activity\n    let time\n    if (context?.tracer) {\n      activity = context.tracer.createResolverActivity(\n        info.path,\n        `${info.parentType.name}.${info.fieldName}`\n      )\n      activity.start()\n    }\n    if (context?.telemetryResolverTimings) {\n      time = process.hrtime.bigint()\n    }\n\n    const result = resolver(parent, args, context, info)","sourceCodeStart":715,"sourceCodeEnd":751,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/e85d62f1779e353eaac1753211629a26d123e26c/packages/gatsby/src/schema/resolvers.ts#L715-L751","documentation":"Error \"GraphQL Resolver ${resolverName}got called without \"context\" argument. This might cause unexpected errors.\n\nIt's likely that this has happened in a schemaCustomization with manually invoked resolver. If manually invoking resolvers, it's best to invoke them as follows:\n\n  resolve(parent, args, context, info)\n\n\" thrown in gatsbyjs/gatsby.","triggerScenarios":"Thrown at packages/gatsby/src/schema/resolvers.ts:733 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["When manually invoking resolvers, pass all four arguments: resolve(parent, args, context, info)","Obtain context/info from the graphql function in schemaCustomization rather than constructing calls by hand","Use Gatsby's resolver-wrapping utilities so the GraphQL runtime supplies context and info automatically"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e85d62f1779e353eaac1753211629a26d123e26c","analyzedAt":"2026-08-26T17:50:09.662Z","contentChangedAt":"2026-08-26T17:50:09.662Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}