{"record":{"id":"d1f9fea6170c4d83","repo":"vercel/next.js","slug":"invalid-interception-route-pathname","errorCode":null,"errorMessage":"Invalid interception route: ${pathname}","messagePattern":"Invalid interception route: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/next/src/shared/lib/router/routes/app.ts","lineNumber":230,"sourceCode":"        `${pathname} is being parsed as a normalized route, but it has a route group segment.`\n      )\n    }\n\n    if (\n      appSegment.type === 'parallel-route' &&\n      !(allowedTypes & AllowParallelSegments)\n    ) {\n      throw new InvariantError(\n        `${pathname} is being parsed as a normalized route, but it has a parallel route segment.`\n      )\n    }\n\n    segments.push(appSegment)\n\n    if (appSegment.interceptionMarker) {\n      const parts = pathname.split(appSegment.interceptionMarker)\n      if (parts.length !== 2) {\n        throw new Error(`Invalid interception route: ${pathname}`)\n      }\n\n      interceptingRoute = parseAppRouteImpl(parts[0], allowedTypes)\n      interceptedRoute = parseAppRouteImpl(parts[1], allowedTypes)\n      interceptionMarker = appSegment.interceptionMarker\n    }\n  }\n\n  const dynamicSegments = segments.filter(\n    (segment) => segment.type === 'dynamic'\n  )\n\n  return {\n    normalized: allowedTypes === OnlyRoutableSegments,\n    pathname,\n    segments,\n    dynamicSegments,\n    interceptionMarker,","sourceCodeStart":212,"sourceCodeEnd":248,"githubUrl":"https://github.com/vercel/next.js/blob/0eb377541648e63402a47b38fee00a8d0ce8f8f1/packages/next/src/shared/lib/router/routes/app.ts#L212-L248","documentation":"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.","triggerScenarios":"An interception route pathname fails validation.","commonSituations":"A malformed intercepting route generated or matched during app router navigation.","solutions":["Fix the interception route markers in the pathname to a valid (..)/(.) pattern."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0eb377541648e63402a47b38fee00a8d0ce8f8f1","analyzedAt":"2026-08-19T02:10:13.922Z","contentChangedAt":"2026-08-19T02:10:13.922Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}