vercel/next.js · error
The "${key}" option has been modified. ${customMessage ? cus
Error message
The "${key}" option has been modified. ${customMessage ? customMessage + '. ' : ''}It should be removed from your ${configFileName}. What it means
Warning from warnCustomizedOption during config load: it walks the dotted key path through the user's config and compares the found value against the known default. A value that differs from the default means the user customized an option Next.js no longer reads (its behavior is fixed now), so the warning — with an optional custom explanation — asks for its removal from the config file.
Source
Thrown at packages/next/src/server/config.ts:335
key: string,
defaultValue: any,
customMessage: string,
configFileName: string,
silent: boolean
) {
const segs = key.split('.')
let current = config
while (segs.length >= 1) {
const seg = segs.shift()!
if (!(seg in current)) {
return
}
current = (current as any)[seg]
}
if (!silent && current !== defaultValue) {
Log.warn(
`The "${key}" option has been modified. ${customMessage ? customMessage + '. ' : ''}It should be removed from your ${configFileName}.`
)
}
}
/**
* Assigns defaults to the user config and validates the config.
*
* @param dir - The directory of the project.
* @param userConfig - The user config.
* @param silent - Whether to suppress warnings.
* @returns The complete config.
*/
function assignDefaultsAndValidate(
dir: string,
userConfig: NextConfig & { configFileName: string },
silent: boolean,
phase: PHASE_TYPEView on GitHub (pinned to 258b1c1bc0)
Solutions
- Remove the modified/deprecated option from your next.config file.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/next/src/server/config.ts:302 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/e1dbe5931e0c372d.
Report an issue: GitHub.