vercel/next.js · error

Failed to reload dynamic routes:

Error message

Failed to reload dynamic routes:

What it means

Warning from the dev bundler's watch callback in setup-dev-bundler: the watcher promise for dynamic routes was already resolved when a file-change update threw. Because the initial setup already succeeded, the failure only invalidates this incremental reload of dynamic route definitions; it is caught and logged (with the error) rather than propagated, so dev keeps running with the previous routes.

Source

Thrown at packages/next/src/server/lib/router-utils/setup-dev-bundler.ts:1381

          const cacheLifeFilePath = path.join(distTypesDir, 'cache-life.d.ts')
          writeCacheLifeTypes(opts.nextConfig.cacheLife, cacheLifeFilePath)

          await writeRootParamsTypes(
            routeTypesManifest,
            path.join(distTypesDir, 'root-params.d.ts')
          )
        }

        if (!resolved) {
          resolve()
          resolved = true
        }
      } catch (e) {
        if (!resolved) {
          reject(e)
          resolved = true
        } else {
          Log.warn('Failed to reload dynamic routes:', e)
        }
      }
    })

    wp.watch({ directories: [dir], startTime: 0 })
  })

  const clientPagesManifestPath = `/_next/${CLIENT_STATIC_FILES_PATH}/development/${DEV_CLIENT_PAGES_MANIFEST}`
  opts.fsChecker.devVirtualFsItems.add(clientPagesManifestPath)

  const devMiddlewareManifestPath = `/_next/${CLIENT_STATIC_FILES_PATH}/development/${DEV_CLIENT_MIDDLEWARE_MANIFEST}`
  opts.fsChecker.devVirtualFsItems.add(devMiddlewareManifestPath)

  const devTurbopackMiddlewareManifestPath = `/_next/${CLIENT_STATIC_FILES_PATH}/development/${TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST}`
  opts.fsChecker.devVirtualFsItems.add(devTurbopackMiddlewareManifestPath)

  async function requestHandler(req: IncomingMessage, res: ServerResponse) {
    const parsedUrl = parseUrl(req.url || '/')

View on GitHub (pinned to 258b1c1bc0)

Solutions

  1. Fix the error in your dynamic routes (see accompanying error details) and let the dev server reload.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at packages/next/src/server/lib/router-utils/setup-dev-bundler.ts:1360 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/0306f4d8adb47d44. Report an issue: GitHub.