Your AI chat now follows you across devices
Send a message from your desktop, then open the same project on your phone — you'll now see the AI's response streaming in live, no refresh needed. Previously, a run in progress on one device was invisible everywhere else until you manually reloaded the page.
The fix runs on a lightweight background poller that checks whether a run is already active for your project, and reconnects to its live stream if so. Getting this right took a few iterations — an early version had a real race condition where rapid poll ticks could both try to reconnect to the same run at once, briefly duplicating the AI's reply. That's fixed with a synchronous in-flight guard and a shared dedup set, so a run can only ever be streamed into once per browser tab, no matter how many devices or ticks are involved. Your own prompt now shows up on the other device too, not just the AI's answer.
No more truncated tool output
When the AI read a long file, the log dropdown used to show only the first couple thousand characters — the rest was silently cut off. The AI itself was never affected by this (it always saw the full file in its own context), but you were stuck squinting at a partial view. That cap is gone: the full output of every read, gather, cmd, and tool call now reaches the UI.
Tokens-per-second on every turn
Pipeline turns now show a live t/s figure next to the token counts and cost, matching what the regular AI chat already displayed. It's computed from OpenRouter's own reported generation time, so it reflects the actual model speed for that turn — and while it's calculating (which can take a few seconds), you'll see a small spinner instead of the row just not appearing.
Images now work in pipeline chat
Attaching or pasting an image and sending it while the pipeline/Agento system is handling your chat now actually reaches the model — previously the image silently never made it into the request. Along the way we also fixed a duplicate-send bug where clicking Send several times while an image was still uploading could fire off two or three copies of the same message; a synchronous guard now stops that.
Voice input is always Whisper now
The microphone button used to prefer your browser's built-in speech recognition when available, only falling back to the server-side Whisper model for browsers that don't support it. That's inconsistent across browsers and operating systems, and sends your audio to whatever speech service the browser itself happens to be configured with. Every recording now goes through the same Whisper endpoint, every time.
The agent won't act until you answer
One of the sharper reliability fixes this round: if the AI's response includes a question for you, none of its tool calls in that same response execute anymore — no files written, no commands run, nothing read or gathered — until you actually answer. Previously the agent could ask a question and simultaneously act on an assumption in the same breath, which defeats the point of asking in the first place.
Sub-agent replies stopped fragmenting
When a sub-agent runs alongside the main agent, both stream text concurrently — and their chunks land interleaved. That used to cause a strange effect where every single word could show up as its own separate message bubble, since each stream only ever checked "is the very last message mine?" to decide whether to append or start fresh. Now each stream correctly finds and continues its own bubble even when the other stream's text lands in between, while still starting a genuinely new bubble whenever an actual tool card (a file write, a search, a read) happens in the middle — so the conversation reads in the right order again, not as a wall of fragments.
Subscription-only models, done right
Admins can now mark specific AI models as subscription-only from the AI Models page — a dedicated toggle and a clear "👑 Subscription" badge. These models stay visible to everyone in the model picker (so free users know what's available if they upgrade), but clicking one as a free-tier user opens a proper "Subscription Required" prompt instead of running it — and instead of a generic credits modal, which was the first pass and wasn't quite right. The restriction is enforced on the backend too, not just hidden in the dropdown, so it can't be bypassed by going around the UI.
Smaller fixes worth knowing about
- Light theme code blocks: code preview cards (Write, Edit, Cmd, tool results) were rendering black text on a black background in light theme — now the whole block correctly flips light/dark with your theme, the same way the rest of the IDE does.
- Empty project publishing: publishing a brand-new project with no files yet used to show a raw, ugly file listing on the live URL. It now shows the proper "This project has no files yet — ask the AI to build something" page, exactly like the in-editor preview already did.
- Quieter server logs: the background sync poller was filling up server logs with a check every couple of seconds even when nothing was happening. That's now silent unless there's something worth logging.
Everything at a glance
| Area | Before | After |
|---|---|---|
| Multi-device chat | Invisible on other devices until refresh | Streams live everywhere within ~2 seconds, no duplicates |
| Tool output logs | Capped at ~2,000 characters | Full output, always |
| Turn performance | Cost and tokens only | + tokens-per-second, with a loading state |
| Images in pipeline chat | Silently dropped | Reach the model correctly, no duplicate sends |
| Voice input | Browser speech API when available | Always server-side Whisper |
| Questions from the AI | Could act while asking | Waits for your answer before touching anything |
| Sub-agent streaming | Fragmented into single-word bubbles | Reads as one continuous, correctly ordered reply |
| Subscription models | Not supported | Visible with a badge, blocked and enforced server-side |
| Light theme code blocks | Black text on black background | Correctly themed |
| Empty project publish | Raw file listing | Proper "no files yet" page |
All of it is live now — nothing to configure or turn on.
Related: Full transparency in your AI pipeline · Total control over your AI agent · AI Browser Agent — browse, click, and screenshot real websites