Specialist models that stick, and a phone-ready mobile app
Your specialist model choice is honored everywhere, owners get moderation tools, and the mobile app is rebuilt for phones.
The specialist model you pick now survives every route a message can take, workspace owners get real moderation tools, miniapps ask permission before they change what they can do, and the mobile app has been rebuilt to fit a phone.
Plan requirements say which plan they mean
When a capability needs a paid plan, the app now names the plan instead of just refusing. Bring-your-own-key providers, custom OpenAI-compatible endpoints, and shared workspace keys each say plainly that they are Basic features, and inviting teammates into shared channels is part of Starter. The workspace members screen was reworked around the same change, so adding, removing, and re-inviting people behaves consistently.
Your specialist model choice sticks
Choosing Claude Code, Codex, or Grok Build used to save correctly in settings and then get dropped before the specialist ran, so the reply came back from a different model than the one you picked. That choice now carries through explicit mentions, threads, automatic routing, and retries.
Saved personal and workspace model overrides are honored even when a specialist runs before the app has finished loading your settings, and a specialist’s detail page shows which models it falls back to when you clear an override. Managed Grok Build specialists ship as ready-made options for personal use, and a start-up timing problem that could leave a Grok session unusable is fixed.
Moderation tools for workspace owners
Owners and admins can now remove a message from any channel they can see, not just their own posts.
Removing a member also offers Remove and block email, which stops that address from rejoining through an invite, a pending invite, or domain auto-join — and there is a list of blocked addresses you can undo later. Blocks apply to one workspace only, so someone blocked here can still be invited elsewhere.
Miniapps ask before they change what they can do
When a miniapp you have linked locally changes the permissions it requests, you now get a review screen showing exactly which permission changed and what it changed from and to. The reload waits for your explicit confirmation, and grants for the changed permissions are cleared so you re-approve them deliberately. If the app changes again between your review and your confirmation, the confirmation is rejected. Background refreshes still refuse permission changes outright rather than guessing.
Package permissions also gained a master switch, so you can grant or revoke everything a package asks for at once instead of one row at a time, with a clear Some granted state in between. The individual switches stay for fine-grained control, and bulk changes leave other people’s and your specialists’ grants untouched.
Miniapps can now raise a system notification when a long job finishes. The app owns the title, icon, and sound, so a package cannot dress its notification up as something else, and your notification preferences still decide whether it appears at all.
A tidier miniapp launcher
Long app names wrap instead of being cut off mid-word, and channel pin controls moved into the corner of the tile they belong to instead of sitting in a permanent row below it — visible on hover or keyboard focus, always available on touch. Apps you have removed or disconnected now disappear from every launcher view instead of lingering as unavailable tiles.
The Discover tab explains that the app catalog is not published yet, rather than showing a raw server error with advice you cannot act on. If you build miniapps, the SDK’s Test Lab is more predictable too: browser errors are captured consistently, fixture state resets on remount, and permission denials are visible instead of silent.
A mobile app that fits a phone
Mobile was using desktop-sized chrome and linked only two of its own screens. Tasks, Specialists, Workflows, Knowledge, and Settings are now reachable from navigation, every control meets the standard touch-target minimum, the soft keyboard no longer strands dialogs off-screen, Settings opens as one consistent sheet that clears the Dynamic Island, and tapping the composer no longer force-zooms the page. Chat reclaimed a duplicated header bar, and Specialists no longer splits a phone screen three ways.
Two crashes are gone: the app no longer quits seconds after launch on iOS, and account and workspace Settings sections no longer drop you into an error screen. Custom notification sounds you upload now play on mobile instead of being silently blocked.
Writing and editing messages
Mentions survive a detour. Type a mention into a draft, switch channels, come back, and it is still a real mention rather than plain text — including drafts that mix mentions and links. Editing a long message now applies your change where your cursor actually is, and preserves the spacing and line breaks in the parts you did not touch.
Approving a tool a specialist asked to use no longer cancels the turn. Both allow-once and always-allow resume the work the specialist was in the middle of.
Choose once where links open
The confirmation that asks whether to open a link in the app or in your browser now has a Remember this choice checkbox. You can change your mind later under Preferences → Links, including exceptions for specific domains, and the preference follows you across workspaces and devices. On mobile, links open in your system browser.
Workflows
The palette is complete again. Nodes that run in a degraded mode — including the general-purpose model chat node — were being filtered out of the palette entirely, and any workflow containing one was blocked from starting. They are back and runnable.
The Runs panel now reads run state directly and distinguishes clearly between nothing selected, still loading, and no runs yet, instead of leaving stale results on screen when a read fails. Underneath, runs are coordinated by a single owner, so the same run cannot be started twice and an interrupted run stops cleanly instead of retrying in the background.
Project indexing finishes instead of hanging
A project that needs an optional language tool you do not have installed now finishes indexing in a clearly degraded state, with the missing coverage flagged, rather than sitting at “building” forever. Rust projects get their caller and callee relationships back on a freshly built index, and an index that genuinely cannot resolve relationships now reports itself as incomplete instead of as a clean result with no connections.
Polish & fixes
Workflow run history loads faster in workspaces with a lot of runs. Feedback on a specialist’s reply loads correctly again for new replies. This release also folds in a round of general performance and stability improvements.