vercel/next.js · error

Invalid OpenGraph type: ${_exhaustiveCheck}

Error message

Invalid OpenGraph type: ${_exhaustiveCheck}

What it means

Exhaustiveness guard in createMetadataElements' switch over OpenGraph og:type values: it throws when ogType holds a value not covered by the known OpenGraph type union — i.e. an unknown/invalid og:type reached metadata rendering that TypeScript's never check would have caught at compile time.

Source

Thrown at packages/next/src/lib/metadata/metadata.tsx:1419

                content={String(og.series)}
              />
            )
          }
          break

        case 'video.tv_show':
          tags.push(
            <meta key={i++} property="og:type" content="video.tv_show" />
          )
          break

        case 'video.other':
          tags.push(<meta key={i++} property="og:type" content="video.other" />)
          break

        default:
          const _exhaustiveCheck: never = ogType
          throw new Error(`Invalid OpenGraph type: ${_exhaustiveCheck}`)
      }
    }
  }

  // --- Twitter ---
  if (metadata.twitter) {
    const tw = metadata.twitter
    const { card } = tw

    if (card) {
      tags.push(<meta key={i++} name="twitter:card" content={card} />)
    }
    if (tw.site) {
      tags.push(<meta key={i++} name="twitter:site" content={tw.site} />)
    }
    if (tw.siteId) {
      tags.push(<meta key={i++} name="twitter:site:id" content={tw.siteId} />)
    }

View on GitHub (pinned to 0eb3775416)

Solutions

  1. Use a valid OpenGraph type value in the metadata export.
Defensive patterns

Strategy: validation

When it happens

Trigger: An unrecognized OpenGraph type reaches metadata rendering.

Common situations: Internal invariant: an openGraph type not handled by the metadata renderer.


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