Claude API: On-Demand Compaction and a Smarter Models API
September–October 2026 Claude API updates for builders: on-demand conversation compaction in beta (a signed summary block you send in place of old messages), and new Models API fields — line, capabilities.thinking.types.disabled and capabilities.server_tools — so code can check what a model supports instead of hard-coding it.
Two quieter Claude API changes from the past month solve problems anyone running a long-lived chat or agent feature runs into.
On-demand compaction (beta, 14 September)
Long conversations eventually hit the context window, and every turn re-sends (and pays for) the whole history. Until now, summarising old turns was your job. (What Is a Context Window?)
The Messages API can now compact a conversation on demand on the Claude API, in beta with the compact-2026-09-04 header:
- Send a request with the top-level
compactionparameter. - The API returns a signed
compactionblock that summarises the messages you sent. - On later requests, send that block first, in place of those messages.
You decide when to compact, the request can run in the background, and you can keep recent turns word for word after the summary. On models with preserved thinking, thinking in the kept turns can stay valid.
This is the same idea as Claude Code's /compact, now available to your own apps. (Claude Code /compact vs /clear, AI Agent Memory)
Models API: ask what a model supports
New models keep changing what's allowed — Haiku 5.5 rejects temperature, Opus 5.5 can't disable thinking, some models don't accept certain tools. Hard-coding those rules breaks on every release. The Models API (GET /v1/models and GET /v1/models/{id}) gained fields so code can check instead:
| Added | Field | Tells you |
|---|---|---|
| 1 October | line |
The model line (e.g. opus), so you can group models without parsing IDs |
| 5 October | capabilities.thinking.types.disabled |
Whether thinking: {type: "disabled"} is accepted |
| 6 October | capabilities.server_tools |
Whether web search and code execution tools are accepted |
import anthropic
client = anthropic.Anthropic()
model = client.models.retrieve("claude-haiku-5-5")
print(model.line)
print(model.capabilities)
(The exact attribute names in each SDK follow the API fields; check your SDK version.)
A practical pattern: read the model ID from configuration, fetch its capabilities at startup, and build requests accordingly — no code changes when you switch models. (Environment Variables Explained)
Also recently
- Sonnet 4.5 retires on 30 November 2026. (How to migrate)
- Dreams (research preview, Managed Agents) now supports Opus 5.5, Fable 5.1 and Sonnet 5.5.
Source: Claude Platform release notes
EasySpawn gives your AI features a server-side backend where conversation state, compaction blocks and model configuration live next to your database. See how it works or join the waitlist.
Related: Stream LLM Responses · How to Build an AI App · Context Engineering for Coding Agents · Claude Haiku 5.5 Released
Keep reading
Gemini API: New Antigravity Agent Version, Gemini 3.8 Flash GA and Model Deprecations
Google's Gemini API replaced antigravity-preview-05-2026 with antigravity-preview-09-2026 on 17 September (the old version shut down on 5 October), made Gemini 3.8 Flash generally available on 2 September, limited Gemini 2.5 access to recent users, and deprecated gemini-3.1-flash-image. What developers need to change.
Cloudflare AI Gateway Auto Router: Let the Gateway Pick the Model
Cloudflare's AI Gateway Auto Router, announced in Birthday Week 2026 and free in beta, classifies each request at the edge and routes it to a suitable model — cheap models for simple tasks, frontier models for hard ones — by setting the model to cloudflare/auto. How it works, the savings claims, and the trade-offs of automatic model routing.