Skip to main content

Runtime logs now show cache reasons

By Steven Van ·

Vercel's runtime logs now explain why a request missed the cache, viewable per request or via the CLI and metrics API.

Vercel's runtime logs now include a Cache Reason alongside each request's cache status, explaining why a response wasn't a fresh hit, for example a time-based or tag-based revalidation. Reasons appear for any response the CDN can cache, including ISR, Partial Prerendering, and functions that set a Cache-Control header with directives like stale-while-revalidate. Responses that render dynamically on every request don't get a reason.

Possible reasons are grouped by status: MISS can be Cold, Request collapsed, or Error; BYPASS can be Draft Mode, Prerender Bypass, or Crawler; STALE can be Time-based revalidation, Tag-based invalidation, or Revalidation error; and REVALIDATED shows Tag-based deletion. Reasons are visible in the Logs tab by selecting a request, and each links to its entry in the Cache Status and Reasons reference. They're also available from the CLI through vercel logs, vercel metrics (grouped by cache_reason), and the Vercel plugin's cdn-caching skill.

Vercel
Vercel
The platform for frontend developers — deploy, preview, and scale web apps and AI agents with zero config.
View Vercel →

Read the original announcement →

Read Runtime logs now show cache reasons on Creators Toolbox