gatsbyjs/gatsby · error

${name} created a page with a component path that doesn't ma

Error message

${name} created a page with a component path that doesn't match the casing of the actual file. This may work locally, but will break on systems which are case-sensitive, e.g. most CI/CD pipelines.

page.component:     "${page.component}"
path in filesystem: "${trueComponentPath}"
                         ${markers}

What it means

createPage validation (public actions) detects that page.component's letter casing differs from the real on-disk path (common when developing on case-insensitive filesystems like Windows/macOS). Gatsby warns with a ^ marker diff because the mismatch will break builds on case-sensitive systems (Linux CI). The warning is shown once per offending path.

Source

Thrown at packages/gatsby/src/redux/actions/public.js:363

      }

      if (isWindows) {
        page.component = ensureWindowsDriveIsUppercase(page.component)
      }

      if (trueComponentPath !== page.component) {
        if (!hasWarnedForPageComponentInvalidCasing.has(page.component)) {
          const markers = page.component
            .split(``)
            .map((letter, index) => {
              if (letter !== trueComponentPath[index]) {
                return `^`
              }
              return ` `
            })
            .join(``)

          report.warn(
            stripIndent`
          ${name} created a page with a component path that doesn't match the casing of the actual file. This may work locally, but will break on systems which are case-sensitive, e.g. most CI/CD pipelines.

          page.component:     "${page.component}"
          path in filesystem: "${trueComponentPath}"
                               ${markers}
        `
          )
          hasWarnedForPageComponentInvalidCasing.add(page.component)
        }

        page.component = trueComponentPath
      }

      if (splitPath.length > 1) {
        page.component = `${page.component}?__contentFilePath=${splitPath[1]}`
      }

View on GitHub (pinned to e85d62f177)

Solutions

  1. Correct the component path casing in createPage (or the createPages caller) to match the filesystem exactly
  2. Align file naming conventions across the repo to avoid case variants
  3. Test the build on a case-sensitive filesystem or CI to catch regressions
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/gatsby/src/redux/actions/public.js:363 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/2e2344eb0e203e84. Report an issue: GitHub.