{"record":{"id":"d8e0015c96148d5e","repo":"vercel/next.js","slug":"config-options-skipproxyurlnormalize-and-skipmi","errorCode":null,"errorMessage":"Config options `skipProxyUrlNormalize` and `skipMiddlewareUrlNormalize` cannot be set at the same time. Please use `skipProxyUrlNormalize` instead.","messagePattern":"Config options `skipProxyUrlNormalize` and `skipMiddlewareUrlNormalize` cannot be set at the same time\\. Please use `skipProxyUrlNormalize` instead\\.","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/next/src/server/config.ts","lineNumber":1000,"sourceCode":"    userConfig.experimental?.middlewarePrefetch !== undefined\n  ) {\n    throw new Error(\n      'Config options `experimental.proxyPrefetch` and `experimental.middlewarePrefetch` cannot be set at the same time. Please use `experimental.proxyPrefetch` instead.'\n    )\n  }\n  if (\n    userConfig.experimental?.externalProxyRewritesResolve !== undefined &&\n    userConfig.experimental?.externalMiddlewareRewritesResolve !== undefined\n  ) {\n    throw new Error(\n      'Config options `experimental.externalProxyRewritesResolve` and `experimental.externalMiddlewareRewritesResolve` cannot be set at the same time. Please use `experimental.externalProxyRewritesResolve` instead.'\n    )\n  }\n  if (\n    userConfig.skipProxyUrlNormalize !== undefined &&\n    userConfig.skipMiddlewareUrlNormalize !== undefined\n  ) {\n    throw new Error(\n      'Config options `skipProxyUrlNormalize` and `skipMiddlewareUrlNormalize` cannot be set at the same time. Please use `skipProxyUrlNormalize` instead.'\n    )\n  }\n\n  // Map Proxy config to Middleware config as it is currently an alias.\n  if (\n    userConfig.experimental?.proxyClientMaxBodySize === undefined &&\n    userConfig.experimental?.middlewareClientMaxBodySize !== undefined\n  ) {\n    result.experimental.proxyClientMaxBodySize =\n      userConfig.experimental.middlewareClientMaxBodySize\n  }\n  if (\n    userConfig.experimental?.proxyPrefetch === undefined &&\n    userConfig.experimental?.middlewarePrefetch !== undefined\n  ) {\n    result.experimental.proxyPrefetch =\n      userConfig.experimental.middlewarePrefetch","sourceCodeStart":982,"sourceCodeEnd":1018,"githubUrl":"https://github.com/vercel/next.js/blob/0ae8c72462952df163f1b1e0726641bc5b40dc93/packages/next/src/server/config.ts#L982-L1018","documentation":"Top-level `skipMiddlewareUrlNormalize` was renamed to `skipProxyUrlNormalize` (these are not under `experimental`). The check at config.ts:996-1003 forbids setting both, then aliases whichever single value is set into the other so the resolved config stays backward-compatible. Use the new `skipProxyUrlNormalize` key.","triggerScenarios":"Setting both `skipProxyUrlNormalize: true` and `skipMiddlewareUrlNormalize: true` at the top level of the config.","commonSituations":"Upgrading Next.js and adding the new key without deleting the old one. Sharing a config preset that still references the middleware name.","solutions":["Remove `skipMiddlewareUrlNormalize` and keep `skipProxyUrlNormalize`.","Re-run the build to confirm the URL-normalization skip is applied as intended.","Note this option lives at the top level, not inside `experimental`."],"exampleFix":"// before\nmodule.exports = { skipProxyUrlNormalize: true, skipMiddlewareUrlNormalize: true }\n// after\nmodule.exports = { skipProxyUrlNormalize: true }","handlingStrategy":"validation","validationCode":"if (config.skipProxyUrlNormalize !== undefined && config.skipMiddlewareUrlNormalize !== undefined) {\n  throw new Error('set only skipProxyUrlNormalize (top-level, not experimental)');\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Remember skipProxyUrlNormalize/skipMiddlewareUrlNormalize are top-level, not under experimental.","After upgrades, grep for `skipMiddlewareUrlNormalize` and remove it."],"tags":["config","proxy","middleware","url-normalization","migration","next-config"],"analyzedSha":"0ae8c72462952df163f1b1e0726641bc5b40dc93","analyzedAt":"2026-08-06T19:44:29.143Z","schemaVersion":2},"datasetVersion":"2026-08-07T02:17:10.218Z"}