Dev digest: Runtime Cache billing, Opus 4.8 fast mode ends

Web dev news for 25 Oct to 1 Nov 2026: Vercel bills Data Cache as Runtime Cache, Opus 4.8 fast mode ends on 30 Nov, Next.js 16.4 trims bundles with an agent.

Reading time: 7 min readPublished:

This week's changes cost money or carry a deadline. Vercel moves Data Cache into Runtime Cache (opens in a new tab) and will bill the Next.js fetch cache and unstable_cache at its rates (Hobby teams move on 29 November 2026, Pro teams get a date), and Anthropic removes fast mode from Claude Opus 4.8 on 30 November 2026, while, per the Claude release notes (opens in a new tab), fast mode on Claude Opus 5.5 left preview on 15 October. Before either date, check your cache writes in Vercel Observability and move fast-mode traffic to Claude Opus 5.5. The rest is good news: Next.js 16.4 gives your agent a skill that finds JavaScript to cut, the Claude API accepts 128 MB requests, and a new analytics API breaks spend down by model, key and the user or service account behind each request.

ItemVersion or dateWhat to do
Next.js bundle optimizer skillNext.js 16.4, 28 OctRun it in report mode on your heaviest route
Data Cache moves to Runtime Cache30 Oct; Hobby on 29 NovCheck cache writes in Observability before your date
Runtime Cache read path and metrics30 OctDon't rely on an invalidation being seen instantly
Geist Serifgeist 1.9.0, 30 OctHeadlines only; import one variant
Fast mode on Claude Opus 4.830 Oct, removed 30 NovMove fast requests to Opus 5.5 or drop speed: "fast"
Usage and Cost Analytics API (beta)29 OctUse it for new reports; keep alerts on the legacy API
Messages API request size28 Oct, 32 MB to 128 MBCheck the limit of every fallback provider

Next.js

Next.js 16.4 gives your agent a bundle optimizer

On 28 October 2026 the Next.js team published Ship less JavaScript in Next.js with your AI agent (opens in a new tab): with Next.js 16.4 (stable since 16.4.0 on 7 October (opens in a new tab)) you can add the next-bundle-optimizer agent skill with npx skills add vercel/next.js --skill next-bundle-optimizer and run /next-bundle-optimizer in your agent. It reads Turbopack's module graph from next analyze snapshots, finds large groups of modules and the few imports that pull them into the initial load, and checks the fix against your source. By default it only reports; /next-bundle-optimizer fix applies the changes and compares snapshots. It needs Turbopack, the default bundler since Next.js 16. For people, next analyze gained a page of the largest client routes, saved snapshots to diff, and a filter that leaves only the code of the initial render; next analyze export writes the graph as JSON. Vercel says the agent cut nearly 2 MB of compressed JavaScript across v0 and vercel.com.

Our take: the bug the post gives as its example is easy to miss in review: a component loaded with lazy() that still ships upfront because another module imports it statically. That is tedious for a person to trace and cheap for an agent. Start in report mode on your heaviest route, review each proposed import boundary like any pull request, and use the snapshot diff to show the saving. Moving logic to React Server Components, one of the fixes it suggests, is the change most worth the review.

Vercel

Data Cache moves to Runtime Cache, and its reads and writes get billed

Vercel's changelog of 30 October 2026 takes Data Cache out of beta and into Runtime Cache. Next.js fetch caching and unstable_cache switch over on every version without code changes. Teams created on or after 30 October use Runtime Cache already; existing Hobby teams migrate on 29 November 2026, Pro teams will be told their date, Enterprise hears from its account team. Reads and writes that were free become billed at Runtime Cache rates, from $0.40 per million read units and $4.00 per million write units. The Runtime Cache docs (opens in a new tab) define a unit as 8 KB and give the regional range up to $0.64 and $6.40. Hobby includes 1 million reads and 200,000 writes a month across the team; Pro pays from its $20 monthly credit, then on demand. Storage grows: on Pro each project and environment gets 8 times the old team-wide Data Cache pool, Enterprise 10 times its old storage. You can opt in early from the team's CDN settings, and billing starts when you do.

Our take: writes are where the bill comes from. A million writes of an 80 KB response are ten million write units, $40 at the lowest rate, so a fetch with a short revalidate on a large payload is the first thing to find in Observability. On Hobby the risk is different: the docs say Vercel pauses Runtime Cache for the rest of the period once you exceed the allotment, so after 29 November every cached fetch would hit your origin. This is about the platform, not the use cache directive; how Next.js keys and clears entries is in our guide to use cache in Next.js.

What else changed in Vercel's Runtime Cache

The post on simplifying runtime caching (opens in a new tab) of 30 October 2026 explains the merge and what shipped before it. Circuit breakers, on in every region since August, let reads check freshness against tag timestamps cached in memory when the cache service is slow; during the heaviest bursts in the largest region, p99 cache-service read latency fell to about a fifth at comparable traffic. The cost during that fallback, in Vercel's words: "a read can briefly treat recently invalidated data as fresh." Among Enterprise projects with frequent evictions, miss rates roughly halved within a day. The Runtime Cache view in Observability now has deployment markers, revalidation causes and write utilisation.

Our take: the stale read happens only in that fallback, when the cache service is slow, so most pages won't notice it. If a page must show a price or stock level right after you call revalidateTag, a slow moment can still serve the old value briefly; read that one value from the source. The new Observability fields are what you need for the migration above: revalidation causes show which tag drives your writes, deployment markers show whether a release changed it.

Geist Serif joins the Geist family

On 30 October 2026 Vercel introduced Geist Serif (opens in a new tab), a high-contrast display serif for headlines and large sizes, with the same cap height (710) and x-height (530) as Geist Sans. It ships in geist 1.9.0 (opens in a new tab), published on npm the same day under the SIL Open Font License. At launch there is one weight, Regular, in four shapes on an element shape axis: round dots, Square, Triangle and Heart; a variable font from Thin (100) to Black (900) is planned. It has 894 glyphs and covers 352 Latin-script languages. Each variant has its own entry point, such as geist/font/serif/regular.

Our take: one weight at display contrast means headings only, not body text. Import the single variant you use rather than the variable file of all shapes, and you add one font file to the page.

Claude

Fast mode on Claude Opus 4.8 ends on 30 November 2026

The Claude release notes of 30 October 2026 deprecate fast mode for Claude Opus 4.8; on 30 November 2026 a request to claude-opus-4-8 with speed: "fast" starts returning an error. Per the fast mode docs (opens in a new tab), fast mode gives up to 2.5 times the output tokens per second. On Opus 4.8 it is a research preview behind the fast-mode-2026-02-01 beta header at $10 per million input tokens and $50 per million output; on Claude Opus 5.5 it is generally available, needs no header, has a default rate limit in the Start, Build and Scale tiers and costs $8 and $40.

Our take: search your code for speed: "fast" next to claude-opus-4-8; a request that fails on 30 November is worse than a slow one. Either move those calls to Opus 5.5 with Anthropic's migration guide (opens in a new tab) and your own evals, or drop the parameter and stay on Opus 4.8 at standard speed.

The Usage and Cost Analytics API arrives, the Usage and Cost API goes legacy

On 29 October 2026 Anthropic launched the Usage and Cost Analytics API (opens in a new tab) in beta (header analytics-usage-cost-2026-08-24): /v1/organizations/analytics/usage and /v1/organizations/analytics/cost report tokens, requests and cost for Claude Console and Claude Enterprise organisations, grouped and filtered by model, workspace, API key, the user or service account behind a request, service tier and speed. The same day the Usage and Cost API (opens in a new tab) became legacy, as did the usage_report, cost_report, user_usage_report and user_cost_report endpoints of the Claude Enterprise Analytics API; all remain supported, and no removal date is given. The new API's data typically refreshes within 4 hours and can take 24, against about 5 minutes on the old one; a request spans at most 31 days and starts no earlier than 1 January 2026.

Our take: no rush, since the legacy API stays supported with no removal date. Build new reports on the new API, which adds the user or service account behind each request, and move existing ones when you next touch them. Keep spend alerts on the legacy API: an alert that arrives a day late doesn't stop anything.

The Messages API now takes requests up to 128 MB

Since 28 October 2026 the first-party Claude API accepts Messages and Token Counting requests of up to 128 MB, up from 32 MB, per the request size limits (opens in a new tab). Batches stay at 256 MB, the Files API at 500 MB, and Sessions, Agents and Environments at 32 MB. Other platforms didn't move: Claude Platform on AWS, Claude Models on Google Cloud (Anthropic managed) and Microsoft Foundry take 32 MB, Bedrock 20 MB and Claude Models on Google Cloud (Google managed) 30 MB. Above the limit you get a 413 request_too_large.

Our take: large PDFs and image sets can now go inline in one request, but only on the first-party API. If you fall back to Bedrock or Google Cloud when the Claude API is busy, a request between 32 and 128 MB that succeeds on the first try fails on the fallback with a 413. Check the size before you fail over, or upload large files once through the Files API and send the reference.

Is Vercel Data Cache free?

Not for much longer. On 30 October 2026 Vercel announced that Data Cache, which serves Next.js fetch caching and unstable_cache, moves to Runtime Cache, whose reads and writes are billed: from $0.40 per million read units and $4.00 per million write units, where a unit is 8 KB. Hobby teams get 1 million reads and 200,000 writes a month and migrate on 29 November 2026; Pro teams pay from their $20 monthly credit and are told their date.

Do I need to change my Next.js code for the Runtime Cache migration?

No. Vercel says fetch caching and unstable_cache switch to Runtime Cache on every Next.js version without code changes. What changes is the bill, so look at your cache reads and writes in Observability before your migration date and cut the writes you don't need.

When is fast mode removed from Claude Opus 4.8?

On 30 November 2026. Anthropic deprecated it on 30 October 2026; after removal a request to claude-opus-4-8 with speed set to fast returns an error. To keep fast mode, move to Claude Opus 5.5, where it is generally available and costs $8 per million input tokens and $40 per million output tokens, against $10 and $50 on Opus 4.8.

Is Claude fast mode more expensive?

Yes. Fast mode runs the same model at up to 2.5 times the output tokens per second at premium rates: $8 per million input tokens and $40 per million output tokens on Claude Opus 5.5, $10 and $50 on Claude Opus 5 and Opus 4.8. Prompt caching and data residency multipliers apply on top.

How do I find what makes my Next.js bundle large?

Run next analyze in the app's directory: since Next.js 16.4 its home page lists the largest client routes, saves a snapshot of every run for comparison and can hide async dependencies to show the code of the initial render. It needs Turbopack. To hand the job to an agent, add the next-bundle-optimizer skill with npx skills add vercel/next.js --skill next-bundle-optimizer.

Further reading

Vercel: Data Cache is moving to Runtime Cache (opens in a new tab)Migration dates by plan, Runtime Cache rates and how to opt in early or switch caching off.vercel.com
Claude release notes (opens in a new tab)The entries of 28, 29 and 30 October 2026: 128 MB requests, the analytics API and the end of Opus 4.8 fast mode.platform.claude.com
Next.js: Ship less JavaScript with your AI agent (opens in a new tab)The next-bundle-optimizer skill and the new next analyze tools in Next.js 16.4.nextjs.org

Tell us what we’re building.

We reply within one business day.