{"record":{"id":"e9b14ff235c9f0af","repo":"vercel/next.js","slug":"experimental-csschunking-false-is-only-supporte","errorCode":null,"errorMessage":"`experimental.cssChunking: false` is only supported with webpack. Please remove the option or run Next.js with webpack in ${configFileName}.","messagePattern":"`experimental\\.cssChunking: false` is only supported with webpack\\. Please remove the option or run Next\\.js with webpack in (.+?)\\.","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/next/src/server/config.ts","lineNumber":535,"sourceCode":"  if (phase !== PHASE_PRODUCTION_SERVER && phase !== PHASE_INFO) {\n    const cssChunkingValue = result.experimental.cssChunking\n    const cssChunkingMode = resolveCssChunkingMode(cssChunkingValue)\n    if (cssChunkingMode === 'graph' && !process.env.TURBOPACK) {\n      throw new Error(\n        `\\`experimental.cssChunking: \"graph\"\\` is only supported with Turbopack. ` +\n          `Please remove the option or run Next.js with Turbopack in ${configFileName}.`\n      )\n    }\n    if (cssChunkingMode === 'strict' && process.env.TURBOPACK) {\n      throw new Error(\n        `\\`experimental.cssChunking: \"strict\"\\` is only supported with webpack. ` +\n          `Please remove the option or run Next.js with webpack in ${configFileName}.`\n      )\n    }\n    // Only error when `false` was set explicitly. `undefined` (the default) also resolves to\n    // `'off'` but that's the implicit default and must not error on Turbopack.\n    if (cssChunkingValue === false && process.env.TURBOPACK) {\n      throw new Error(\n        `\\`experimental.cssChunking: false\\` is only supported with webpack. ` +\n          `Please remove the option or run Next.js with webpack in ${configFileName}.`\n      )\n    }\n\n    if (\n      result.experimental.turbopackRustReactCompiler &&\n      !process.env.TURBOPACK\n    ) {\n      throw new Error(\n        `\\`experimental.turbopackRustReactCompiler\\` is only supported with Turbopack. ` +\n          `Please remove the option or run Next.js with Turbopack in ${configFileName}.`\n      )\n    }\n\n    if (\n      result.experimental.turbopackRustReactCompiler &&\n      !result.reactCompiler","sourceCodeStart":517,"sourceCodeEnd":553,"githubUrl":"https://github.com/vercel/next.js/blob/0ae8c72462952df163f1b1e0726641bc5b40dc93/packages/next/src/server/config.ts#L517-L553","documentation":"`experimental.cssChunking: false` forces single-chunk-per-module CSS, a webpack-only behavior. Unlike `undefined` (which also resolves to 'off' but is the implicit default and allowed on Turbopack), an explicit `false` is rejected when Turbopack is active. Skipped during `next start`/PHASE_INFO.","triggerScenarios":"Setting `experimental: { cssChunking: false }` (explicit boolean false, not undefined) and running with Turbopack.","commonSituations":"Explicitly disabling chunking for debugging on a project that later moved to Turbopack. Setting `cssChunking: false` to opt out, not realizing it's webpack-specific.","solutions":["Remove the cssChunking key entirely so it defaults (allowed on Turbopack)","Run with webpack: `next build --webpack`","Set it to a Turbopack-compatible value like 'graph'"],"exampleFix":"// before\nmodule.exports = { experimental: { cssChunking: false } }\n// after\nmodule.exports = {}  // omit to use default","handlingStrategy":"validation","validationCode":"const isTurbopack = Boolean(process.env.TURBOPACK)\nif (cssChunking === false && isTurbopack) {\n  cssChunking = undefined // explicit false is webpack-only on Turbopack\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use `undefined` (omit the key) to get default behavior on Turbopack instead of explicit false","Treat explicit cssChunking:false as webpack-only"],"tags":["config","css","webpack","bundlers","experimental"],"analyzedSha":"0ae8c72462952df163f1b1e0726641bc5b40dc93","analyzedAt":"2026-08-06T19:44:29.143Z","schemaVersion":2},"datasetVersion":"2026-08-07T02:17:10.218Z"}