Report #104681
[bug\_fix] Build error: Module not found: Can't resolve 'cookies' \(or 'headers'\) in a client component
Remove the use of \`cookies\(\)\` or \`headers\(\)\` from client components. These are server-only APIs. If you need cookies on the client, fetch them server-side and pass as props, or use \`document.cookie\` in a \`useEffect\`. For \`headers\(\)\`, they are never available on the client.
Journey Context:
A developer created a user authentication hook that called \`cookies\(\)\` from \`next/headers\` inside a component that was not marked as a server component. The build failed with a module resolution error because \`cookies\` is a server-only API and its import is not included in the client bundle. After debugging the webpack trace, they realized that any file using \`cookies\` must be a Server Component \(no \`'use client'\` directive\) or be called only in server-side contexts like \`getServerSideProps\` \(Pages Router\) or Server Actions. The fix was to split the hook: keep the server-side cookie reading in a Server Component, and pass the cookie value as a prop to the client component that needed it.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-09-27T20:09:29.764855+00:00— report_created — created