vercel/next.js · error · Error

Invalid interception route: ${pathname}

Error message

Invalid interception route: ${pathname}

What it means

Parser invariant in parseAppRouteImpl: splitting the pathname on a segment's interception marker did not yield exactly two parts, so the intercepted-route structure cannot be recovered. This fires on malformed generated route strings (duplicate markers), not on user-authored filenames.

Source

Thrown at packages/next/src/shared/lib/router/routes/app.ts:230

        `${pathname} is being parsed as a normalized route, but it has a route group segment.`
      )
    }

    if (
      appSegment.type === 'parallel-route' &&
      !(allowedTypes & AllowParallelSegments)
    ) {
      throw new InvariantError(
        `${pathname} is being parsed as a normalized route, but it has a parallel route segment.`
      )
    }

    segments.push(appSegment)

    if (appSegment.interceptionMarker) {
      const parts = pathname.split(appSegment.interceptionMarker)
      if (parts.length !== 2) {
        throw new Error(`Invalid interception route: ${pathname}`)
      }

      interceptingRoute = parseAppRouteImpl(parts[0], allowedTypes)
      interceptedRoute = parseAppRouteImpl(parts[1], allowedTypes)
      interceptionMarker = appSegment.interceptionMarker
    }
  }

  const dynamicSegments = segments.filter(
    (segment) => segment.type === 'dynamic'
  )

  return {
    normalized: allowedTypes === OnlyRoutableSegments,
    pathname,
    segments,
    dynamicSegments,
    interceptionMarker,

View on GitHub (pinned to 0eb3775416)

Solutions

  1. Fix the interception route markers in the pathname to a valid (..)/(.) pattern.
Defensive patterns

Strategy: validation

When it happens

Trigger: An interception route pathname fails validation.

Common situations: A malformed intercepting route generated or matched during app router navigation.


AI-assisted analysis of vercel/next.js@0eb3775416 (2026-08-19). Data as JSON: /api/errors/d1f9fea6170c4d83. Report an issue: GitHub.