← All posts
Measured · 14,789 calls · August 2026

How long should you let an AI session grow before restarting?

The common advice is "start fresh often". I measured my own 14,789 API calls and that advice is half wrong — restarting too often is a cost of its own.

1.98×

what the same work costs in a session that grew past 350,000 tokens, compared with one that stopped at 200,000.

Cost per unit of work, by the session's peak context

  1. 50–100k1.05×
  2. 100–200k1.00×optimum
  3. 200–350k1.45×
  4. over 350k1.98×

Each bar is the whole session's total cost divided by that session's actual output. So what counts is not what a single turn cost, but what the finished work cost.

Why — two opposing taxes

The cost breakdown explains everything. In a short session the money goes into building the cache. In a long one the entire conversation is re-read from cache on every single turn — and less and less is left for output.

  • building the cache
  • reading the cache
  • output, i.e. actual work
  1. under 25k3% workbuilding the cache 96, reading the cache 1, output, i.e. actual work 3
  2. 50–100k22% workbuilding the cache 23, reading the cache 55, output, i.e. actual work 22
  3. 100–150k20% workbuilding the cache 12, reading the cache 67, output, i.e. actual work 20
  4. 250–400k9% workbuilding the cache 5, reading the cache 86, output, i.e. actual work 9
  5. over 400k7% workbuilding the cache 4, reading the cache 89, output, i.e. actual work 7

In a fresh session 96% of the cost is building the cache — that's the restart tax, and it only pays for itself after a few dozen turns. In a large session 89% of the cost is re-reading old context and 7% goes to the actual work. Across my total spend, 64% went to cache reads alone.

The numbers

Session grew to Sessions Cost per unit of work
50–100k 12 1.05×
100–200k 54 1.00×
200–350k 54 1.45×
over 350k 23 1.98×

What I do about it

  • I let a session grow to 150–200k tokens, then restart — at a natural task boundary, not mid-work.
  • I don't restart for something small. Under ~30 turns the cache build never pays for itself, so you make it more expensive, not cheaper.
  • I put context size on the dashboard so I don't have to guess. The number comes from the last cache_read field in the transcript.

One clarification: on a subscription this isn't a money bill, it's a rate-limit cost. Restarting does not reset the 5-hour window — that one is wall-clock. But a lower cost per turn means more work fits inside the same window.

Want the same on your own data?

Most of these posts start with one annoying question and a log file. If you have a question like that, let's look at it together.

Book a call