{"record":{"id":"0969eac17206c1cf","repo":"gatsbyjs/gatsby","slug":"111001-0969ea","errorCode":"111001","errorMessage":"Please check if your localeFilter is configured properly. Locales '${allLocales.map(item => item.code).join(`,`)}' were found but were filtered down to none.","messagePattern":"Please check if your localeFilter is configured properly\\. Locales '(.+?)' were found but were filtered down to none\\.","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/gatsby-source-contentful/src/source-nodes.js","lineNumber":174,"sourceCode":"  } = await fetchContent({ syncToken, pluginConfig, reporter })\n\n  const contentTypeItems = await cache.get(CACHE_CONTENT_TYPES)\n\n  const locales = allLocales.filter(pluginConfig.get(`localeFilter`))\n  reporter.verbose(\n    `Default locale: ${defaultLocale}. All locales: ${allLocales\n      .map(({ code }) => code)\n      .join(`, `)}`\n  )\n  if (allLocales.length !== locales.length) {\n    reporter.verbose(\n      `After plugin.options.localeFilter: ${locales\n        .map(({ code }) => code)\n        .join(`, `)}`\n    )\n  }\n  if (locales.length === 0) {\n    reporter.panic({\n      id: CODES.LocalesMissing,\n      context: {\n        sourceMessage: `Please check if your localeFilter is configured properly. Locales '${allLocales\n          .map(item => item.code)\n          .join(`,`)}' were found but were filtered down to none.`,\n      },\n    })\n  }\n\n  // Update syncToken\n  const nextSyncToken = currentSyncData?.nextSyncToken\n\n  actions.setPluginStatus({\n    [CACHE_SYNC_TOKEN]: nextSyncToken,\n  })\n\n  fetchActivity.end()\n","sourceCodeStart":156,"sourceCodeEnd":192,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/e85d62f1779e353eaac1753211629a26d123e26c/packages/gatsby-source-contentful/src/source-nodes.js#L156-L192","documentation":"sourceNodes applies the user's localeFilter option to the locales fetched from Contentful; if every locale is filtered out (empty result) it panics with the LocalesMissing code, listing the locale codes that existed before filtering. The fault is the filter predicate in gatsby-config, not Contentful.","triggerScenarios":"Thrown at packages/gatsby-source-contentful/src/source-nodes.js:174 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix localeFilter so at least one locale passes","Remove localeFilter to use all locales","Verify the space's locales match the filter's expectations"],"exampleFix":null,"handlingStrategy":"validation","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-14T05:17:10.506Z"}