On Next.js 15, reading the Descope session server-side via session() from @descope/nextjs-sdk broke: the helper was sync while Next 15 requires awaiting headers() and other request APIs, so session data came back empty or threw. Descope reproduced the issue and worked on a fix. Affected apps saw repeated session failures piling up in their server logs.
Session not working in Next.js 15 (@descope/nextjs-sdk)
- @descope/nextjs-sdklibrary
- Next 15framework
- sessionservice
- Descopeorganization
- @descope/nextjs-sdk/serverlibrary
- +4 more
Until the fixed release, use the async getSession helper from @descope/nextjs-sdk/server as a workaround: await headers() from next/headers, build a request object carrying the x-descope-session header, and pass it to getSession(req). Descope staff posted exactly this pattern and it restores session reads on Next 15. Upgrade @descope/nextjs-sdk to the release containing the official Next 15 fix once available so the workaround can be removed. Source: https://github.com/descope/descope-js/issues/884
Source: https://github.com/descope/descope-js/issues/884