{"record":{"id":"cbc87285487f7ee4","repo":"gatsbyjs/gatsby","slug":"plugin-plugin-name-has-customized-the-built-i","errorCode":null,"errorMessage":"Plugin `${plugin.name}` has customized the built-in Gatsby GraphQL type `${typeComposer.getTypeName()}`. This is allowed, but could potentially cause conflicts.","messagePattern":"Plugin `(.+?)` has customized the built-in Gatsby GraphQL type `(.+?)`\\. This is allowed, but could potentially cause conflicts\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/gatsby/src/schema/schema.js","lineNumber":379,"sourceCode":"    !typeOwner && overridableBuiltInTypeNames.has(typeComposer.getTypeName())\n\n  const isSafeMerge =\n    !plugin ||\n    plugin.name === `default-site-plugin` ||\n    plugin.name === typeOwner ||\n    typeComposer.hasExtension(`isPlaceholder`) ||\n    isOverridableBuiltInType\n\n  if (!isSafeMerge) {\n    if (typeOwner) {\n      report.warn(\n        `Plugin \\`${plugin.name}\\` has customized the GraphQL type ` +\n          `\\`${typeComposer.getTypeName()}\\`, which has already been defined ` +\n          `by the plugin \\`${typeOwner}\\`. ` +\n          `This could potentially cause conflicts.`\n      )\n    } else {\n      report.warn(\n        `Plugin \\`${plugin.name}\\` has customized the built-in Gatsby GraphQL type ` +\n          `\\`${typeComposer.getTypeName()}\\`. ` +\n          `This is allowed, but could potentially cause conflicts.`\n      )\n    }\n  }\n\n  if (\n    type instanceof ObjectTypeComposer ||\n    type instanceof InterfaceTypeComposer ||\n    type instanceof GraphQLObjectType ||\n    type instanceof GraphQLInterfaceType\n  ) {\n    mergeFields({ typeComposer, fields: type.getFields() })\n    type.getInterfaces().forEach(iface => typeComposer.addInterface(iface))\n  }\n\n  if (","sourceCodeStart":361,"sourceCodeEnd":397,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/e85d62f1779e353eaac1753211629a26d123e26c/packages/gatsby/src/schema/schema.js#L361-L397","documentation":"Fires in mergeTypes when a plugin customizes a built-in Gatsby type (e.g. Query, File) that has no owning plugin but is on the overridableBuiltInTypeNames list. It is an advisory warning: the merge is allowed, but Gatsby cannot guarantee no field-level conflicts will result, so the plugin is told its changes may clash with future or concurrent customizations.","triggerScenarios":"Thrown at packages/gatsby/src/schema/schema.js:379 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Avoid customizing built-in types; define a new type or extend types you own instead","If overriding the built-in type is intentional, acknowledge the warning and verify the merged schema contains the expected fields","Override the field in question with createResolvers instead of redefining the whole type"],"exampleFix":null,"handlingStrategy":"fallback","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"}