Blog15 min

# The most expensive message is "one more thing"

A one-line Claude reply cost me $11 after a break. Across four weeks, expired prompt caches accounted for a quarter of my calculated Claude Code usage costs.

![The Most Expensive Message is "One more thing"](https://cdn.sanity.io/images/0lkfsbau/production/029031977a83a51d86a3b363a2457dd4330ce3bd-2400x1260.png?q=80&fit=max&auto=format&w=3840)

[Mind the Gap - Why a break costs $10](#mind-the-gap-why-a-break-costs-10)[What it adds up to](#what-it-adds-up-to)[Two APIs that don't meet](#two-apis-that-don-t-meet)[How hidden it is](#how-hidden-it-is)[Not negligence](#not-negligence)[What to do now](#what-to-do-now)[Sources](#sources)

Published

27 October 2026

Explore with

ChatGPT

-   [Key takeaways](https://chatgpt.com/?hints=search&q=What%20are%20the%20key%20takeaways%20from%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)
-   [Explain content](https://chatgpt.com/?hints=search&q=Explain%20the%20content%20of%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)
-   [Create action plan](https://chatgpt.com/?hints=search&q=Create%20an%20action%20plan%20based%20on%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)
-   [Other perspectives](https://chatgpt.com/?hints=search&q=What%20are%20other%20perspectives%20on%20the%20topics%20covered%20in%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)

Claude

-   [Key takeaways](https://claude.ai/new?q=What%20are%20the%20key%20takeaways%20from%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)
-   [Explain content](https://claude.ai/new?q=Explain%20the%20content%20of%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)
-   [Create action plan](https://claude.ai/new?q=Create%20an%20action%20plan%20based%20on%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)
-   [Other perspectives](https://claude.ai/new?q=What%20are%20other%20perspectives%20on%20the%20topics%20covered%20in%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)

Perplexity

-   [Key takeaways](https://www.perplexity.ai/search?q=What%20are%20the%20key%20takeaways%20from%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)
-   [Explain content](https://www.perplexity.ai/search?q=Explain%20the%20content%20of%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)
-   [Create action plan](https://www.perplexity.ai/search?q=Create%20an%20action%20plan%20based%20on%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)
-   [Other perspectives](https://www.perplexity.ai/search?q=What%20are%20other%20perspectives%20on%20the%20topics%20covered%20in%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)

Copilot

-   [Key takeaways](https://copilot.microsoft.com/?q=What%20are%20the%20key%20takeaways%20from%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)
-   [Explain content](https://copilot.microsoft.com/?q=Explain%20the%20content%20of%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)
-   [Create action plan](https://copilot.microsoft.com/?q=Create%20an%20action%20plan%20based%20on%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)
-   [Other perspectives](https://copilot.microsoft.com/?q=What%20are%20other%20perspectives%20on%20the%20topics%20covered%20in%20https%3A%2F%2F73strings.bytogether.agency%2Fllm%2Finsights%2Fblog%2Fthe-most-expensive-message-is-one-more-thing)

On Monday 5 October I asked Claude a question that took it one line to answer, and the usage came to $10.88 at Anthropic's list prices.

I wasn't doing anything unusual. The conversation was a Claude Code session I had been working in all morning, and it had grown past half a million tokens of context. In my experience, deep tasks commonly grow to this size. Twenty working turns that day (a _turn_ is one request to Claude and its response) cost between 17 cents and a dollar each, six dollars in all. **After an hour and a half away, the first message back cost about $10.88**. An hour later I came back with one more small question, got a one-line reply, and added another **$10.90** of usage. The reply was correct, which is _something,_ though not _quite_ worth ~$11.

Running several sessions a day, I rarely know what one message costs. Two questions followed. Was this a one-off, or was coming back after a break a recurring expense? And if it was recurring, could anyone other than me see it?

## Mind the Gap - Why a break costs $10

Every message you send in Claude carries the _entire_ conversation context with it. A prompt cache lets Claude reuse work it has already done processing the conversation. Think of it as keeping the preparation ready for your next question, rather than starting that preparation again each time. Reusing it is much cheaper. But the cache is temporary: when it expires, the conversation is still there on your screen, while Claude has to process that material again to answer your next question.

A 'warm turn' reuses it; a 'cold turn' processes it again after the cache expires. Reading cached context costs 2.5% of the normal input price on Fable 5.1, 5% on Opus 5.5 and Sonnet 5.5. At half a million tokens on Fable 5.1, that warm read costs 12.5 cents ([Anthropic's pricing sets out the rates](https://platform.claude.com/docs/en/about-claude/pricing)).

The cache doesn't last. Claude Code's main conversation [defaults to an hour](https://code.claude.com/docs/en/prompt-caching#cache-lifetime) within a subscription's included usage. When a cache expires, the next message reprocesses the context and stores it again. An [hour-long store](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) costs twice the input price. Half a million tokens on Fable 5.1: **$10**, 80 times the warm-read cost, before counting the new question and answer.

Anthropic's [costs documentation](https://code.claude.com/docs/en/costs#why-usage-climbs-in-a-long-session) lists cache misses after a break among the reasons usage climbs. Independently, [J.D. Hodges](https://www.jdhodges.com/blog/claude-code-prompt-cache-has-likely-expired/), starting from Claude Code's expiry notice, reached the same arithmetic in September: **$0.15** warm against **$11.72** cold for a **586k-token** session. What's missing, when you sit back down at an open terminal, is a price for the next send.

![What a break costs](https://cdn.sanity.io/images/0lkfsbau/production/3db2c88a5c36a93487c288dfe67792634c9fedfa-960x540.png?q=80&fit=max&auto=format&w=3840)

What a break costs

## What it adds up to

Claude Code keeps local session logs with token counts, so I could put a list price on each recorded model call. I counted the cache-write cost on the first call after each gap longer than the cache lifetime.

That Monday alone came to $57 across 25 calls. Five returns after breaks accounted for $51 in cache writes. One of those five produced the one-line answer.

![Five returns after break dominated a $57 Session](https://cdn.sanity.io/images/0lkfsbau/production/c3581768a8235827d4f7574f46997c282b4f442e-900x644.png?q=80&fit=max&auto=format&w=3840)

Five returns after break dominated a $57 Session

Then I went back through the conversation. The records began on Friday evening, followed by another stretch of work on Sunday. Monday was the third active day. Across those three days, 97 calls came to $93, of which $63 was cache writes on seven returns after breaks. More than two-thirds of the calculated usage cost.

![Three active days, seven returns](https://cdn.sanity.io/images/0lkfsbau/production/d674bf314bfc8a7e9aa5eda799b171919798993f-900x650.png?q=80&fit=max&auto=format&w=3840)

Three active days, seven returns

The blue line explains why those returns became so expensive. The conversation carried about 78,000 tokens at the first recorded call. By the end of Sunday it had reached half a million; by the end of Monday, about 569,000. Most of that growth had happened before Monday began. I was coming back to work whose context had accumulated over several sittings, and paying to process it again each time the cache expired.

That made the Monday example easier to understand. The wider records showed it was recurring. Over four weeks, 10 September–8 October, 145 calls after gaps accounted for a **quarter of my calculated Claude Code usage** cost in cache writes. Not a quarter of the cost in long conversations. A quarter of the lot.

An $11 answer can be worth far more than it costs, and keeping the context is often the right call. What caught my attention was the share across weeks, and that nothing in front of me had let me make that call knowingly.

The model version matters too. On Fable 5 the same warm read costs four times as much, 50 cents, while an hour-long rewrite stays at $10, and that's a piece of its own.

The rule changes for heavy users. Once a subscriber draws on usage credits, Anthropic says Claude Code "[drops the main conversation to the five-minute TTL, which charges a lower rate for cache writes](https://code.claude.com/docs/en/prompt-caching#cache-lifetime)" (TTL means how long the cached work survives without reuse). Each store gets cheaper, but a return after, say, twenty minutes now needs a rewrite. Enough returns between five minutes and an hour can outweigh the cheaper stores. In other words, crossing the usage limit can make a coffee break expensive. Even an espresso can take you past five minutes.

## Two APIs that don't meet

That answered the first question: the pattern was clear in my own records. The second was harder. Put the admin's hat on: could I have found this from what Anthropic gives an organization?

Anthropic's [Enterprise Analytics API](https://platform.claude.com/docs/en/api/http/beta/organization/analytics/user_usage_report/list) gives token totals and [reported dollar costs](https://platform.claude.com/docs/en/api/http/beta/organization/analytics/user_cost_report/list) per person, day, product and model, separating five-minute writes, hour-long writes and reads. There is no finer breakdown by session. The [Compliance API](https://platform.claude.com/docs/en/api/http/compliance/apps/sessions/local/messages/list) supplies session records with times and models, but no token counts or dollars. Neither holds the cost of a session. My local transcripts had both. We hadn't enabled the telemetry that could have collected them by session.

So we stitched. Shape from Compliance: when each call happened, which model, and how big the session had grown. Scale from Analytics: that day's exact reads and stores, allocated across the day's conversations in proportion to that shape.

The Compliance API cuts large tool results short, so conversations look smaller than they were. It re-records the whole history whenever a request diverges, so they look larger: on one person's day, 4,554 of 10,127 message rows were replays. It mixes in helper calls. And its [session list](https://platform.claude.com/docs/en/api/http/compliance/apps/sessions/local/list) can't be filtered by person, so finding one person's sessions meant walking the organization’s whole list, 11,703 sessions for a 30-day lookback. A heavy user's day came to about 100 MB of messages. The first run, for five people on one day, took 45 minutes. Whether by design or not, the cost of a conversation is very hard to reconstruct.

To be clear about what we read: timing, model and size. No colleague's conversation content was read for this, and the conversation examples here are mine.

On my **6 October records**, the method found **all eleven** gap turns in the right conversations and got their cache-write cost **within 12%**. That checks the method on my day. It says nothing yet about recoverable savings.

## How hidden it is

So who can see it? The user can't: a subscription gives no separate bill for each turn. The organization can't: the cost breakdown files the penalty under "cache writes", alongside ordinary storing of new material, and the standard admin spend report covers usage credits while leaving included usage out of its dollar totals. The admin can't: neither historical API identifies the gaps penalty per conversation. [Anthropic documents these reporting limits](https://code.claude.com/docs/en/costs#manage-costs-for-your-organization).

Anthropic has built visibility tools, and it's worth being fair about them. /usage shows whether the main conversation's cache is warm, its misses and re-cached tokens. A configured status line can show cache state too. [OpenTelemetry](https://code.claude.com/docs/en/monitoring-usage) can export estimated request costs and cache tokens by user and session; we hadn't enabled it.

On Pro and Max, a [dialog opens automatically](https://code.claude.com/docs/en/sessions#resume-from-a-summary) before the first send when resuming a session over 100,000 tokens after about an hour. It offers a summary, though producing that summary still processes the expired history once. The docs name Pro and Max; Enterprise availability remains unconfirmed. And /model warns about switching while the cache is warm.

Those help. They still leave the person returning to an open terminal without a default estimate of what "one more thing" will cost.

## Not negligence

It's tempting to file this under user discipline. I don't think that's right. Nobody can act on a price they can't see, and the interaction is built to keep you in the conversation. In 1,740 replies in my own claude.ai records, Claude never suggested starting a new conversation, and the incentives point the same way, since a longer thread costs more per turn. (More on that another time.)

The way of working that triggers the penalty is also the direction of travel, not a bad habit. I keep five to ten Claude Code sessions across projects, adding ideas between meetings or through my WhatsApp-based bot, then picking them up next morning. That's long-horizon work: an outcome pursued over several sittings, with the context kept because the context is the point. I expect more capable assistants to make it commonplace. A price that peaks when you come back is a price on exactly that way of working.

For now I finish what I can and choose which sessions to carry forward.

The habits below help. The fix is to show the cost at the moment of decision: cost so far, an estimate for the next send, and a warning when the cache has gone cold. Nothing sent to Claude, nothing blocked, just the number, where you can see it. Picture it, as a sketch rather than a product: yesterday's session is open, you type "one more thing", and before you press enter the menu bar tells you the conversation has gone cold and that waking it up will cost about $10 before your question is counted. Sometimes you'll send it anyway. The difference is that you chose.

The pieces for that number already exist. The local session log has the token count, the cache lifetime is documented, and the prices are public. What's missing is putting them together at the moment you decide, rather than in a report weeks later. I've started sketching a small menu-bar meter for my own Mac with that in mind. One changed decision in a week would be a useful first test.

Others are heading the same way. Claude Code [mods](https://code.claude.com/docs/en/plugins/mods/overview) are plugins that change its interface and behavior, and people already share them. I've seen one that covers some of this ground. Another, [cache-clock](https://github.com/VedantAndhale/claude-pro-kit#cache-clock), says it warns before the cache expires, using an inferred lifetime.

![Before the next send](https://cdn.sanity.io/images/0lkfsbau/production/7fa7b96694fde809d7f8a0b2135639b65ac94ff9-760x540.png?q=80&fit=max&auto=format&w=3840)

Before the next send

## What to do now

Put the CFO's hat on and the monthly frontier AI bill stops being one number: a single step in a workflow, the return after a break, can account for a meaningful share of it. Put the product designer's hat on and the same applies to agentic workflows embedded in our platforms: they need the same cost awareness, without disrupting useful work.

For users, three habits. If you no longer need the full context, finish before a break, or ask for a handoff and start fresh afterwards. Compact while the cache is warm; afterwards it reprocesses everything, and summarizing costs tokens and can lose detail. Check before you send: /clear itself costs no tokens, and /usage shows the cache state.

For admins, one setting and one weekly look. Consider [promptCacheTtl: "1h"](https://code.claude.com/docs/en/prompt-caching#choose-the-ttl-yourself) through managed settings where enough returns between five minutes and an hour offset writes at 1.6 times the five-minute price. Breaks over an hour expire both caches; calls less than five minutes apart don't need the extra lifetime. Environment overrides can take precedence, so check what is actually applied. [Anthropic's cache guidance](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#when-to-use-the-1-hour-cache) explains the trade-off. Then look weekly at who is on five minutes, and ask why.

The next time you type "one more thing" into _yesterday's_ conversation, the useful number is the estimated cost _before_ you press enter. In an ordinary open terminal, that still isn't shown by default. Try /usage before sending: its cache line shows warmth, though the next-send price still needs estimating. And if your own records show a different share, or you've found a better way to see the number, I'd like to hear it.

## Sources

-   Anthropic: [Prompt caching; Pricing; How Claude Code uses prompt caching; Manage costs effectively; Resume from a summary; Monitoring](https://code.claude.com/docs/en/prompt-caching#cache-lifetime). Public documentation checked 10 October 2026; pricing, caching and costs rechecked 11 October. promptCacheTtl needs Claude Code v2.1.242+; the /usage cache line and status-line cache fields need v2.1.251+.
-   Anthropic: [Model configuration; Mods overview](https://code.claude.com/docs/en/plugins/mods/overview). Inspected 11 October 2026. VedantAndhale's cache-clock description, inspected 11 October; documentation only, no runtime test or verified release date.
-   J.D. Hodges, [Claude Code "Prompt Cache Has Likely Expired" (What It Means)](https://www.jdhodges.com/blog/claude-code-prompt-cache-has-likely-expired/), header dated 13 September 2026.
-   My figures are calculated from my local Claude Code token records at Anthropic's list prices, rather than invoice charges. The reconstruction allocates Enterprise Analytics usage costs across Compliance session records. Only colleagues' timing, model and size were read. Cache-write cost after a gap is the measure used here; savings from changing behavior were not measured.

![Matt Storey](https://cdn.sanity.io/images/0lkfsbau/production/156baa3e841659b14428900fd0af35e993dfe235-310x370.png?q=80&fit=max&auto=format&w=3840)

Matt StoreyChief Product Officer