Asking for four options used to mean leaving the room. You sent the brief, the app moved you to a Variants screen, and the design you had been staring at — the one you were comparing everything against — was no longer on screen. Four cards sat there instead, filling in at their own pace, and the only way to know what any of them actually looked like was to open one and lose the others.
By the time all four finished you had lost the thread. Which one was the risky read? Which builder was still running? You picked from thumbnails, went back to the project, and found out what you had chosen afterwards.
What changed
Options now build on the stage you were already looking at. A strip under the result panel switches between Main and each option, and an option that is still building is watchable live — the preview serves its workspace and reloads as the builder writes to it.

How it works in practice
Watch an option build where the design already is
Pick a letter and the stage shows that option. While it is still building, its workspace is served from a /_lane/<name>/ route, so the preview reloads as files land rather than waiting for the run to finish. Main is always one key away — 0 for Main, 1–4 for the options, [ and ] to step along the strip.
A lane footer under the strip carries the parts you previously had to guess at: each option's status, its risk read, which builder model is running it, what it has spent and how long it has been going. Every option gets its own Stop, Retry, Promote and Refine, and the whole set gets a Discard.
See all four at once, at real size
All options renders every option simultaneously, scaled down from the real page rather than from a thumbnail, with scroll synced across them. Scrolling one scrolls all of them, which is the only way a four-way comparison of a long page is honest — you are always looking at the same band of the design in each.
Judge blind, then look openly
Compare still opens the blind Left/Right judge, and nothing about that changed: two options, no names, you pick. What is new is what happens after the decision. An open side-by-side view lets you put any two options — or an option against Main — next to each other, swap sides, drag a wipe slider between them, and flip to phone width.
Nothing in that open view is judged or recorded. It exists so you can go and understand a choice you already made, without the act of looking contaminating the comparison.
Options also stay letters everywhere until you decide. No option carries a name that could tilt the pick.
Decide, and the stage goes back to normal
Promote makes the option the project. The strip returns to Main, the star stays on the letter you picked so the record of the choice survives, and a snapshot keeps the previous state undoable. The Versions drawer lists past decisions as read-only records.
The standalone Variants screen and its top-bar button are gone. Old links still work — they open the project with the grid showing.
Ask for options on any turn, not just the first
The project composer's + menu now offers 2–4 options for a follow-up. Each option starts from your current design and changes only what its brief names, so a variant on turn six is a variation on what you have, not a fresh start that throws away five turns of work.

Both the Home chip and the composer state the run count before you commit ("≈ 5–8 runs"), and the Home chip seeds its count from your last pick for that template. Settings gains a Variants section for the default count, how many builders run in parallel, and which model the lanes use — a cheaper builder applies to every lane, and each lane shows which model actually ran it. On the free plan the variant budget is checked before anything starts, so you get the upgrade dialog up front instead of watching lanes fail one at a time.
Every turn says what it used
The other half of this release is that a run stops being opaque about its cost.
A per-turn line reads 318k tokens (241k cached) · $0.62 API-eq · 1m 52s, ticking while the turn runs, and opens into a breakdown by role — builder, plan, lane, critic, repair — and by model. The top bar carries the open design's running total, and each variant lane and each set carries its own.
The wording is deliberately careful about where a number came from. API-eq is the figure the CLI itself reported; on a subscription that counts against your plan, not your card. ~$0.41 (your rate) is an estimate from a rate you entered in Settings → Usage. No price table ships in the app, so nothing invents a dollar figure on your behalf.
Some CLIs report nothing. Amp, Devin, Cline, Hermes and Kiro don't, and the footer says so — "usage: not reported by
Spend lands in a project-local ledger at .1design/usage.jsonl, one row per run with its role. It survives app-data resets and travels with the project folder.
Before vs after
| Before v1.5.0 | Now | |
|---|---|---|
| Where options live | A separate Variants screen | A strip under the result panel |
| Watching one build | Wait for the card to finish | Live preview, reloads as files land |
| Comparing four | Open one, lose the others | All options, real scale, synced scroll |
| After the blind judge | The decision was the end of it | Open side-by-side, wipe, phone width |
| Knowing what a run cost | Nothing said | Per-turn tokens, cost and time, by role and model |
| A CLI that reports nothing | Looked the same as free | Says "usage: not reported" |
Also in 1.5.0
The design kit picked up an actual imagery pipeline. It now ships the primitives its craft rules always assumed — a ~60-symbol pictogram sprite, a vendored Lucide set that is searched rather than guessed at, and deterministic bar, line, stacked, dot and slope charts as inline SVG with real text and an enforced zero baseline. Generation and fetching are brokered: images come through your own MCP connection, or from exactly three free-licensed sources, and every raster has to answer to the gate for provenance, license and palette distance before it ships.
The Systems screen became a real management surface too — a filterable list with palette tiles beside a detail pane showing swatches, fonts, the DESIGN.md brief and files, with apply, duplicate and trash. Claude Design exports import straight in as packages.

And two honesty fixes worth naming. An agent claiming "the gate passes" over a gate that failed — or was never called — now gets contradicted in the conversation by the host. And a run dispatched externally no longer wears the wrong agent's name: the resolved runtime and model are stamped on the project before the turn dispatches.
Try it
Open a project, type a brief, and set the composer's + menu to three options. Then stay where you are and watch them build.
You will know which one you want before any of them finish.