--- title: Cannot access `cookies()` or `headers()` in `"use cache"` --- ## Why This Error Occurred A function is trying to read from the current incoming request inside the scope of a function annotated with `"use cache"`. This is not supported because it would make the cache invalidated by every request which is probably not what you intended. ## Possible Ways to Fix It Instead of calling this inside the `"use cache"` function, move it outside the function and pass the value in as an argument. The specific value will now be part of the cache key through its arguments. Before: ```jsx filename="app/page.js" highlight={5} import { cookies } from 'next/headers' async function getExampleData() { "use cache" const isLoggedIn = (await cookies()).has('token') ... } export default async function Page() { const data = await getExampleData() return ... } ``` After: ```jsx filename="app/page.js" highlight={9} import { cookies } from 'next/headers' async function getExampleData(isLoggedIn) { "use cache" ... } export default async function Page() { const isLoggedIn = (await cookies()).has('token') const data = await getExampleData(isLoggedIn) return ... } ``` ## Useful Links - [`headers()` function](/docs/app/api-reference/functions/headers) - [`cookies()` function](/docs/app/api-reference/functions/cookies) - [`draftMode()` function](/docs/app/api-reference/functions/draft-mode)