Release, day zero
Anthropic’s new model in April 2026, from inside a shipping Mac app
Claude Opus 4.7 landed on April 22, 2026. Fazm users picked it up the same afternoon without downloading a new build. This page is about the three rows of Swift code that make that possible, and why the picker still says “Smart” instead of the model ID.
The release, in one paragraph
Anthropic shipped Claude Opus 4.7 to general availability in April 2026 at the same $5 input and $25 output per million tokens as Opus 4.6. Alongside it came Claude Mythos (codename Capybara), gated behind Project Glasswing and restricted to about 50 partner organizations. A third product, Claude Design, launched inside Claude Apps as a Labs tool. For most users the headline is simple. Opus 4.7 is the new ceiling that public API keys and the Claude Code SDK can reach today. Mythos is not for you yet.
Most guides for this keyword stop there. This one does not. The interesting question for a consumer app builder is not “what is 4.7?” It is “how does 4.7 reach users who installed my app three weeks ago?” That is where the 3-row substring match lives.
The anchor fact
The entire family map is 0 rows
Fazm’s model picker does not hold a list of known Claude models. It holds a list of three substrings: haiku, sonnet, opus. Any model ID the ACP bridge reports gets run through these three rows. If the substring matches, the ID keeps working and the label becomes Scary, Fast, or Smart. That is the whole system.
Here is the code, exactly as it ships
The file is Desktop/Sources/FloatingControlBar/ShortcutSettings.swift. Two pieces matter. The first is the family map, a single static constant. The second is updateModels, which the ACP bridge calls every time a session opens.
That is it. When claude-opus-4-7-20260422 arrives for the first time, line 5 runs .contains("opus"), matches the third row, and the menu gets a new option labeled “Smart (Opus, latest)”. The user’s previously saved selection still points at the real model ID the bridge gave it, so sends keep working.
How a new Claude model actually reaches a user on their Mac
Opus 4.7 release, day zero
Four hops. Three of them live inside Fazm. The only network hop is Claude Code asking Anthropic what the user can see. No Fazm server sits in the middle, no GitHub release is cut, no Sparkle feed is refreshed. If the user already had Fazm open, the bar rebuilds the next time it opens an AI conversation.
The walkthrough, from session/new to the picker
Anthropic flips Opus 4.7 on
At some point on April 22, 2026, the model shows up inside the Claude Code SDK for accounts on the right plan. This is the only event Fazm cannot control.
acp-bridge opens a session
When a user asks Fazm something, the Node subprocess at acp-bridge/src/index.ts calls session/new. The response includes models.availableModels, scoped to the user's plan.
emitModelsIfChanged dedupes and emits
At index.ts:1271 the bridge filters the sentinel default model, compares the serialized JSON against lastEmittedModelsJson, and only emits if the set changed. On a release day this is where the new model appears for the first time.
ChatProvider forwards to Swift
acpBridge.setModelsAvailableHandler in ChatProvider.swift wakes up on every models_available event, switches to @MainActor, and hands the list to ShortcutSettings.shared.updateModels.
The substring map relabels
ShortcutSettings runs the 3-row family map. Opus 4.7 becomes Smart (Opus, latest), shortLabel Smart. Any unknown family falls back to the API name at order 99.
SwiftUI re-renders the picker
availableModels is @Published, so the floating bar picker and the SettingsPage picker both update without manual refresh. The user never downloads a new binary.
What the bridge actually logs when Opus 4.7 first appears
Every bridge event writes to /private/tmp/fazm-dev.log. Here is what the log looks like the first time a user opens Fazm after Anthropic ships the new model. The two lines that matter are the raw list from the SDK and the relabeled set emitted upward.
Two rows claim the label “Smart (Opus, latest)” because both 4.6 and 4.7 match on the opus substring. This is on purpose. Fazm exposes one Opus entry to the user and keeps the newest as the actual selection. The short label stays “Smart” regardless of version, which is the whole point.
Why the menu says Smart, not Opus 4.7
Fazm’s non-developer users do not have model opinions. They have task opinions. A parent editing a school form wants a good answer, not a comparison between Sonnet and Opus. The three family labels are deliberately written in the user’s language, not Anthropic’s.
Scary
Family: Haiku
Fastest. The label is a nudge, the model is good enough to be a little unsettling when it answers in under a second.
Fast
Family: Sonnet
Default for the floating bar. Almost every flow inside the Fazm codebase is pinned to “claude-sonnet-4-6” at the source level, because it is the sweet spot for quality and latency.
Smart
Family: Opus
For hard prompts and long-running agent work. As of April 22, 2026, this is Opus 4.7 for users on plans that reached GA. Same label, new ceiling.
“Fazm did not ship a release the day Anthropic shipped Opus 4.7. The picker updated itself.”
Release log, April 22, 2026
A typical Mac AI app vs. Fazm’s model plumbing
| Feature | Typical Mac AI app | Fazm |
|---|---|---|
| Day a new Claude model ships | Planned for next release | Available the same session |
| How the model list is built | Hardcoded enum in a settings file | Dynamic, from session/new response |
| Version numbers shown to user | Full model ID, e.g. claude-opus-4-7-20260422 | Family label: Scary / Fast / Smart |
| Code needed to support a new Opus | Add the ID, add label, cut build, notarize | Zero lines. Substring map already matches |
| Fallback for a renamed family | Model missing from menu until next release | Shows raw API name at order 99, still selectable |
| Works with apps beyond the browser | Browser extension or Chromium-only | Any app, via macOS accessibility APIs |
| Developer framework or consumer product | Developer framework with configs | Consumer app, no config, no API keys |
What Opus 4.7 actually changes on day zero inside Fazm
The Smart button got stronger
Long-running tasks that used to stall on Opus 4.6 now finish. Think multi-step refactors across files, multi-app workflows on the Mac that cross Calendar, Mail, and a third app, and agent work that holds state across 10+ turns.
Pricing didn't move
Opus 4.7 ships at the same $5 input / $25 output per million tokens as Opus 4.6. Users on Pro or Max plans see it for free. API-key users pay the same as before.
Vision improved
For screen-grounded tasks Fazm uses the accessibility tree, not screenshots, so vision mostly does not matter. But for the occasional image drop it is visibly sharper.
Mythos is not here
Mythos sits behind Project Glasswing. Fazm would pick it up the same way as Opus 4.7 if it ever ships publicly, through the family map, but today it does not.
Labels stay the same
The picker still says Scary / Fast / Smart. The user did not get a version number pushed at them. They got a better Smart.
How to verify this on your own Mac
Two ways. If you have Fazm installed, check the log and the picker state directly. If you want the code, the family map is a dozen lines in a public Swift file.
The cost of day-zero, in rows of code
These are not marketing numbers. They are literal counts from the source. The family map is three rows. Adding a new family (if Anthropic ever ships one that is not Haiku / Sonnet / Opus) is a one-line edit to one file. Until then there is nothing to do.
The bigger point: Fazm is not a developer framework
There is a category of Mac apps that wrap an LLM, expose the model picker as a developer-facing dropdown, and ask the user to read release notes. That is not Fazm. Fazm is a consumer app. The model picker is a vibe picker. The automation engine uses real macOS accessibility APIs and real app context, not screenshots, so it can drive Calendar, Mail, Figma, Notion, or any native app you have installed, not just a Chromium tab.
The day-zero trick here is less about Anthropic’s release cadence and more about an architectural choice: do not hardcode model lists, do not ship version numbers to users, and do not make a release on someone else’s schedule. Three rows of Swift got us the whole thing.
See Opus 4.7 drive your Mac, live
Thirty minutes. We'll open Fazm on a screen share and run the new Smart model against your own workflow.
Book a call →Frequently asked questions
What is Anthropic's new model for April 2026?
The headline release is Claude Opus 4.7, which went generally available at the same $5 / $25 per million tokens pricing as Opus 4.6, with stronger software engineering, better vision, and more reliable long-running agent work. Anthropic also unveiled Claude Mythos (internal codename Capybara) through Project Glasswing, a gated early-access program limited to roughly 50 partner organizations. There is no public availability for Mythos. A third release, Claude Design, launched inside Claude Apps as a Labs tool for prototypes and slides, but it is a product on top of the existing models, not a new model.
When does a new Claude model become available inside Fazm?
The same day Anthropic flips it on for the underlying Claude Code SDK that Fazm's ACP bridge talks to. Fazm does not hardcode a list of model IDs. On each session/new call, the ACP SDK returns the list of models the user's auth has access to, the bridge forwards it via a models_available event, and the Swift app rebuilds its picker. There is no app update, no setting, and no user action. If Anthropic ships the model, users of Fazm see it next time the floating bar opens.
Why does Fazm's model picker say Scary, Fast, and Smart instead of the actual model names?
Because Fazm is a consumer Mac app, not a developer console. The target user is a writer, a PM, or a founder who has never heard of Haiku, Sonnet, or Opus. Exposing claude-opus-4-7-20260422 would leak an implementation detail. Instead, Fazm keeps a 3-row family map in Desktop/Sources/FloatingControlBar/ShortcutSettings.swift that substring-matches on the model ID: haiku becomes Scary, sonnet becomes Fast, opus becomes Smart. The user picks a vibe, Fazm picks the model.
Does Fazm support Opus 4.7 specifically?
Yes, on day zero. Fazm did not ship a new build for Opus 4.7. When the ACP session reports a model ID containing the substring opus, the family map relabels it Smart (Opus, latest) in the menu, and the user's saved selection keeps working through the normalizeModelId function. The same code path covers Opus 4.8, 4.9, 5.0, or any future rename as long as Anthropic keeps the family word in the ID.
How does Fazm know which models the user has access to?
The acp-bridge subprocess calls session/new against Claude Code, which returns a models.availableModels array scoped to the user's authenticated plan. The bridge filters out the sentinel default model, dedupes against the last emitted list, and sends a models_available event up to the Swift app. The Swift side calls ShortcutSettings.updateModels, which runs the family-map match and updates the @Published availableModels property. SwiftUI re-renders the picker automatically.
What happens if Anthropic renames the model families, for example drops the word Opus?
Fazm's picker falls back to the raw model name. The third branch of updateModels handles an unknown family by reusing the API name directly and sorting it to the end of the list. The app does not crash, the user sees the new name, and the team ships a new build with an updated family map. This is a graceful degradation path, not a breaking failure.
Is Claude Mythos available through Fazm?
No. Mythos is distributed only to the small set of partner orgs inside Project Glasswing and there is no public API or plan that grants access. Per Anthropic's own description, Mythos can identify and exploit software vulnerabilities with high accuracy, which is why the rollout is gated. If Anthropic does open Mythos GA, Fazm would pick it up the same way it picked up Opus 4.7, through the substring family map, with no release required.
Why does this matter for non-developers?
Because the shipping gap between a model release and a normal user being able to use it is where most AI apps lose trust. A new Claude model drops on Tuesday, a developer framework sees it the same day, but a consumer desktop app has to cut a new build, code-sign it, notarize it, push it through Sparkle auto-update, and hope users restart. Fazm collapses that path to zero. The model arrives when Anthropic says it arrives, relabeled in language the user understands.