Annotate any part of a reply, and miniapps that bring their own specialists
Quote and comment on an exact selection, clear unread anywhere with one action, and install packages that ship their own specialists and skills.
You can now reply to one exact sentence instead of a whole message, clear unread from anywhere in the sidebar, and install miniapp packages that bring their own specialists and skills with them.
Annotate any part of a reply
Select any settled text — yours or a specialist’s — and attach a comment to that exact selection. Short selections render inline as a quote; longer ones clamp with an expandable view. Annotations persist, appear in threads, and can be edited or deleted like any other message.
When you annotate a specialist’s reply and ask a follow-up, the specialist receives your selection as the thing you’re asking about, so you no longer have to paste a fragment back into the composer to point at it. The quoted text is treated as context, while your comment is the instruction — quoting someone can’t redirect who the reply goes to.
Mark as read, from anywhere
Mark as read is now a right-click action on individual channels and DMs, channel groups, project channels, whole projects, the workspace Channels and Projects rails, unread DM avatars, and whole workspace avatars. It only appears on rows that actually have something unread.
Bulk actions clear each room only up to what you’d actually seen, so a message that lands while the action is running stays unread instead of being silently swallowed. Thread mentions now also mark the channel unread in the sidebar, so an @you buried in a thread doesn’t go unnoticed.
Miniapp packages bring their own specialists
Installed packages can now ship their own specialists. They appear when the package is installed and disappear when it’s removed, as one atomic change rather than leaving orphaned entries behind. Packages can also ship agent skills the same way, and the specialist’s assets are verified before they load.
The Figma integration moved onto the Design File Viewer tool namespace as part of this, so it works against the file you have open instead of telling you to go open figma.com.
Elsewhere in miniapps: channel toolbar pins persist properly across profiles, custom installs can be scoped to a workspace, packages built against a different SDK version load with a clear host warning instead of failing opaquely, over-the-air updates land within seconds instead of on a slow poll, and a package that can’t be removed because it’s mid-maintenance now says so.
Voice calls hold together
Calls survive navigating around the app instead of dropping when you change channels. You can pick your input and output devices directly, session summaries are structured and readable, and the voice dock hides its expand control when there’s nothing to expand.
Big repositories finish indexing
Indexing a large project no longer runs unbounded. The structural graph is published first so code navigation is usable while the richer semantic pass is still running, and a partially-built index now reports which parts of it are complete rather than presenting itself as finished.
Workflows
A workflow whose workspace has no usable model configured now refuses the run up front with a clear reason, instead of starting and failing partway. An OpenRouter connection made through OAuth counts as your personal credential, transform nodes no longer interpolate configuration into generated code, and muting a workflow’s notifications now also silences its completion sounds.
Sign-in, profile, and account
A brief authentication hiccup no longer signs you out — the session rides through transient refresh outages. Sign-in also handles a wider range of identity-provider email claim formats.
On macOS, the app supports Security Code AutoFill, so a one-time code from Messages fills in automatically. Your personal profile loads consistently, and its Save button stays usable when the page refreshes in the background instead of going dead mid-edit.
Polish & fixes
Message whitespace and line breaks render as you wrote them. A specialist can no longer produce two response blocks for the same reply. Long channel names reserve space for the overflow menu instead of sliding under it, and the gap between a message and its reactions is back. The external-link confirmation is a full-app dialog rather than a panel-sized one, and screen sharing in Browser survives moving between channels.
Under the hood this release also folds in a round of performance work on message archives, snapshot handling, and sign-in, plus the platform Directory cutover that most of the above quietly depends on.