Anthropic Claude release notes April 2026, read from downstream
Anthropic shipped Opus 4.7, Claude Design, Visualizations, Cowork GA, Managed Agents, and the ant CLI in a three-week stretch. Everyone else wrote that up. This is the other side of the wire: nine versions of a consumer Mac app, each one tagged to the specific upstream change that forced it.
Download Fazm for MacThe downstream release log
Every row below is a real Fazm version that shipped to users, with its date and the upstream Claude-side event it was responding to. No marketing copy, no re-skinned benchmarks, just the ship log.
Source of truth: CHANGELOG.json at the root of the Fazm repo.
April 3 - v2.0.1 pop-out chat and Retina-screenshot fix
First April release. Introduced detached chat windows and fixed Playwright screenshots exceeding Anthropic's API dimension limits on Retina displays. The screenshot limit issue only surfaced at scale, so accessibility-tree reads kept working while the screenshot path got patched.
April 4 - v2.0.6 Smart and Fast model toggle
Added a header toggle in the chat to switch between Opus and Sonnet without leaving the conversation. The labels Smart and Fast are the first public appearance of the family table that would absorb Opus 4.7 twelve days later.
April 5 - v2.0.7 and v2.0.9 model fallback and credits errors
Two releases in one day. Fixed chat failing silently when a personal Claude account lacked access to the selected model (auto-falls back to the built-in account) and surfaced error messages when Claude credits were exhausted instead of just stalling.
April 7 - v2.1.2 ACP bumped to v0.25.0
First Agent Client Protocol upgrade of the month. v0.25.0 improved error handling for credit exhaustion and rate limits. Onboarding stopped silently failing when new users ran out of credits and now showed an actual prompt to connect their own Claude account or skip.
April 9 - v2.1.3 manage subscription and pop-out errors
Minor release. Added a Manage Subscription button for Fazm Pro subscribers and fixed error messages that were not showing in the pop-out chat window after the ACP protocol bump.
April 11 - v2.2.0 custom API endpoint and global shortcut
Added a custom API endpoint setting for proxies and corporate gateways (important for enterprise users whose network team routes Anthropic traffic through a gateway) and a global shortcut Cmd+Shift+N to open a new pop-out chat from anywhere.
April 12 - v2.2.1 duplicate response fix
Single-line fix: duplicate AI response appearing in pop-out and floating bar when sending follow-up messages. Shipped within hours of the issue being reported.
April 16 - v2.3.2 privacy language and streaming leak fix
Shipped the same day Opus 4.7 went GA. Tightened onboarding and system prompt privacy language from 'nothing leaves your device' to 'local-first.' Also fixed AI responses leaking between pop-out chat windows during simultaneous streaming.
April 20 - v2.4.0 dynamic models, ACP v0.29.2, MCP servers
Biggest April release. Custom MCP server support via ~/.fazm/mcp-servers.json with a Settings UI. Available AI models now populate dynamically from the agent, so newly released Claude models appear without an app update. ACP upgraded to v0.29.2. Referrals launched with a $49 credit banner. Free trial shortened from 21 days to 1 day.
April 22 - v2.4.1 paywall, sign-in, and partial-models label fix
Last April release. Fixed paywall blocking users mid-onboarding, fixed a revoked sign-in causing the app to keep retrying in the background, and critically, fixed the Smart label showing for Sonnet users when Anthropic reports a partial model list. That last bug only exists because of the dynamic-models path that shipped two days earlier.
What the agent sends, and what we do with it
Before April 20, Fazm had a hard-coded list of Claude model IDs. After v2.4.0, the app reads whatever the agent reports at session start. Here is the actual shape of the payload the Swift side consumes.
The matching is substring-based in ShortcutSettings.swift. opus maps to Smart, sonnet maps to Fast, haiku maps to Scary. That is the whole dynamic-models mechanism. Opus 4.7 fell through it the day it went GA because the substring still matched.
The signal path from Anthropic to the user
The app does not ship a per-model build. It sits downstream of a single aggregator, the ACP bridge, which is the only place a new Claude model has to register for a real user to see it.
Anthropic release to end user
Two protocol bumps in 13 days
The Agent Client Protocol jumped four minor versions in April. Most of what we had to patch lived in the seams between the old and new message shapes. This is the flow that the April 7 and April 20 bumps changed.
ACP session/update after v0.29.2
Every upstream event, and the downstream patch it caused
These are the cause-effect pairs that matter. Left column is what Anthropic did. Right column is what Fazm had to ship.
Opus 4.7 goes GA on April 16
New model ID lands in the ACP models_available payload. Dynamic family-labeling path in v2.4.0 resolves it to the Smart slot without any app-side rename. Users saw Opus 4.7 the same day.
ACP ships v0.25.0 on April 7
Credit-exhaustion error paths became explicit rather than silent timeouts. v2.1.2 picked it up and turned onboarding into a real prompt.
Partial models payload during rollout
When the agent reports only Sonnet (no Opus), the Smart label used to reassign to the highest-capability entry present. v2.4.1 pinned Smart to the opus substring explicitly.
ACP ships v0.29.2 on April 20
Brought dynamic models_available and custom MCP server support. v2.4.0 adopted both and wrote them to the Settings UI.
Credit-exhaustion error copy
Users on trial accounts started hitting a specific rate-limit error shape. v2.0.9 surfaced it in the UI and added a sign-in prompt instead of a stuck spinner.
Privacy language under scrutiny
Claude calls necessarily leave the device. v2.3.2 rewrote onboarding and system prompts from 'nothing leaves' to 'local-first' on the same day Opus 4.7 went GA.
This is not how screenshot-based agents absorb releases
Most consumer Mac agents that call Claude work by capturing pixels, running OCR, and handing the result to a vision model. That pipeline is expensive and, more importantly, indifferent to Anthropic's release cadence. The bottleneck is the vision step, not the model. Fazm reads the real macOS accessibility tree through AXUIElement for whatever app is under the cursor and hands that structured tree to the selected Claude model.
| Feature | Screenshot + OCR agent | Fazm (accessibility tree) |
|---|---|---|
| Time to adopt Opus 4.7 after GA | Re-build and re-sign required | Same day (v2.4.0 dynamic list) |
| Context going into the model | Re-OCR'd pixels each turn | Structured AXUIElement tree |
| Works with any Mac app | Mostly browser tabs | Yes, accessibility API is system-wide |
| Cost per turn as context grows | Scales with screenshot size | Scales with tree depth |
| Consumer-friendly or dev framework | Usually requires Python and API keys | Signed, notarized Mac app |
Verify it yourself
The repo is open source. If you want to spot-check any claim on this page, clone it and grep.
For the dynamic-models handler: open Desktop/Sources/Chat/ACPBridge.swift and jump to line 1131. For the family labeler: open Desktop/Sources/FloatingControlBar/ShortcutSettings.swift.
What happens when Claude 5 or Mythos lands in the models array
The same dynamic-models path handles it. ShortcutSettings.swift has a catch-all at the bottom of its substring table that assigns an unrecognized family to sort order 99 and surfaces the raw API name. The app stays functional. A friendly label shows up in whichever release first ships a new row for the new family. If the next family is called, say, mythos, the table gets a fourth row, the label lands, and every existing user picks it up on the next relaunch. That is the whole upgrade path.
Number with a 1M context window currently available to 0% of Fazm users who pick Opus, since Opus 4.7 went GA on April 16.
Want to see the models_available path live?
Fifteen minutes, screen-shared, walking through the Swift handler and the CHANGELOG entries that produced this page.
Book a call →Questions about April 2026 Claude releases on Fazm
What did Anthropic actually ship in April 2026?
The headline release was Claude Opus 4.7, generally available on April 16, 2026 with a 1M context window and materially better long-horizon coding. Around that, Anthropic shipped Claude Design in research preview, Visualizations (inline charts and diagrams inside Claude responses), Claude Cowork GA on macOS and Windows, Claude Managed Agents in public beta, and the ant CLI for API work. Claude Opus 4.7 and Haiku 4.5 also rolled out to 27 AWS regions in Amazon Bedrock.
Why does Fazm have its own April 2026 release notes tied to Anthropic's?
Because Fazm is a consumer Mac app that runs every user query through a Claude agent via the Agent Client Protocol (ACP). When Anthropic changes model IDs, rolls out an SDK bump, or changes how credit-exhausted sessions surface, a downstream app has to react within days or users hit broken flows. Fazm shipped 9 versions in April 2026 (v2.0.1 on April 3 through v2.4.1 on April 22). Every one of them is in CHANGELOG.json at the root of the open-source repo.
How did Opus 4.7 appear in Fazm the day it went GA?
v2.4.0 on April 20 contains the relevant line: 'Available AI models now populate dynamically from the agent, so newly released Claude models appear without an app update.' Inside the app, the ACP bridge receives a models_available message from the agent at session start. That handler lives at ACPBridge.swift line 1131. The model IDs are substring-matched in ShortcutSettings.swift against a three-row family table (haiku, sonnet, opus) and the Smart / Fast / Scary label attaches to whatever the agent reports. When Anthropic started reporting claude-opus-4-7 on April 16, the table did not change. Only the ID did.
What bug did the partial models_available payload cause?
v2.4.1 on April 22 fixed 'model label showing Smart for Sonnet users when Anthropic reports a partial model list.' During rollout windows Anthropic's SDK occasionally reports only a subset of models (for example, Sonnet only, no Opus). The Fazm family labeler walked that short list and picked the highest-capability entry as Smart, which for a Sonnet-only payload was Sonnet. Users who had paid for Opus briefly saw a Sonnet model under the Smart label. The fix was to anchor Smart to the opus substring rather than the highest-ranked row in whatever list came back.
What protocol changes on the Claude side forced Fazm releases?
Two Agent Client Protocol bumps landed in April. v2.1.2 on April 7 upgraded ACP to v0.25.0 with improved error handling for credit exhaustion and rate limits, fixing a case where onboarding would silently fail when credits ran out. v2.4.0 on April 20 upgraded ACP to v0.29.2, which is also when the dynamic models_available list and custom MCP server support shipped. That is four minor-version jumps in 13 days.
What about the April 12 Claude Mythos preview - does Fazm support that?
Not yet. Claude Mythos (codename Capybara) is gated to security-researcher access in the April 7 preview and not yet surfaced through the ACP agent SDK Fazm runs on. When Anthropic reports it in the models_available payload with an identifiable family substring, the same dynamic-models path that picked up Opus 4.7 will pick it up. The table in ShortcutSettings.swift gets a fourth row and a new friendly label, no other code changes required.
Did Fazm users ever get downgraded to a worse Claude model without knowing?
Once, briefly, between v2.4.0 and v2.4.1. The 48-hour window on April 20-22 is the exact period when Anthropic's partial-models payload could make a Sonnet user see the Smart label under their Sonnet model. Nobody was forced onto a cheaper model. The labels just briefly drifted. v2.4.1 pinned Smart to the opus substring explicitly, so a payload that does not contain any opus model now shows Smart as unavailable rather than reassigning the label to whatever capable model is present.
Why does Fazm read the accessibility tree instead of screenshotting the screen?
Because a screenshot pipeline is fundamentally indifferent to Anthropic's release cadence - the bottleneck is the vision step, not the model. Fazm reads the real macOS accessibility tree (AXUIElement from the Accessibility API) for whatever app is under the cursor and hands that structured tree to the Claude model the user picked. The note on v1.5.0 on March 27 is specific: 'Screen capture and macOS automation now uses native accessibility APIs instead of browser screenshot.' A new Claude release immediately makes Fazm smarter because the context going into it is structured text, not re-OCR'd pixels.
What privacy language changed in April and why?
v2.3.2 on April 16 tightened the privacy language in onboarding and system prompts to say 'local-first' instead of 'nothing leaves your device.' The previous phrasing overstated the guarantee because a query that goes to a Claude model has to, by definition, reach Anthropic. The change is editorial, not architectural. Screen reads, accessibility trees, and file indexes still run on-device. What crosses the network is the model request itself. The same Claude privacy policy that governs a direct API call governs Fazm's calls.
Where can I read the raw changelog and source myself?
The full CHANGELOG.json lives in the Fazm repo at github.com/mediar-ai/fazm. Every April 2026 release is in that file with its ship date and bulleted change list. The ACP handling path starts at Desktop/Sources/Chat/ACPBridge.swift and the model family labeler is Desktop/Sources/FloatingControlBar/ShortcutSettings.swift. grep for modelFamilyMap, normalizeModelId, and models_available to trace the dynamic-models flow end to end.
More on the April 2026 cadence
Keep reading
How Opus 4.7 shipped to Fazm users with zero app updates
The three-row substring table inside Fazm that quietly rewired the model picker the same day Opus 4.7 went GA.
Anthropic Claude latest news April 2026
Claude Design, Cowork GA, Managed Agents, and the ant CLI, summarized from the downstream side.
Claude AI for macOS
How Claude actually runs on a Mac, accessibility APIs, and why screenshot automation is a dead end for desktop agents.