{"record":{"id":"9073c0f9a99a5d5e","repo":"gatsbyjs/gatsby","slug":"contenttypesmissing","errorCode":"ContentTypesMissing","errorMessage":"Please check if your contentTypeFilter is configured properly. Content types were filtered down to none.","messagePattern":"Please check if your contentTypeFilter is configured properly\\. Content types were filtered down to none\\.","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/gatsby-source-contentful/src/create-schema-customization.js","lineNumber":28,"sourceCode":"import { makeTypeName } from \"./normalize\"\n\nasync function getContentTypesFromContentful({\n  cache,\n  reporter,\n  pluginConfig,\n}) {\n  // Get content type items from Contentful\n  const allContentTypeItems = await fetchContentTypes({\n    pluginConfig,\n    reporter,\n  })\n\n  const contentTypeFilter = pluginConfig.get(`contentTypeFilter`)\n\n  const contentTypeItems = allContentTypeItems.filter(contentTypeFilter)\n\n  if (contentTypeItems.length === 0) {\n    reporter.panic({\n      id: CODES.ContentTypesMissing,\n      context: {\n        sourceMessage: `Please check if your contentTypeFilter is configured properly. Content types were filtered down to none.`,\n      },\n    })\n  }\n\n  // Check for restricted content type names and set id based on useNameForId\n  const useNameForId = pluginConfig.get(`useNameForId`)\n  const restrictedContentTypes = [`entity`, `reference`, `asset`]\n\n  if (pluginConfig.get(`enableTags`)) {\n    restrictedContentTypes.push(`tag`)\n  }\n\n  contentTypeItems.forEach(contentTypeItem => {\n    // Establish identifier for content type\n    //  Use `name` if specified, otherwise, use internal id (usually a natural-language constant,","sourceCodeStart":10,"sourceCodeEnd":46,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/8b06340921ffdf23125a365b9c9923690cb62ce6/packages/gatsby-source-contentful/src/create-schema-customization.js#L10-L46","documentation":"Error \"Please check if your contentTypeFilter is configured properly. Content types were filtered down to none.\" thrown in gatsbyjs/gatsby.","triggerScenarios":"Thrown at packages/gatsby-source-contentful/src/create-schema-customization.js:28 when the library encounters an invalid state.","commonSituations":"Occurs in gatsby-source-contentful when the contentTypeFilter plugin option excludes every content type in the space. Check that the filter function in gatsby-config.js returns true for at least one content type.","solutions":["Remove or fix the contentTypeFilter option in gatsby-config.js so at least one content type remains.","Check the filter function or regex matches actual Contentful content type IDs (they are case-sensitive)."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8b06340921ffdf23125a365b9c9923690cb62ce6","analyzedAt":"2026-08-13T02:36:21.405Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}