gatsbyjs/gatsby · error

`createResolvers` passed resolvers for type `${typeName}` th

Error message

`createResolvers` passed resolvers for type `${typeName}` that doesn't exist in the schema. Use `createTypes` to add the type before adding resolvers.

What it means

Generic guard in createResolvers: the plugin passed a resolver entry for a type name that is not present in the composed schema (the ObjectTypeComposer lookup failed), so the resolver cannot be attached. The input at fault is the `typeName` key in the createResolvers argument.

Source

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

              }
            } 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 ` +
            `before adding resolvers.`
        )
      }
    })
  }
  await apiRunner(`createResolvers`, {
    intermediateSchema,
    createResolvers,
    traceId: `initial-createResolvers`,
    parentSpan,
  })
}

function attachTracingResolver({ schemaComposer }) {
  schemaComposer.forEach(typeComposer => {
    if (

View on GitHub (pinned to e85d62f177)

Solutions

  1. Define the type first with createTypes, then attach resolvers with createResolvers in a later schemaCustomization run
  2. Check the type name spelling against the actual schema (graphql introspection or the printed SDL)
  3. If the type is inferred, ensure the nodes/fields that produce it exist so the type is actually created
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/gatsby/src/schema/schema.js:962 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/3b3afd38db918195. Report an issue: GitHub.