gatsbyjs/gatsby · error

Gatsby's redux store is required in the "addRemoteFilePolyfi

Error message

Gatsby's redux store is required in the "addRemoteFilePolyfillInterface" and "polyfillImageServiceDevRoutes" API's for image CDN. No store was found when requesting url "${passedUrl}". This will fail your build in Gatsby V5. Upgrade your source plugins and Gatsby packages to the latest versions to resolve this. If you are a source plugin author visit https://gatsby.dev/source-plugins-image-cdn to learn how to make this warning go away.

What it means

Error "Gatsby's redux store is required in the "addRemoteFilePolyfillInterface" and "polyfillImageServiceDevRoutes" API's for image CDN. No store was found when requesting url "${passedUrl}". This will fail your build in Gatsby V5. Upgrade your source plugins and Gatsby packages to the latest versions to resolve this. If you are a source plugin author visit https://gatsby.dev/source-plugins-image-cdn to learn how to make this warning go away." thrown in gatsbyjs/gatsby.

Source

Thrown at packages/gatsby-plugin-utils/src/polyfill-remote-file/utils/get-request-headers-for-url.ts:16

import url from "url"

import type { Headers } from "got"
import type { Store } from "gatsby"

let loggedWarning = false

export function getRequestHeadersForUrl(
  passedUrl: string,
  store?: Store
): Headers | undefined {
  const storeIsMissing = !store || !(`getState` in store)

  if (storeIsMissing && !loggedWarning) {
    loggedWarning = true
    console.warn(
      `Gatsby's redux store is required in the "addRemoteFilePolyfillInterface" and "polyfillImageServiceDevRoutes" API's for image CDN. No store was found when requesting url "${passedUrl}". This will fail your build in Gatsby V5. Upgrade your source plugins and Gatsby packages to the latest versions to resolve this. If you are a source plugin author visit https://gatsby.dev/source-plugins-image-cdn to learn how to make this warning go away.`
    )
  }

  if (storeIsMissing) {
    return undefined
  }

  const baseDomain = url.parse(passedUrl).hostname
  const { requestHeaders } = store.getState()

  return baseDomain ? requestHeaders?.get(baseDomain) : undefined
}

View on GitHub (pinned to e85d62f177)

Solutions

  1. Upgrade Gatsby and all source plugins to the latest versions
  2. Source plugin authors: pass the store when calling addRemoteFilePolyfillInterface/polyfillImageServiceDevRoutes (https://gatsby.dev/source-plugins-image-cdn)
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/gatsby-plugin-utils/src/polyfill-remote-file/utils/get-request-headers-for-url.ts:16 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/f58463ff7416584c. Report an issue: GitHub.