gatsbyjs/gatsby · error

`createResolvers` passed resolvers for field `${typeName}.${

Error message

`createResolvers` passed resolvers for field `${typeName}.${fieldName}` with type `${fieldTypeName}`. Such a field with type `${originalTypeName}` already exists on the type. Use `createTypes` to override type fields.

What it means

Error "`createResolvers` passed resolvers for field `${typeName}.${fieldName}` with type `${fieldTypeName}`. Such a field with type `${originalTypeName}` already exists on the type. Use `createTypes` to override type fields." thrown in gatsbyjs/gatsby.

Source

Thrown at packages/gatsby/src/schema/schema.js:946

                    originalResolver:
                      originalResolver || context.defaultFieldResolver,
                  })
                tc.extendFieldExtensions(fieldName, {
                  needsResolve: true,
                })
              }
              tc.extendField(fieldName, newConfig)

              // See resetOverriddenThirdPartyTypeFields for explanation
              if (tc.getExtension(`createdFrom`) === `thirdPartySchema`) {
                tc.setFieldExtension(
                  fieldName,
                  `originalFieldConfig`,
                  originalFieldConfig
                )
              }
            } else if (fieldTypeName) {
              report.warn(
                `\`createResolvers\` passed resolvers for field ` +
                  `\`${typeName}.${fieldName}\` with type \`${fieldTypeName}\`. ` +
                  `Such a field with type \`${originalTypeName}\` already exists ` +
                  `on the type. Use \`createTypes\` to override type fields.`
              )
            }
          } else {
            tc.addFields({
              [fieldName]: fieldConfig,
            })
            // See resetOverriddenThirdPartyTypeFields for explanation
            tc.setFieldExtension(fieldName, `createdFrom`, `createResolvers`)
          }
        })
      } else if (!ignoreNonexistentTypes) {
        report.warn(
          `\`createResolvers\` passed resolvers for type \`${typeName}\` that ` +
            `doesn't exist in the schema. Use \`createTypes\` to add the type ` +

View on GitHub (pinned to e85d62f177)

Solutions

  1. Use createTypes (with type definitions or SDL) to override existing fields instead of createResolvers
  2. If you need a resolver on a differently-typed field, remove or rename the existing field first
  3. Verify the existing field's type matches what createResolvers expects before overriding
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/gatsby/src/schema/schema.js:946 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of gatsbyjs/gatsby@e85d62f177 (2026-08-26). Data as JSON: /api/errors/4ba5e1c6d3b6b730. Report an issue: GitHub.