Prompt Caching Changed at OpenAI and Anthropic This Week OpenAI and Anthropic both changed prompt caching between September 22 and 24, 2026, with OpenAI giving the GPT-6 family a 30-minute cache reuse window and Anthropic making cache diagnostics generally available and starting to bill three categories of pre-output refusals. OpenAI's update adds a Prompt Caching Dashboard, a miss-diagnostics tool, explicit breakpoints via prompt_cache_options.mode and prompt_cache_breakpoint (up to four cache writes per request), and a configuration_update input item that changes reasoning effort without invalidating the cached prefix; cached input reads are discounted up to 90%. Anthropic's diagnostics field now appears on every Messages response, and under the inline-tools-2026-09-15 beta header a tool_addition block can carry a full tool definition inside a mid-conversation system message without breaking the cache; from September 24, refusals with stop_details.category of bio, frontier_llm or reasoning_extraction are billed at the model's rates while other pre-output refusals stay unbilled. Prompt caching is the line item that decides whether a long-running agent is affordable. Between September 22 and 24, 2026 OpenAI and Anthropic both changed how it works. OpenAI published a new caching system for the GPT-6 family with a 30-minute reuse window, a dashboard, a miss-diagnostics tool, explicit breakpoints, and a way to change reasoning effort mid-conversation without losing the cache. Anthropic took cache diagnostics out of beta, allowed tools to be defined inside a mid-conversation system message without invalidating the cache, and started billing three categories of refusal that were previously free. This post covers only what changed this week. Our general guides to cutting LLM costs with prompt caching https://www.digitalapplied.com/blog/prompt-caching-2026-cut-llm-costs-engineering-guide and cache-first agent architecture https://www.digitalapplied.com/blog/prompt-caching-economics-cache-first-agent-architecture-2026 explain the mechanics. Every parameter and header name below is copied from the vendor's documentation as read on September 25. 1. 01OpenAI's GPT-6 cache now keeps a prefix eligible for 30 minutes after its last write or reuse.The guide states the TTL setting has one supported value, 30m, which is also the default, and that OpenAI may retain entries longer. Cached input reads are discounted up to 90%. 2. 02You can now place cache breakpoints yourself and change reasoning effort without a miss.Explicit mode uses prompt cache options.mode and a prompt cache breakpoint marker, up to four cache writes per request. A configuration update input item changes effort while the cached prefix survives. 3. 03Anthropic's cache diagnostics are GA and tools can be added mid-conversation without breaking the cache.The diagnostics field now appears on every Messages response. Under the inline-tools-2026-09-15 beta header, a tool addition block carries a full tool definition inside a system message. 4. 04From September 24, Anthropic bills pre-output refusals in three categories.Refusals with stop details.category of bio, frontier llm or reasoning extraction are charged like any other request at the model's rates. Other pre-output refusals stay unbilled; fallback credit is unchanged. 01 — The tableSide by side: what changed, where, and what to do | Change | OpenAI GPT-6 family | Anthropic Claude API | |---|---|---| | Cache lifetime | Eligible for 30 minutes after the most recent write or reuse; prompt cache options.ttl accepts only 30m, its default. Announced September 22. | Unchanged this week: 5-minute default, 1-hour option per cache control block. | | Diagnosing a miss | New Prompt Caching Dashboard plus a diagnostics tool that compares a request with a recent response and reports the reason and the tokens affected. | Cache diagnostics out of beta on September 23; opt in with a diagnostics object on the request, no beta header needed. Every Messages response now carries a diagnostics field. | | Choosing what to cache | Explicit breakpoints: set prompt cache options.mode to explicit and mark blocks with prompt cache breakpoint. Up to four cache writes per request; content after the last marker is not written. | Unchanged: cache control markers on content blocks. | | Changing reasoning effort | Append a configuration update input item; leave request-level reasoning.effort as it was. The cached prefix is preserved. | Per-message effort exists under a separate beta; no change this week. | | Changing the tool list | Keep the tools array stable; use allowed tools to restrict which are callable, or set tool choice to none, rather than removing definitions. | September 22 beta, header inline-tools-2026-09-15: a tool addition block in a mid-conversation system message can carry a full definition or reference, add, change or remove a tool without editing tools or invalidating the cache. | | Warming the cache | Set prompt cache options.prewarm to true on a Responses request to write the prefix without generating output; billed at the standard cache-write rate. | No equivalent announced. | | Billing change | None this week. | From September 24, pre-output refusals in the bio, frontier llm and reasoning extraction categories are billed like any other request. | The two vendors now solve the same three problems, sometimes with mirror-image mechanics. Both give you a reason code for a miss. Both let you change a tool set without throwing away the cached prefix, OpenAI by masking tools and Anthropic by appending definitions. And both accept that agents change effort mid-conversation and have made that free of a cache penalty. 02 — OpenAIOpenAI: a 30-minute window, breakpoints, and a dashboard OpenAI's announcement of September 22 https://openai.com/index/better-prompt-caching-for-gpt-6/ describes an improved caching system launched with the GPT-6 family that gives higher hit rates by default and discounts on eligible shared prefixes reused within a 30-minute window. The prompt caching guide https://developers.openai.com/api/docs/guides/prompt-caching adds the details that matter for an agent loop. - Lifetimeprompt cache options.ttl has one supported value, 30m, which is the default. A prefix stays eligible for 30 minutes after its most recent write or reuse; OpenAI may keep it longer. - 30 minutes - Minimum cacheable prefix1,024 tokens for GPT-5.6 and later; hidden system content does not count. - 1,024 tokens - Cached input discountThe guide's wording is "discounted up to 90%"; the announcement says discounts of up to 90% on cached input tokens. - Up to 90% - Explicit breakpointsSet prompt cache options.mode to explicit and add prompt cache breakpoint with mode explicit to a supported content block. With no markers placed, the request neither uses nor writes the cache. - 4 writes per request - Implicit modeOpenAI places a breakpoint at the end of the latest eligible message. Explicit markers can be added on top; the implicit one uses one of the four write slots. - Default - Effort without a missAppend a configuration update input item to change reasoning effort between responses and keep request-level reasoning.effort unchanged, because changing that can rewrite hidden instructions. - configuration update - Miss diagnosticsSet prompt cache options.comparison response id to an earlier response's id; the new response then carries a prompt cache diagnostics object with a type, a reason such as tools changed, and an estimate of the tokens not reused. - Reason per miss The announcement carries customer figures, all vendor-published: GitHub's chief product officer is quoted saying the share of prompt tokens needing fresh processing fell by more than half across billions of requests; two agent companies report hit rates moving from roughly 85% to above 90% and from 83% to 91% after adopting explicit breakpoints. Treat those as the vendor's case studies, not as what your workload will do. 03 — AnthropicAnthropic: diagnostics out of beta, tools inside the conversation Anthropic's changes arrived as three release-note entries https://platform.claude.com/docs/en/release-notes/overview on consecutive days. On September 22, alongside the Claude Opus 5.5 launch, tools became definable inside a mid-conversation system message, in beta under the inline-tools-2026-09-15 header. A tool addition block can carry a tool's full definition, so an agent can add a tool, change its schema or move a server tool to a newer version without editing the tools array or invalidating the prompt cache. The same header covers adding and removing tools by reference, and with the MCP connector's mcp-client-2026-09-15 header the definition can be an MCP toolset, with each server's fetched tool list recorded in an mcp tool listing block that pins the list when sent back. On September 23, cache diagnostics left beta. The cache-diagnosis-2026-04-07 header is no longer needed; a request opts in by including a diagnostics object, and every response from the Messages endpoint now includes a diagnostics field, null when the request did not ask for it. For an agent team that has been guessing why a long session's cache-read ratio dropped, that is the same capability OpenAI shipped the day before, from the other direction. The cached prefix on the Claude API runs from the start of the request through the tools array, the system prompt and the messages. Editing the tools array invalidates the entire cache. Defining or changing a tool inside a later system message leaves the earlier prefix intact, which is the difference between a cache hit and a full re-read on every turn where an agent's tool set changes. 04 — The billThe refusal line: what Anthropic now charges for The September 24 entry is a billing change rather than a caching one, and it belongs in the same cost review. Anthropic now bills refusals that arrive before any output when stop details.category is bio, frontier llm or reasoning extraction, which it describes as the categories where it measures low volumes of false positives. Mid-stream refusals were already billed. The newly billed refusals are charged like any other request, at the rates of the model that ran, on all platforms. Pre-output refusals in other categories are still not billed, and fallback credit is unchanged. For most workloads the line will be small. For a pipeline that probes near a safeguard, or that retries a refused request on another model, it is a new cost that a caching dashboard will not show. Log stop details.category, count the three billed values per day, and watch whether the retry path multiplies them. 05 — The patternsThree agent patterns to apply this week Stable tool list, masked at call time Send the same tools array on every turn. On OpenAI, restrict what is callable with allowed tools or set tool choice to none. On the Claude API, add or change a tool through a tool addition block in a system message rather than editing the array. In both cases the cached prefix, tool definitions included, stays intact. Append-only context with the changing part last Place an explicit breakpoint after instructions and tool definitions, another after reference material, and leave the volatile suffix uncached. Content after the last marker is processed at the uncached rate without a cache-write charge, so churn at the end no longer writes junk to the cache. Prewarm before a fan-out Before spawning parallel sub-tasks that share a prefix, send one request with prompt cache options.prewarm set to true. It writes the prefix without output, at the cache-write rate, so the fan-out starts on a warm cache within the 30-minute window. We make no claim about savings beyond the vendors' stated discounts. The only reliable number is your own hit rate, which both vendors now report per request. Our AI transformation practice https://www.digitalapplied.com/services/ai-transformation starts every agent cost review by reading it. 06 — ConclusionBoth vendors now tell you why a cache missed; the work is to act on it Turn on diagnostics on both APIs, move tool changes out of the tools array, and add the refusal categories to the daily cost report None of this week's changes cuts a list price. The caching changes alter how much of a long session is charged at the cached rate, which for an agent is the price that matters.