A pricing or context-window announcement reaches your code in places that were tuned once and written down nowhere: how many characters you chunk at, where you truncate, how many documents you retrieve, and what your cost model assumes a request costs. Those numbers were fitted to the old limits. When the limits move, the numbers stay where they were.
A tokenizer change is a chunking change
The clearest recent example is a model launch, not a pricing entry. Anthropic launched claude-sonnet-5 on 30 June 2026 with a 1M token context window and 128k maximum output tokens, and the release notes state that a new tokenizer produces about 30 percent more tokens. The Anthropic change log entry carries that sentence with the provider's own source and a re-prompt action.
Follow it through your code. Cost per request moves, because you are billed per token. Any budget expressed in tokens now holds less text than it did. If a chunk size was chosen to fit a fixed number of chunks into a prompt, the arithmetic behind that choice has changed, and if a truncation rule sits just under a ceiling, it is now closer to it than you think.
The same notes state that manual extended thinking was removed and returns a 400 error, and that non-default sampling parameters return a 400 error. That pattern shows up repeatedly: Anthropic also deprecated the temperature, top_p and top_k request parameters from Claude Opus 4.7 onward, where a non-default value now returns a 400 error.[Anthropic] Caller code breaks with no model swap on your side. Fix the failing request first, then rerun, because a 400 is not a quality finding and reading them together wastes a cycle.
A ceiling that rises invites you to delete a workaround
On 5 August 2026 OpenAI stated that Fast mode now supports long context requests exceeding 272K tokens for the GPT-5.6 models. On 13 March 2026 Anthropic took the 1M token context window out of beta for Claude Opus 4.6 and Claude Sonnet 4.6, at standard pricing and with no beta header required, and the notes state that the dedicated 1M rate limits were removed and the media limit was raised to 600 images or PDF pages per request.
Both entries are an invitation to remove a workaround. That is usually the right move and it is never free. Chunking does two jobs. It fits the input inside a window, and it decides which passages a model sees next to each other. Removing it changes what gets attended to in a long document, which lands in retrieval (the step that fetches documents or records and puts them into the prompt) quality rather than in an error log.
For a RAG feature the scorer that reads this is grounding. Ragas defines faithfulness as the share of claims in a response that can be inferred from the retrieved context, computed by identifying every claim and checking each against the context.[Ragas] Note what that scores: grounding in the retrieved context, not factual truth. If you stop chunking and start passing whole documents, faithfulness is the number to read before and after. The RAG feature hub lists the rest of the set.
The Anthropic entry also removes a rate limit pool. That is a capacity change hiding inside a context change, and it belongs in your load testing rather than your eval run.
A price change has a date on it
On 30 July 2026 OpenAI introduced Fast mode, described as up to 2.5 times faster at twice the price, with the same entry stating that GPT-5.6 Luna costs 80 percent less and GPT-5.6 Terra 20 percent less. On 21 August 2026 OpenAI reduced GPT-5.6 Sol pricing to 4 dollars per million input tokens and 20 dollars per million output tokens, and the entry states the reduced price is promotional through 21 November. Meta released muse-spark-1.2 on 5 August 2026 with a 1M token context window at 1.25 dollars per million input tokens, 0.15 dollars per million cached input tokens and 4.25 dollars per million output tokens.
Three practical consequences. A promotional price has an end date, so it goes in the budget calendar as well as the cost model. A cheaper tier is a model swap wearing a finance label, and a swap needs a comparison run before traffic moves. A cached input rate changes the value of prompt structure, because a prefix that stays stable across requests is now worth more than one that does not.
None of that is an argument for or against any tier. It is an argument for running your own cases before the finance decision becomes a serving decision. Our rerun protocol treats a pricing entry as a tracked provider update for that reason, and the plans page sets how many runs a month that includes.
Pinning helps, within limits
Pinning an explicit id keeps a model swap off your critical path, and Google's Gemini documentation says stable models usually don't change and that most production apps should use a specific stable model.[Google] Keep Google's hedge as written.
A pin is still not permanent. OpenAI announced on 11 June 2026 that the gpt-5-2025-08-07 snapshot would be shut down on 11 December 2026[src].[OpenAI] A pin converts an unscheduled change into a scheduled one, which is exactly as much as it does.
Order of work when a limit moves
- Fix anything returning a 400. A broken request is not a score.
- Rerun the existing configuration against your golden dataset (the fixed set of labelled inputs and expected outputs agreed at baseline, versioned so two runs can be compared) so you have a current baseline that predates the new numbers.
- Change one number at a time. Chunk size, then retrieval depth, then truncation. Changing three at once gives you a result you cannot attribute.
- Read each run against the agreed threshold (the agreed number at which a score change is treated as a finding rather than as noise), not against an absolute score, as EV-THRESH sets out.
- Refresh the dataset if the input shape changed. Future AGI recommends refreshing a golden dataset monthly by default, sampling 200-500 recent production traces[src] stratified by intent and persona, and refreshing weekly during rapid change and immediately after model or corpus updates.[Future AGI]
A feature that was tuned to a 2024 ceiling and never re-measured is carrying a set of guesses nobody has checked. The eval baseline is where the current numbers get written down, and the change log is where the next move gets recorded with the provider's own source on it.