Cloudflare put a cache in front of Workers — and quietly started billing free requests

On July 6 2026 Cloudflare shipped Workers Cache, a regionally tiered caching layer that sits directly in front of a Worker's entrypoint.

In brief

The surprise is in the invoice: requests that used to be free, like static assets and worker-to-worker calls over service bindings, now bill at the standard request rate because each one first checks the cache.

One developer's flat verdict on the new charges: 'that sounds like a bug that just happens to generate them more money.'

A cache that lets the Worker skip running

Workers Cache announcement
Workers Cache announcement

Cloudflare's pitch is that you flip Workers Cache on with a single Wrangler line, "cache": { "enabled": true }, plus ordinary HTTP cache headers. On a hit, the Worker doesn't execute, so you pay no CPU time and there's no separate storage fee. Under the hood it's two tiers: a regional lower tier close to the user and an upper tier that aggregates across the network. It supports stale-while-revalidate, Vary, per-entrypoint control, multi-tenant safety through ctx.props, and semantic purging via cache tags like Cache-Tag: products,product:123. The point is to end the choice between rendering every request, which costs latency and CPU, and prerendering everything at build time.

Workers Cache two-tier architecture diagram
Workers Cache two-tier architecture diagram

It went live on every plan the day it launched.

"Why did it take 9 years?"

Simon Willison wanted the origin story and didn't get it:

I was looking forward to the 'why it took us this long' explanation but it wasn't explicitly spelled out… given caching is core to what a Cloudflare does I'm still a little surprised it took 9 years to get here!

— Simon Willison, creator of Datasette

The part nobody expected to pay for

The billing math had a twist. A developer walked through what he found:

You still get billed per request, whether the request hits cache or not (but don't get billed for CPU time) - You now get billed for static asset requests! This makes no sense to me…

— a developer reporting hands-on billing findings

Even setting bugs aside, the incentive can invert:

That's a very weird limitation from a product standpoint. You might end up spending more money by enabling caching.

— one reader doing the math

"Please write your own blogposts"

The launch post's prose drew its own objection, from Dan Abramov:

Please please please write your own blogposts. I already read 'but here's the biggest unlock, and it's the part that's hardest to see' all day… It's disrespectful to the reader.

— Dan Abramov, React core team

Get breakdowns like this every day

The top Hacker News stories, unpacked — by email, Telegram, or RSS.

Next story · 10 of 23 Read more
🌍Other

The one ingredient in DayQuil that works is also the dangerous one

In The Argument, Eli Richman makes an odd case for pulling combination cold medicines like DayQuil off the shelf: they bundle the one ingredient that works with two he says do nothing.

★ 200 · 💬 255 · theargumentmag.com · 3 min