vercel/next.js · error
Unknown key passed via urlObject into url.format: ${key}
Error message
Unknown key passed via urlObject into url.format: ${key} What it means
formatWithValidation (dev only) iterates the keys of a UrlObject passed to url.format and warns when a key is outside the known urlObjectKeys allowlist (auth, hash, host, hostname, href, path, pathname, port, protocol, query, search, slashes) — almost always a typo; formatting still proceeds.
Source
Thrown at packages/next/src/shared/lib/router/utils/format-url.ts:95
'hash',
'host',
'hostname',
'href',
'path',
'pathname',
'port',
'protocol',
'query',
'search',
'slashes',
]
export function formatWithValidation(url: UrlObject): string {
if (process.env.NODE_ENV === 'development') {
if (url !== null && typeof url === 'object') {
Object.keys(url).forEach((key) => {
if (!urlObjectKeys.includes(key)) {
console.warn(
`Unknown key passed via urlObject into url.format: ${key}`
)
}
})
}
}
return formatUrl(url)
}
View on GitHub (pinned to 0eb3775416)
Solutions
- Remove the unknown key from the URL object; only standard url.format keys are allowed.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/next/src/shared/lib/router/utils/format-url.ts:95 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of vercel/next.js@0eb3775416 (2026-08-19).
Data as JSON: /api/errors/25ebf0f59bb4f5d6.
Report an issue: GitHub.