Skip to content

Voice channels, live captions, and remote workflow runs

Talk in channels with live captions, run workflows remotely, and give miniapps printing, docking, and a sign-in that survives upgrades.

You can talk in a channel now. Voice sessions bring live captions into the conversation, and the transcript stays in the channel afterwards. Workflows gained a second place to run — remote infrastructure, with progress reported back into the app — and miniapps grew a printing capability, configurable docking, and a sign-in that survives upgrades. New workspaces open with a welcome checklist instead of a blank page.

Voice channels, with live captions

Start a voice session in a channel and talk. A compact dock shows who is in the call, highlights whoever is speaking, and pages through the roster when there are more participants than fit. Speech is transcribed as it happens in the language you have set for voice capture, with each segment attributed to the person who said it, so the channel keeps a readable record of the conversation after the call ends.

Transcription is decoupled from the call itself. If captioning degrades or drops, you keep talking — the failure surfaces as a warning rather than ending anyone’s audio, and captioning recovers on its own. Long stretches of speech are broken into bounded segments so a single utterance can’t run away, and only audio that was actually processed is metered.

Once a session ends, its thread stops accepting replies and says so, rather than quietly swallowing messages sent to a call that is over.

Workflows run on remote infrastructure

A workflow you author on your desktop can now execute remotely, with live progress reported back into the app. Runs are checkpointed at each node boundary, prompts that need an answer survive being handed between machines, and a run that is interrupted resumes from its last checkpoint instead of starting over. Only one runner can own a run at a time, so a workflow can’t be executed twice by two machines that both think they hold it.

Publishing improved alongside it. Workflow definitions are validated when you connect nodes rather than only when you run, a rejected parent no longer corrupts the state of its children, and preflight checks are bound to the run that will actually execute.

A workflow editor that tells you what is missing

Saving a workflow with required node configuration left blank used to succeed, then fail at run time with nothing on the canvas to indicate why. Nodes that still need configuration now carry a Needs setup badge, and the toolbar counts how many are outstanding — distinct from the neutral field-count chip, which looked identical whether required fields were filled or empty. Saving stays permissive; the incompleteness is just visible now. Editor state is also scoped to the draft you are editing, so switching drafts no longer carries the previous one’s state along.

A welcome checklist for new workspaces

A new workspace opens with a short checklist above the home cards instead of a blank canvas. Creators are prompted to message Chloe, create a task, choose a plan, and invite their team; invited members get a list suited to joining an existing workspace. Items complete themselves as you actually do the work rather than needing to be ticked off, a one-time coach mark points out where Chloe lives, and you can dismiss the card and bring it back later from Preferences → Resume onboarding. Workspaces that already existed are not opted in retroactively.

Tasks get their own worktree

Tasks now run in a platform-managed worktree with a predictable branch name, so parallel work does not collide in a single checkout. Task execution also survives interruption — a crash or a switch to another device picks the task back up rather than losing it.

Separately, a local folder you add to a project is now a first-class worktree source. Enabling worktrees on a local repository used to be blocked behind a misleading “Clone a repository first” message even when you had added a perfectly real git repository from disk.

Miniapps can print, dock where you want, and stay signed in

Miniapps gained a printing capability for receipt printers. The app offers bounded printer discovery, the paper profiles it supports, and readiness checks, and the miniapp picks which available printer and receipt format to use — it never gets raw device access. Placement is configurable: pop out a miniapp or dock it left, right, or on top, and each conversation remembers both the placement and the size you chose for it.

Sign-in inside a miniapp now persists across app upgrades, and across both its standalone and in-channel surfaces, while staying isolated between accounts, workspaces, and packages. Approved network destinations no longer prompt you a second time once reviewed, though credential-backed and unreviewed requests still ask. Visual extensions converted from other formats can render their own bundled runtime and fonts. The Zephyr Cloud dashboard is now available as a full-page miniapp with a persistent sign-in of its own, and miniapps can be surfaced inside a code editor panel.

Installing and managing miniapps

Miniapps are generally available and no longer behind a flag. Install intent for marketplace, npm, and Zephyr packages is stored in your profile and reconciles across your devices — only the package coordinates sync, so registry credentials stay on the machine that holds them, and npm packages resolve through your local registry configuration, including GitHub Packages and other private registries. Workspace owners and admins can mark a miniapp as Default or Required; defaults stay dismissible per person, required apps cannot be removed by members. ZIP and local-directory installs stay device-only, since there is nothing portable to reconcile.

Day-to-day management is steadier: installed apps that need permissions show a setup prompt instead of failing silently, app settings are reliably reachable, obsolete cached files are cleaned up, credential grants you have already given are honored, and stale presentation state for managed apps is reconciled. Discovery no longer requires a Zephyr organization, project, or command-line setup, and a free install stays usable rather than expiring shortly after you add it. The public catalog itself is not published yet, so Discover has nothing to list for the moment — but when it cannot reach the catalog it now says so in plain language instead of surfacing a raw server response.

If you build miniapps, the SDK’s Test Lab gained in-app tests that drive a real miniapp, hardened capability contracts, and better diagnostics, plus a versioned terminal contract you can feature-detect ahead of the runtimes landing.

Specialists work together

Specialists can now coordinate with each other. Mentioning several in one message dispatches them concurrently, so a slow first responder no longer blocks the rest, and a specialist can hand off to a peer across multiple turns while Chloe stays the coordinator for the room. Specialist-authored mentions used to render correctly and then fail at execution; they work now.

Miniapp Builder joins the bundled specialists, taught the current miniapp SDK, with routes for building from scratch, converting a website, iterating visually, validating, and deploying. Managed Grok Build specialists arrive with their own account and app boundary and execute turns over their native protocol. Cancelling a specialist mid-turn now reliably stops it and hands ownership back, routing corrections you make by hand are remembered, and the retrieval behind automatic routing moved to a stronger embedding model.

Automatic routing is also opt-out per person. If you would rather specialists only answer when you name them, you can turn off having them picked for you without changing anyone else’s setting.

Notifications and integrations

Notification sounds are yours to choose. Eight bundled presets map to message acknowledgements, channel mentions, workflow completion, and blocked-agent alerts, each of which can be enabled, previewed, and assigned individually — and you can supply your own audio file, which stays on the device you added it to while your built-in choices follow your account.

Webhooks can post structured messages into a channel using a widely supported block format — headers, sections, fields, dividers, images, and actions — instead of a raw JSON preview. Tools that cannot sign their requests can authenticate with a static header token, and the verifier options you are shown now match what you are actually setting up.

Chat fixes

Every channel was crashing to the error screen. A regression in the composer caused an endless render loop that took out the entire conversation view; that is fixed.

Attachment images no longer break once their links expire — expired links refresh automatically, and the refresh path is hardened against repeat failures. Mention suggestions now include your workspace members, the composer placeholder reflects whether you can mention anyone at all, thread drafts stay attached to their own thread, and channels that had been renamed or aliased resolve to one identity. Long file-write results from a specialist stay collapsed rather than flooding the transcript.

Recovering from a bad launch

If the app fails during startup, it no longer traps you in a crash loop with no way out. A native prompt offers Try Again, Reset Local Data, or Quit — and a reset moves your app data aside into a timestamped backup rather than deleting it, then relaunches. Restarts triggered by an update are recognized as intentional, so they don’t produce a false crash prompt, and an installed update no longer hangs at “Restarting”.

Code understanding in more languages

Call relationships are back for TypeScript, Python, and Go, and Go calls within the same package resolve correctly. Files that contain no symbols count as indexed instead of leaving an index permanently unfinished, index caches are kept outside your repository so they don’t pollute your working tree, and shared project graphs are authorized before they are published.

Usage, devices, and activity

Every usage event is now explicitly tied to a workspace rather than inferred from your organization or account, so usage cannot cross a workspace boundary, and the usage tab gained hourly windows. Model names resolve to the right provider identifier when costs are recorded.

Connected devices lists everything signed in to your account, and lets you rename a device, sign out of one remotely, or revoke one you no longer trust — signing in again on a revoked device brings it back. A private personal activity view rolls up your own chat activity, specialist token use, workflow runs, and task movement into 15, 30, and 60 minute buckets, visible only to you.

Polish & fixes

Settings uses one consistent panel layout, and getting back to the app from settings works again. Private channels are marked more clearly, and the mention count badge was removed from channel sidebar rows. The loading skeleton stays inside the message column, and conversations fill the window height. Computer use is noticeably faster and no longer stalls on an unresponsive window. Checking whether a provider key is stored no longer reads the secret itself. Startup and workspace loading are lighter after a round of bundle and query work, and voice audio takes a leaner path through the app. An unfinished chat entry point was hidden until it is ready.