Saltar al contenido principal

Warning de headers().entries() con Clerk y Next.js 16

Problema

Aparece el siguiente warning en la consola:

Error: Route "/" used 'headers().entries'. 'headers()' returns a Promise and must be unwrapped with 'await' or 'React.use()' before accessing its properties.

Causa

Este es un problema conocido de compatibilidad entre:

  • Clerk (v5.0.0)
  • Next.js (v16.1.1)

Clerk internamente está usando headers().entries() de forma síncrona, pero Next.js 16 requiere que headers() sea asíncrono y se use con await.

Solución Aplicada

Ya tenemos configurado:

  • export const dynamic = 'force-dynamic' en layout.tsx
  • export const dynamic = 'force-dynamic' en page.tsx
  • ✅ Middleware configurado correctamente

Impacto

Este warning NO afecta la funcionalidad de la aplicación. Es solo un mensaje de advertencia en la consola.

El servidor funciona correctamente (como se puede ver en GET / 200).

Referencias

Estado Actual

  • ✅ Servidor funciona correctamente
  • ⚠️ Warning aparece en consola (no crítico)
  • ✅ Todas las funcionalidades operativas

Nota

Este warning debería resolverse en futuras actualizaciones de Clerk que sean completamente compatibles con Next.js 16.