{"record":{"id":"07499b7ba89b50c0","repo":"gatsbyjs/gatsby","slug":"11324","errorCode":"11324","errorMessage":"Error while creating your page:\\n\\n${message}","messagePattern":"Error while creating your page:\\\\n\\\\n(.+?)","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/gatsby/src/redux/actions/public.js","lineNumber":250,"sourceCode":"arguments. So you don't need to add the page \"path\" to the context as it's\nalready available in GraphQL. If a context field duplicates a field already\nused by the page object, this can break functionality within Gatsby so must be\navoided.\n\nPlease choose another name for the conflicting fields.\n\nThe following fields are used by the page object and should be avoided.\n\n${reservedFields.map(f => `  * \"${f}\"`).join(`\\n`)}\n\n            `\n      if (isTestEnv) {\n        return error\n        // Only error if the context version is different than the page\n        // version.  People in v1 often thought that they needed to also pass\n        // the path to context for it to be available in GraphQL\n      } else if (invalidFields.some(f => page.context[f] !== page[f])) {\n        report.panic({\n          id: `11324`,\n          context: {\n            message: error,\n          },\n        })\n      } else {\n        if (!hasWarnedForPageComponentInvalidContext.has(page.component)) {\n          report.warn(error)\n          hasWarnedForPageComponentInvalidContext.add(page.component)\n        }\n      }\n    }\n  }\n\n  // Check if a component is set.\n  if (!page.component) {\n    if (isNotTestEnv) {\n      report.panic({","sourceCodeStart":232,"sourceCodeEnd":268,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/8b06340921ffdf23125a365b9c9923690cb62ce6/packages/gatsby/src/redux/actions/public.js#L232-L268","documentation":"Thrown by createPage when the page's `context` object contains a reserved field (path, component, componentChunkName, context, id, matchPath, internalComponentName, etc.) AND the context value differs from the page's own value for that field. Code 11324. The reserved field would collide with Gatsby's internal page fields during GraphQL argument construction.","triggerScenarios":"page.context is an object containing one of the reservedFields; invalidFields.some(f => page.context[f] !== page[f]) is true, meaning the conflicting value is actually different from the page's value (an exact duplicate is downgraded to a warning).","commonSituations":"A v1-era habit of putting `path` into context for GraphQL access; passing the whole node (including `id`) as context; naming a context property `component` or `internalComponentName`.","solutions":["Rename the conflicting context property to something non-reserved (e.g. `pagePath` instead of `path`).","Remove the field from context entirely if Gatsby already provides it (path is already a GraphQL argument).","Check the reservedFields list printed in the error message and avoid all of those names."],"exampleFix":"// before\ncreatePage({ path: `/p/`, component, context: { path: `/p/`, id } })\n// after\ncreatePage({ path: `/p/`, component, context: { pagePath: `/p/`, id } })","handlingStrategy":"validation","validationCode":"// Strip reserved keys from context before createPage\nconst RESERVED = ['path','component','componentChunkName','context','id','internalComponentName','matchPath','pluginCreator','pluginCreatorId','owner','updatedAt','children','parent']\nconst safeContext = Object.fromEntries(\n  Object.entries(context).filter(([k]) => !RESERVED.includes(k))\n)\nactions.createPage({ ...page, context: safeContext })","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Never reuse Gatsby's reserved page field names inside context.","Remember path/component/id are already available to GraphQL; do not duplicate.","Assert in tests that context keys do not intersect reservedFields."],"tags":["pages","createpage","context","validation"],"backgroundTag":null,"analyzedSha":"8b06340921ffdf23125a365b9c9923690cb62ce6","analyzedAt":"2026-08-13T02:36:21.405Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}