vercel/next.js · error

<Form> received ${aPropName} that contains search params: "$

Error message

<Form> received ${aPropName} that contains search params: "${action}". This is not supported, and they will be ignored. If you need to pass in additional search params, use an `<input type="hidden" />` instead.

What it means

Error "<Form> received ${aPropName} that contains search params: "${action}". This is not supported, and they will be ignored. If you need to pass in additional search params, use an `<input type="hidden" />` instead." thrown in vercel/next.js.

Source

Thrown at packages/next/src/client/form-shared.tsx:121

export function checkFormActionUrl(
  action: string,
  source: 'action' | 'formAction'
) {
  const aPropName = source === 'action' ? `an \`action\`` : `a \`formAction\``

  let testUrl: URL
  try {
    testUrl = new URL(action, 'http://n')
  } catch (err) {
    console.error(
      `<Form> received ${aPropName} that cannot be parsed as a URL: "${action}".`
    )
    return
  }

  // url-encoded HTML forms ignore any queryparams in the `action` url. We need to match that.
  if (testUrl.searchParams.size) {
    console.warn(
      `<Form> received ${aPropName} that contains search params: "${action}". This is not supported, and they will be ignored. ` +
        `If you need to pass in additional search params, use an \`<input type="hidden" />\` instead.`
    )
  }
}

export const isSupportedFormEncType = (value: string) =>
  value === 'application/x-www-form-urlencoded'
export const isSupportedFormMethod = (value: string) => value === 'get'
export const isSupportedFormTarget = (value: string) => value === '_self'

export function hasUnsupportedSubmitterAttributes(
  submitter: HTMLElement
): boolean {
  // A submitter can override `encType` for the form.
  const formEncType = submitter.getAttribute('formEncType')
  if (formEncType !== null && !isSupportedFormEncType(formEncType)) {
    if (process.env.NODE_ENV === 'development') {

View on GitHub (pinned to 0eb3775416)

Solutions

  1. Remove search params from the action string and pass them via `<input type="hidden" />` fields instead.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/next/src/client/form-shared.tsx:121 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/55456384a8180b1c. Report an issue: GitHub.