vercel/next.js · error

Fast Refresh had to perform a full reload${fileMessage}. Rea

Error message

Fast Refresh had to perform a full reload${fileMessage}. Read more: https://nextjs.org/docs/messages/fast-refresh-reload

What it means

Dev-server warning in hot-reloader-webpack's onHMR: a hot update touched files outside what Fast Refresh can patch (non-React modules or special webpack layers), so a full reload was required. fileMessage names the changed module(s) — extracted from the update payload or cleaned of layer prefixes — that forced the fallback from incremental hot swap to reload.

Source

Thrown at packages/next/src/server/dev/hot-reloader-webpack.ts:606

                    if (modules.length > 0) {
                      fileMessage = ` when ${modules.join(', ')} changed`
                    }
                  } else if (
                    // Handle known webpack layers
                    file.startsWith(`(${WEBPACK_LAYERS.pagesDirBrowser})/`)
                  ) {
                    const cleanedFilePath = file.slice(
                      `(${WEBPACK_LAYERS.pagesDirBrowser})/`.length
                    )

                    fileMessage = ` when ${cleanedFilePath} changed`
                  } else {
                    fileMessage = ` when ${file} changed`
                  }
                }
              }

              Log.warn(
                `Fast Refresh had to perform a full reload${fileMessage}. Read more: https://nextjs.org/docs/messages/fast-refresh-reload`
              )
              break
            }
            case 'browser-logs': {
              await receiveBrowserLogsWebpack({
                entries: payload.entries,
                router: payload.router,
                sourceType: payload.sourceType,
                clientStats: () => this.clientStats,
                serverStats: () => this.serverStats,
                edgeServerStats: () => this.edgeServerStats,
                rootDirectory: this.dir,
                distDir: this.distDir,
                config:
                  (this.config.logging &&
                    this.config.logging.browserToTerminal) ||
                  false,

View on GitHub (pinned to 258b1c1bc0)

Solutions

  1. Keep React component files exporting only components so Fast Refresh can hot-update; see the fast-refresh-reload docs.
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at packages/next/src/server/dev/hot-reloader-webpack.ts:607 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of vercel/next.js@258b1c1bc0 (2026-08-19). Data as JSON: /api/errors/80741ae2ac966f83. Report an issue: GitHub.