Field notes, May 2026

LLM updates and announcements in 2026, read through three lines of code a desktop wrapper had to touch

Every roundup of 2026 LLM news ranks the announcements on benchmarks. This one is the same list with one extra column: did the wrapper on top of these models have to ship a new release, or did the regex, the env var, and the dynamic model emitter already absorb it. The dates are public. The wrapper-layer notes come from a shipping macOS app and the three files inside it that do most of the work.

M
Matthew Diakonov
11 min read

Direct answer (verified 2026-05-14)

Through May 2026, the LLM update cycle has three clusters. Anthropic: Claude Opus 4.6 (Feb 5), Claude Sonnet 4.6 (Feb 17), Mythos preview via Project Glasswing (Apr 7), redesigned Claude Code desktop app (Apr 15), Claude Opus 4.7 GA (Apr 16); Amazon committed another $5B and up to $20B more on Apr 20 with a paired $100B AWS commitment; Google added up to $40B and 5GW of dedicated TPU on Apr 24. ACP SDK churned from 0.25.0 (Apr 7) through 0.29.2 (Apr 20) to 0.33.1 (May). OpenAI: GPT-6 generally available, GPT-5.5 previewed as the agentic step. Open weights and challengers: DeepSeek V4 Flash and V4 Pro at a reported ~$5.2M training spend, Alibaba’s Qwen 3.5-Omni handling 10+ hours of audio and 400s of 720p video per turn, Google’s Gemma 4 family under Apache 2.0 with the 31B Dense out front on intelligence-per-parameter, and Meta’s Muse Spark as the first proprietary frontier model from Alexandr Wang’s Superintelligence Labs.

Authoritative sources: anthropic.com/news, code.claude.com/docs/en/changelog, anthropics/claude-code CHANGELOG, huggingface.co/deepseek-ai.

The three places in one wrapper’s source where every 2026 LLM update lands

A wrapper on top of Claude Code and Codex sits in front of every model announcement of the year. The interesting question is not which model wins on a leaderboard. It is which ones forced the wrapper to ship a new build. After tracking the 2026 announcements against the repo, the answer is that most did not, because the variability is parked in three places that already cover the common cases.

  1. Place 1

    A one-line regex that decides Claude vs Codex routing

    The very first thing the bridge does on a new query is check whether the requested model ID matches a regex. If it matches, the call is routed to the codex-acp adapter. If not, the call falls through to the @agentclientprotocol/claude-agent-acp adapter. The whole branch is one line of source, and it covers any future gpt-, codex-, or o-prefixed model without a code change.

  2. Place 2

    An AppStorage key that points the SDK at any Anthropic-compatible gateway

    A single TextField in the settings page binds to customApiEndpoint at Desktop/Sources/MainWindow/Pages/SettingsPage.swift line 885. When the user enters a URL there, the bridge sets the ANTHROPIC_BASE_URL env var on the spawned ACP subprocess at Desktop/Sources/Chat/ACPBridge.swift lines 379 to 382. The SDK respects the env var, so every /v1/messages call from the agent then targets the user’s gateway instead of api.anthropic.com. That gateway can be Bedrock, Vertex, GitHub Copilot, or a local bridge that translates Anthropic-shaped calls to DeepSeek V4, Qwen 3.5-Omni, or Gemma 4.

  3. Place 3

    A dynamic models emitter that picks up new IDs from the ACP SDK

    The picker in the chat header is not driven by a hard-coded array. The function emitModelsIfChanged in acp-bridge/src/index.ts around line 2362 reads availableModels from the SDK’s session/new response, filters out the “default” pseudo-model, and emits a models_available message to the Swift host. When Anthropic adds an ID server-side (Opus 4.7 on Apr 16 is a clean example), the next session opens with the new model already in the dropdown, with no app-side release.

The regex, verbatim

This is the entire branch point. If a 2026 announcement of a new gpt-, codex-, or o-prefixed model lands, the wrapper handles it without touching any other file.

acp-bridge/src/codex-query.ts and acp-bridge/src/index.ts

What each 2026 announcement looked like on the wrapper side

The list below covers the events that either moved the agent loop a wrapper ships against, or moved the lane a wrapper sits in. Capital announcements are included because they shape the supply side and the gateway story (which is now first-class in Claude Code). Executive interviews and fundraising leaks are not on the list.

  1. Feb 5, 2026Anthropic, Model GA

    Claude Opus 4.6 generally available

    First major release of the year. $5 / $25 per Mtok cost line, the same one Opus 4.7 inherited in April. For a wrapper reading availableModels from the SDK, the new ID appeared in the picker on the next session/new. For a wrapper with hard-coded defaults, it was a one-line bump.

    Cost on the wrapper side: no code release if availableModels is dynamic; one-line bump otherwise

  2. Feb 17, 2026Anthropic, Model GA

    Claude Sonnet 4.6 generally available

    Became the day-to-day default for tool-heavy agent loops on a Pro or Max subscription. Most desktop wrappers still pin this as their everyday default in May. In the Fazm source it shows up as the string literal claude-sonnet-4-6 in acp-bridge/src/index.ts line 2336 and on the Swift side in the session config at Desktop/Sources/Providers/ChatProvider.swift.

    Cost on the wrapper side: one default-model constant change; the picker auto-detects the new ID

  3. Apr 7, 2026Anthropic, Preview + SDK

    Mythos preview via Project Glasswing, ACP SDK 0.25.0

    Anthropic announced a gated cybersecurity preview of Claude Mythos for 11 partner orgs (Amazon, Apple, Microsoft, Nvidia named), with preview pricing of $25 / $125 per Mtok. Same day, @agentclientprotocol/claude-agent-acp shipped 0.25.0, the first of three SDK bumps in two weeks. For desktop wrappers Mythos is a watch-list item; the SDK bump is what shipped that day.

    Cost on the wrapper side: SDK bump release; Mythos itself stays off the picker

  4. Apr 15, 2026Anthropic, Product

    Redesigned Claude Code desktop app

    Anthropic shipped a redesigned Claude Code desktop app with a parallel-sessions sidebar, drag-and-drop workspace layout, integrated terminal and file editor, faster diffs, expanded previews, SSH support on Mac, and full plugin parity with the CLI. Anthropic now competes with every host that wrapped Claude Code for the same workflow. The wrappers stop being a coverage play and start being a reach play.

    Cost on the wrapper side: no SDK release; a positioning rewrite on every wrapper landing page

  5. Apr 16, 2026Anthropic, Model GA

    Claude Opus 4.7 generally available

    Opus 4.7 went GA at the same $5 / $25 cost line as Opus 4.6, with better long-run agentic behavior and high-resolution image understanding. For a wrapper that reads available models from session/new (which is the May default once ANTHROPIC_BASE_URL is set), the new ID showed up in the dropdown automatically. For a wrapper with hard-coded defaults, this was a one-line bump.

    Cost on the wrapper side: no code release for the dynamic picker; one-line bump for hard-coded defaults

  6. Apr 20, 2026Anthropic, Capital + SDK

    Amazon $5B + up to $20B, $100B AWS commitment, ACP SDK 0.29.2

    Amazon committed another $5B of equity with up to $20B more tied to commercial milestones, paired with a $100B Anthropic commitment to AWS over ten years and up to 5GW of new capacity to train and run Claude. Same day, @agentclientprotocol/claude-agent-acp shipped 0.29.2. The capital number is the headline; the SDK bump is what wrappers actually shipped against.

    Cost on the wrapper side: SDK bump release; gateway-routed defaults start landing in the changelog

  7. Apr 24, 2026Anthropic, Capital

    Google up to $40B, 5GW dedicated TPU

    Google committed up to $40B in cash and compute on the same week, lifting the post-money valuation to roughly $350B and reserving 5GW of dedicated TPU. Combined with the Amazon deal, that places roughly 10GW of training and inference power on the supply side under one tenant. The visible end of this for a Mac developer is the slow normalization of gateway routing as the default path.

    Cost on the wrapper side: no immediate release; informs the gateway-first defaults shipping through May

  8. Spring 2026OpenAI, Model

    GPT-6 GA and GPT-5.5 agentic preview

    OpenAI shipped GPT-6 as the next mainline model and previewed GPT-5.5 as the agentic step. Both IDs start with gpt-, so they match the CODEX_MODEL_PATTERN regex at acp-bridge/src/codex-query.ts line 67. A user selecting either model from the picker routes through the @zed-industries/codex-acp adapter (pinned at ^0.14.0) rather than the Claude-ACP path. The wrapper does not need a code change.

    Cost on the wrapper side: no wrapper release; the regex already covers the prefix

  9. April 2026Open weights, Models

    DeepSeek V4, Qwen 3.5-Omni, Gemma 4, Muse Spark

    Inside one month, the open-weights and challenger side stacked four heavyweight releases. DeepSeek V4 Flash and V4 Pro at a reported ~$5.2M training spend; Alibaba's Qwen 3.5-Omni accepting 10+ hours of audio and 400 seconds of 720p video per turn; Google's Gemma 4 family under Apache 2.0, 31B Dense leading on intelligence-per-parameter; Meta's Muse Spark out of Alexandr Wang's Superintelligence Labs as the first proprietary frontier model from that group.

    Cost on the wrapper side: no wrapper release; reachable through the customApiEndpoint TextField + a user-run bridge

  10. Late Apr - May, 2026Anthropic, Product surface

    Claude Code env vars, slash commands, picker

    A steady drip of small developer-surface changes. ANTHROPIC_BEDROCK_SERVICE_TIER (default, flex, priority) for Bedrock tiering. ANTHROPIC_WORKSPACE_ID for workload identity federation. CLAUDE_CODE_PLUGIN_PREFER_HTTPS to clone plugin sources over HTTPS. /tui to switch to flicker-free rendering, claude project purge to delete all Claude Code state for a project, /resume now finds a session by pasting a PR URL into its search box. None of these are model news; all of them touch the daily workflow.

    Cost on the wrapper side: no wrapper release; the env vars are passed through to the spawned subprocess

  11. Mid May, 2026Anthropic, SDK

    @agentclientprotocol/claude-agent-acp at the 0.33 line

    By mid May, current Mac wrappers on top of Claude Code are pinned to the 0.33 line of the ACP package. In the Fazm repo this is the version declared in acp-bridge/package.json: "@agentclientprotocol/claude-agent-acp": "^0.33.1". The session/fork RPC, the rate_limit_event forwarding, and the compactBoundary status updates are all surfaces a host has direct access to at this version. The official desktop app does not expose any of these as end-user buttons yet, even though they are in the same SDK.

    Cost on the wrapper side: SDK bump release; fork button and rate-limit forwarding wired end-to-end

The 2026 model surface, grouped by vendor

Three families of models accumulated through the first five months of 2026. Anthropic stayed on the Opus / Sonnet / Haiku / Mythos cadence. OpenAI moved the gpt- and o- family forward. Open weights pulled within reach of the closed leaders on specific axes (intelligence-per-parameter for Gemma 4, multimodal capacity for Qwen 3.5-Omni, training cost efficiency for DeepSeek V4). Every entry below is a model the wrapper can route to today through the three places above.

Anthropic, 2026

Claude family, plus the Mythos preview

Opus 4.6

Feb 5, 2026. $5 / $25 per Mtok. Default Opus for the first part of the year.

Sonnet 4.6

Feb 17, 2026. Everyday default for tool-heavy turns on Pro / Max plans.

Opus 4.7

Apr 16, 2026 GA. Same $5 / $25 cost line, better long-run agentic behavior.

Mythos (preview)

Apr 7, 2026 via Project Glasswing, 11 partner orgs. $25 / $125 preview pricing.

OpenAI, 2026

Routed by the gpt- / codex- / o- regex

GPT-6

Generally available in April 2026. Picked up by the codex- / gpt- / o-prefix regex.

GPT-5.5 (preview)

Agentic preview from OpenAI in spring 2026. Same routing path as GPT-6.

Open weights and challengers, 2026

Reachable via the customApiEndpoint TextField

DeepSeek V4

Flash and Pro variants in April 2026, reported ~$5.2M training spend.

Qwen 3.5-Omni

Alibaba, omnimodal: 10+ hours of audio, 400s of 720p video per turn.

Gemma 4

Google, Apache 2.0. 31B Dense leads on intelligence-per-parameter.

Muse Spark

Meta. First proprietary frontier model out of Superintelligence Labs.

How a new model ID actually reaches the chat header

The flow below is what happens when Anthropic or any compatible gateway publishes a new model ID server-side. The wrapper never restarts, and no app release is needed. The picker simply has a new entry the next time a session is opened.

Dynamic model discovery, 2026

1

User opens chat

ACP bridge spawns subprocess

2

session/new

SDK responds with availableModels

3

emitModelsIfChanged

filters out default, emits models_available

4

Swift host receives

ChatProvider rebuilds picker state

5

Dropdown updates

new model ID selectable, no release

^0.33.1

"@agentclientprotocol/claude-agent-acp": "^0.33.1", "@zed-industries/codex-acp": "^0.14.0", pinned in acp-bridge/package.json. Three SDK bumps absorbed over five weeks of 2026 LLM announcements.

Fazm repo, acp-bridge/package.json, May 2026

The one announcement that actually moved the lane

Reading the year by impact on a wrapper builder, the redesigned Claude Code desktop app on Apr 15 is the one that mattered most. Before it, hosts on top of Claude Code (Zed, Fazm, hand-rolled wrappers) were filling the UI gap Anthropic had not addressed itself: session management, multi-window state, a chat surface for a CLI tool, a way to run several agents at once. After it, Anthropic was in the same lane, and the wrappers had to be clearer about what they did that the official app did not.

The honest answer is that the official desktop app and an ACP-based wrapper aim at different things. The official app is the cleanest first choice for terminal-shaped Claude Code work: parallel runs, plugins, an integrated editor, SSH on Mac, file diffs, streaming responses. A wrapper takes the same agent loop and runs it outside the developer workflow, through macOS accessibility APIs rather than screenshots, so the same agent that just touched your code keeps going in the browser, in Mail, in Calendar, in Numbers. That is reach the official app does not aim for. The 2026 announcement stack made the boundary between those two answers sharper, not the other way around.

What I am watching through the rest of 2026

  • Mythos general availability and how the price drops from preview ($25 / $125 per Mtok) once the gated cohort expands. Even at half that, it stays a high-value run only.
  • How the ACP SDK shape changes once gateway-routed Anthropic-compatible endpoints become the default expectation rather than a side door. The 0.33 line is already further down that path than 0.25.0 was.
  • Whether OpenAI ships its own agentic protocol parity with ACP, or whether the codex-acp adapter stays the cleanest in-process bridge for gpt-, codex-, and o-models on Mac.
  • How Qwen 3.5-Omni’s multimodal capacity gets exposed through Anthropic-shaped bridges. Most of the open-weights bridges in May 2026 still drop the audio and video channels when translating to /v1/messages.
  • Whether the official Claude Code desktop app ever exposes the SDK’s session/fork RPC or compactBoundary status events as end-user buttons. As of May 2026 it does not, even though they have been in the SDK since spring.

Want a walkthrough of the wrapper layer behind all of this?

A short call covering the three source locations, the model picker behavior, and what a custom gateway setup actually looks like end to end.

Frequently asked questions

What were the main LLM updates and announcements in 2026, by vendor, through May?

Anthropic shipped Claude Opus 4.6 (Feb 5), Claude Sonnet 4.6 (Feb 17), Claude Opus 4.7 GA (Apr 16), the Mythos preview via Project Glasswing to 11 partner orgs (Apr 7), the redesigned Claude Code desktop app (Apr 15) with parallel sessions, integrated editor, plugin parity and SSH on Mac, and a sequence of @agentclientprotocol/claude-agent-acp SDK bumps from 0.25.0 (Apr 7) through 0.29.2 (Apr 20) to 0.33.1 (May). On the OpenAI side: GPT-6 generally available and GPT-5.5 previewed as an agentic step. On the open-weights and challenger side: DeepSeek V4 Flash and V4 Pro at a reported ~$5.2M training spend, Alibaba's Qwen 3.5-Omni accepting over ten hours of audio and 400 seconds of 720p video per turn, Google's Gemma 4 family under Apache 2.0 with the 31B Dense leading on intelligence-per-parameter, and Meta's Muse Spark as the first proprietary frontier model from Alexandr Wang's Superintelligence Labs. Two large capital events (Amazon adding $5B and committing up to $20B more, paired with a $100B Anthropic commitment to AWS, on Apr 20; Google up to $40B and 5GW of dedicated TPU on Apr 24) reset the supply side for the rest of the year.

Which 2026 LLM announcement was actually the biggest for someone building a desktop wrapper?

The redesigned Claude Code desktop app on Apr 15. Until then, every host on top of Claude Code (Zed, Fazm, hand-rolled wrappers) was filling a UI gap Anthropic had not addressed itself. Once Anthropic shipped a desktop app with a session sidebar, drag-and-drop layout, integrated terminal and file editor, plugin parity, SSH on Mac, and streaming responses, every wrapper had to be clearer about what it does that the official app does not. The model GAs (Opus 4.7, Sonnet 4.6) and the capital deals are bigger headlines, but they do not move what you ship next on top of the CLI. The wrapper lane became reach-beyond-the-terminal rather than fill-the-UI-gap.

Out of all the 2026 announcements, which ones forced Fazm to ship a release, and which ones did not?

Anthropic SDK bumps forced releases (0.25.0 → 0.29.2 → 0.33.1, each one a small Anthropic surface change). Behavior on long agentic runs forced small tuning releases. Most model GAs did not. Opus 4.7 on Apr 16 showed up in the model picker the next time the user opened the dropdown, because the picker reads from the ACP SDK's session/new response (filtered through emitModelsIfChanged in acp-bridge/src/index.ts around line 2362) rather than from a hard-coded constant. GPT-6 and any future gpt-, codex-, or o-prefixed model is routed by a one-line regex in acp-bridge/src/codex-query.ts (line 67) to the codex-acp adapter, so a new OpenAI model is one settings-field change away rather than a code change. Routing to any Anthropic-compatible gateway (a local DeepSeek V4 or Qwen 3.5-Omni bridge, a corporate proxy, GitHub Copilot's gateway) is gated by a single AppStorage TextField at Desktop/Sources/MainWindow/Pages/SettingsPage.swift line 885. The 2026 lesson on the client side is that most LLM announcements should not need a code release, and the cheapest way to make that true is to put the variability behind a regex, an env var, and a TextField.

What is the one regex that decides whether a 2026 model ID routes to Claude or to Codex?

It is exactly this in acp-bridge/src/codex-query.ts line 67: const CODEX_MODEL_PATTERN = /^(gpt-|codex-|o[0-9]-?)/i;. The isCodexModel() helper at line 69 of the same file calls .test() against the incoming msg.model. In acp-bridge/src/index.ts line 2647, the very first thing handleQuery does is check isCodexModel(msg.model) and forward to handleCodexQuery if it returns true. Otherwise the call falls through to the Claude-ACP path. Any 2026 announcement of a gpt-7, gpt-5.5, codex-2, or o4 family model is auto-handled because the model ID matches the regex. No new code, no new switch statement, no extra release.

What about open-weights models like DeepSeek V4, Qwen 3.5-Omni, or Gemma 4, can a wrapper reach those in 2026?

Yes, but with one external dependency the user brings themselves. A bridge that speaks the Anthropic /v1/messages protocol and translates to whichever model the user actually wants (LiteLLM's Anthropic-compatible mode, the claude-anthropic-proxy family, and several model-specific projects on GitHub do this). In Fazm the path is: drop the bridge's URL into the Custom API Endpoint TextField at Desktop/Sources/MainWindow/Pages/SettingsPage.swift line 885. That value is read by ACPBridge.swift around lines 379 to 382, which sets the ANTHROPIC_BASE_URL env var on the spawned ACP subprocess. From the agent's point of view, nothing changed. From the model's point of view, traffic is now served by whatever process is listening on the user's local bridge. Caveats matter: bridges differ in how faithfully they convert Anthropic tool-use blocks to OpenAI tool-call schemas, and quality drops sharply between Sonnet-class behavior and smaller open weights when chaining 40+ tool steps.

Did the Amazon and Google capital deals in April 2026 actually move anything a wrapper builder ships against?

Indirectly. The visible end of the Apr 20 Amazon deal and the Apr 24 Google deal is the slow normalization of gateway routes as first-class, not the back door. The May Claude Code changelog adding ANTHROPIC_BEDROCK_SERVICE_TIER (default, flex, priority), ANTHROPIC_WORKSPACE_ID (workload identity federation), and CLAUDE_CODE_PLUGIN_PREFER_HTTPS, plus the new /model picker reading available models dynamically from any Anthropic-compatible /v1/models endpoint when ANTHROPIC_BASE_URL is set, all flow from the same supply-side bet. The capital number is the headline; the env-var and picker changes are what a wrapper actually wires up.

Is the official Claude Code desktop app the same thing as a third-party wrapper now?

No, but the gap is narrower than it was in February. The official app is the cleanest first choice for terminal-shaped Claude Code work: parallel runs, plugins, an integrated editor, SSH on Mac, file diffs, streaming responses. A wrapper on top of the same agent loop via ACP takes the loop outside the developer workflow. The same agent that just touched your code keeps running in the browser, in Mail, in Calendar, in Numbers, through macOS accessibility APIs rather than screenshots. The two answers do not really overlap, which is why both keep shipping.

What about Claude Mythos, did it ship in 2026?

Not generally available as of May 2026. Mythos was previewed on Apr 7 under Project Glasswing, a gated cybersecurity program with 11 partner orgs (Amazon, Apple, Microsoft, Nvidia were among those named). The published preview pricing is $25 per million input tokens and $125 per million output tokens, roughly five times Opus 4.7 on both sides. For a desktop wrapper Mythos is a watch-list item rather than a shipping target: the price point implies it is for high-value agent runs (security audits, deep code review) rather than the average tool-using turn.

Where is the authoritative source for each 2026 LLM update if I want to verify dates myself?

For Anthropic: anthropic.com/news for the model and capital announcements, code.claude.com/docs/en/changelog for Claude Code CLI and desktop app changes, and github.com/anthropics/claude-code/blob/main/CHANGELOG.md mirrors the same content under version tags. For the ACP SDK: the @agentclientprotocol/claude-agent-acp package on npm shows the bump history, and the upstream agent-client-protocol repo at github.com/zed-industries/agent-client-protocol is the authoritative spec source (the protocol is owned by Zed, not Anthropic). For OpenAI: openai.com/index has the GPT-6 and GPT-5.5 release notes. For open weights: huggingface.co/deepseek-ai, huggingface.co/Qwen, and huggingface.co/google host the actual weights and model cards.

What part of all of this does Fazm specifically lean on day to day?

Three small surfaces. First, the regex at acp-bridge/src/codex-query.ts line 67 keeps the Claude and Codex routing on autopilot. Second, the customApiEndpoint AppStorage key at SettingsPage.swift line 885 keeps gateway-routed traffic (Bedrock, Vertex, GitHub Copilot, a local bridge) a settings change rather than a code change. Third, the emitModelsIfChanged function in acp-bridge/src/index.ts around line 2362 keeps the model picker in sync with whatever the ACP SDK reports as available, so a new Anthropic model ID shows up the next time a session is started rather than the next time the app ships. The current ACP pin is @agentclientprotocol/claude-agent-acp ^0.33.1, and the codex-acp pin is @zed-industries/codex-acp ^0.14.0, both declared in acp-bridge/package.json.

How did this page land for you?

React to reveal totals

Comments ()

Leave a comment to see what others are saying.

Public and anonymous. No signup.