Release notes, read from the desktop
Anthropic's latest API release notes, June 2026
A short, dated digest of what Anthropic actually shipped to the Claude API this month, and the part the changelog skips: what each change does once you are running Claude Code on a Mac through a client that uses your own account.
Direct answer · verified June 16, 2026
In June 2026 Anthropic made Claude Fable 5 generally available (June 9; 1M-token context, $10 / $50 per million tokens), shipped a beta server-side fallbacks parameter (header server-side-fallback-2026-06-01) that retries a refused request on a second model in one round trip, and stopped billing requests that return stop_reason: "refusal" with no generated output. It also added MCP tunnels (research preview), self-hosted sandboxes for Claude Managed Agents, and a Rate Limits API for querying org and workspace limits.
Source: Anthropic Claude Developer Platform release notes (June 2026). Anthropic publishes the canonical changelog on platform.claude.com.
What shipped, in order
Six items from the June 2026 platform notes, each with the one line that decides whether it touches your day.
Claude Fable 5 generally available
Jun 9Anthropic's most capable widely released model, with a 1M input context and up to 128K output tokens. Always-on thinking, no assistant prefill, raw reasoning never returned, and a 30-day data-retention requirement. Priced above the Opus tier at $10 / $50 per million tokens.
Server-side
Junfallbacksparameter (beta)With header
server-side-fallback-2026-06-01, a request that a safety classifier declines is re-run on a named fallback model inside the same call, with credit repricing applied automatically. Claude API and Claude Platform on AWS only; rejected on the Batches API; not on Bedrock, Vertex, or Foundry.Refusals with no output are no longer billed
JunA request that returns
stop_reason: "refusal"before any tokens are generated costs nothing. A mid-stream refusal still bills the partial output. Either way, clients must read the stop reason rather than blindly indexcontent[0].MCP tunnels (research preview)
JunConnect to MCP servers that live inside a private network, without exposing them publicly. Relevant if your tools sit behind a corporate boundary.
Self-hosted Managed Agent sandboxes
JunTool execution can now run in your own infrastructure instead of Anthropic's, while the agent loop stays on the orchestration layer. Managed Agents also gained live tool/MCP config updates on an active session, and 100K+ token tool outputs now spill to a file in the sandbox.
Rate Limits API
JunAdministrators can now query the rate limits configured for an organization and its workspaces programmatically, rather than inferring them from 429 headers.
Fable 5, by the numbers
The headline model of the month. The context window and output ceiling matter for long agentic runs; the price is why it is not the default Opus-tier upgrade.
What this looks like from a desktop Claude Code client
Most write-ups of an API changelog stop at the wire format. The question that is missing is: if you are not calling /v1/messages yourself, when do any of these reach you? Fazm is a useful case to reason about because it does not reimplement Claude Code. It wraps the real agent loop over the Agent Client Protocol. The bridge bundles @agentclientprotocol/claude-agent-acp, pinned to 0.29.2 in acp-bridge/package.json, and you connect your own Claude Pro or Max account.
The consequence: model availability and API behavior come from Anthropic's side and your plan, not from a model list compiled into the app. When Fable 5 became available on your account, it was reachable through the same loop with no Fazm release. The same is true of the quieter changes, the refusal stop reason and the fallbacks parameter, because they live in the request and response shapes that the agent loop already speaks.
How a June 2026 API change reaches your chat
The seam where a stop reason becomes a UI decision
When Anthropic adds or changes a stop reason or an error shape, the client has to decide what the user sees. This is the part that cannot be lifted from a generic changelog, so here is the actual code. Fazm's bridge ships a single helper, classifyApiFailure, in acp-bridge/src/api-failure.ts. It sorts a thrown session error into three buckets: overloaded, credit, or other.
The load-bearing line is if (httpStatus === 529) sitting before the credit check. Anthropic returns 529 for overloaded_error, but the Claude Agent SDK tags those api_retry events with error: "rate_limit". A client that reads only the error type treats an Anthropic outage as the user running out of credit, restarts the subprocess, and aborts every other open chat with a billing message. That is exactly what happened in production on 2026-05-14, and it is why the status code is checked first. The fuller postmortem is in the May 2026 529 write-up.
June's changes land in this same place. The new unbilled refusal stop reason is a fourth kind of upstream condition: not an overload, not a credit problem, and not a generic error to dump verbatim. It is a deliberate decline with no charge. The right behavior for a desktop client is to show it as a terminal-but-clean turn, the same way this classifier keeps a transient 529 from masquerading as a billing event. The server-side fallbacks parameter is the API-side counterpart: where your own code can opt a refused request into a retry on a second model, a wrapper that runs the real loop inherits that behavior through the request shape rather than reimplementing it.
If you do call the API directly
For completeness, the shape of the new fallbacks parameter, since it is the one June change most likely to need a code edit on your side. Branch on stop_reason before reading content, and opt into a fallback so a single classifier decline does not fail the request outright.
The header string must be exactly server-side-fallback-2026-06-01; the parameter is rejected on the Message Batches API and unavailable on Bedrock, Vertex, and Foundry, where the client-side refusal-fallback middleware is the recommended substitute. Stop reason values for a Fable 5 refusal include cyber, bio, and reasoning_extraction; see the Anthropic error reference.
Run the real Claude Code loop, on your own account
Fazm is a native macOS app that wraps Claude Code (and Codex) over ACP, with persistent sessions, one-click forking, and no auto-compacting. Model and API changes flow through your Pro or Max plan, not an app update. Free to start, fully open source.
Running Claude Code in production and tracking API changes?
Book 20 minutes to talk through how Fazm absorbs model and API shifts without an app release.
Anthropic June 2026 API release notes: questions
What did Anthropic ship to the Claude API in June 2026?
Five things stand out. Claude Fable 5 went generally available on June 9, 2026 (1M-token input context, up to 128K output, $10 / $50 per million input / output tokens). A beta server-side fallbacks parameter (header server-side-fallback-2026-06-01) lets a refused request retry on a second model in the same round trip, on the Claude API and Claude Platform on AWS only. Requests that return stop_reason: "refusal" with no generated output are no longer billed. MCP tunnels shipped in research preview for reaching MCP servers inside private networks. And a Rate Limits API now lets admins query the limits configured for their organization and workspaces. Claude Managed Agents also gained self-hosted sandboxes and the ability to update tool and MCP config on an active session.
Do I have to update Fazm to get the new model or these API changes?
No. Fazm wraps the real Claude Code agent loop over ACP (it bundles @agentclientprotocol/claude-agent-acp, pinned to 0.29.2 in acp-bridge/package.json) and you bring your own Claude Pro or Max account. The model selection and the API behavior come from Anthropic's side and your account, not from a model list compiled into the app. When Fable 5 became available on your plan, it was reachable through the same agent loop without a Fazm release.
What does the new "refusal not billed" change mean in practice?
On the API, a request that returns stop_reason: "refusal" before Claude generates any output is no longer billed. For a desktop client the more interesting part is the stop reason itself: a wrapper has to recognize a refusal as a terminal-but-not-an-error state, distinct from a 529 overload (transient) and a real credit exhaustion (billing). Fazm's bridge already classifies upstream conditions for exactly this reason; see the classifyApiFailure section above.
Is the server-side fallbacks parameter available everywhere?
No. The beta fallbacks parameter (header server-side-fallback-2026-06-01) works on the Claude API and Claude Platform on AWS. It is rejected on the Message Batches API and is not available on Amazon Bedrock, Google Vertex AI, or Microsoft Foundry. On those, the recommended path is the client-side refusal-fallback middleware in the GA SDKs instead.
What is Claude Fable 5 and how is it different from Opus 4.8?
Fable 5 (released June 9, 2026) is Anthropic's most capable widely released model, priced above the Opus tier at $10 / $50 per million tokens. Its API surface differs from Opus 4.8 in a few ways that matter to any client: thinking is always on, so an explicit thinking: {type: "disabled"} returns a 400 (you omit the parameter instead); the raw chain of thought is never returned; assistant prefill is not supported; and it requires 30-day data retention, so a zero-data-retention org gets a 400 on every request. Opus 4.8 remains the default Opus-tier upgrade target.
Why does a 529 from Anthropic matter to a Claude Code client specifically?
Because the Claude Agent SDK tags its api_retry events for an HTTP 529 (overloaded_error) with error: "rate_limit". A naive client reads "rate_limit" and tells the user they ran out of credit, then restarts the session. That is the failure Fazm hit in production on 2026-05-14, and the reason classifyApiFailure checks the HTTP status before the error type. A transient Anthropic outage should surface as a retry, not a billing prompt.
Where can I read the official Anthropic release notes?
Anthropic publishes platform changes on platform.claude.com. The dated June 2026 digest used on this page (Fable 5 GA, the fallbacks parameter, the refusal billing change, MCP tunnels, self-hosted sandboxes, the Rate Limits API) is mirrored by the Releasebot tracker for the Claude Developer Platform.
Keep reading
The Anthropic 529 outage, read from the bridge layer
Why a 529 ate Claude Code sessions in May 2026 and the bridge-layer fix that absorbs a vendor overload without showing you a billing prompt.
Claude API model and agent improvements
How recent Sonnet and Opus changes land for an agent that runs the real Claude Code loop instead of a reimplementation.
Claude Code persistent sessions on macOS
How chats survive a restart when the agent loop runs behind a native UI with no auto-compacting.
Comments (••)
Leave a comment to see what others are saying.Public and anonymous. No signup.