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.