Desktop builds from every branch. Check the branch and result, expand any commit notes, then choose a download.
Filters search the full history. Enter an exact branch name, or click a branch below.
About these downloads
Choose notarized macOS builds when available. Signed builds may still be awaiting notarization. Downloads are ZIP archives, retained for 14 days. Only installers uploaded after October 2, 2026 at 16:37 UTC are public. A failed build can still have a usable installer from a successful packaging job.
PR, commit, and log links open GitHub and may require repository access. Notes are the commit author's description.
459 matching builds · Page 2
Merge pull request #19 from selalipop/fix-upload-limit
The plan now says it is mostly built, what is still to come, and which option was taken for each
open decision, so the product owner can confirm or change them.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Let the person comment and sketch on the page for an agent
A Comment button with a speech-bubble icon, at the top of the agent toolbar and on C, drops a
comment wherever the person next presses on a design or canvas page. A click pins the spot and a
drag draws a sketch, and either way a composer opens right there, so they type what they mean
straight after pointing or drawing. It goes to the agent they follow, or the one most recently
working in the file, and they can pick another.
The agent reads where the pin or the stroke was, in the artboard's CSS pixels or the canvas
page's coordinates, and the layers or shapes under it, by name. Pins and sketches stay on the
page until the agent has seen the message, then a couple of minutes more. A selection on a canvas
page is now attached to messages from the toolbar too, as one on a design page already was.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Let agents ask questions with a review, and hear when it is done
An agent presenting work for review can ask up to six questions, each with choices to pick one
or several of, and every question takes a written answer too. The review bar grows into a panel
that names the asking agent with its avatar, has a card for each question, a multi-line note and
Send review, and keeps drafts while the file is open. A waiting request shows as a count on the
asking agent's avatar, and its composer opens it.
While reviewing, each mark the person draws gets a note field where the stroke ends, so they can
say what it means while it is fresh. Marks are numbered in the order they were drawn, and each
shows its number and note as the agent will see them.
When a review is finished, by the person or another of their agents, the agent that asked hears
of it with its next call, so it no longer has to poll get_review or ask to be messaged. get_review
lists the answers question by question. An agent's review now also keeps the presenter's undo
from deleting the reviewed artboards, as the person's already did.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Tidy up agent naming, setup timing and people's avatar colours
The hidden agent window's code moves from src/agent/ to src/agent-window/, matching main, so
src/agents/ is plainly the person's own interface for their agents. The registry's record of an
agent working in a file becomes FileConnection, apart from the access connection's
AgentConnection. The setup checklist's animation timing lives with the checklist rather than in
the canvas's feel, and people's avatars take the same colour as their cursors.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Following an agent, from its composer or the chip of an agent out of view, keeps the person's
view on its work: it glides to keep what the agent reads or edits in sight, changes page with
it, and opens another file once the agent starts editing there. It waits out quick reads and
moves at most a few times a second, so it feels like a camera rather than a strobe. Following a
conversation's owner shows whichever of its helpers last started editing, holding on one for a
moment so helpers working at once don't bounce the view.
A border in the agent's colour and a bar above the tool dock say whose work the view follows.
The person's own wheel, press, key or change of page ends it, as do Escape and Stop. Following
never starts by itself, and without it an agent's work still never moves the person's view.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Show where each agent is working with its own live cursor
Every call an agent makes in a file now says where it is aimed as it starts, reading the layers,
shapes or page its input names, and where its changes landed once they reach the server. The
person's window draws each agent as a Figma-style cursor in the agent's colour, with its jazzicon
and name, gliding on a soft spring to the layer it is reading or editing, on design and canvas
pages alike. An agent working out of view shows as a chip at the edge of the canvas nearest it,
and a status that names layers points the cursor there too.
Washes over changed layers now take the agent's colour, and the single shared name tag over them
is gone, since each cursor carries its name. People's cursors on canvas pages move on the same
spring instead of an 80 ms linear step.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Put the person's agents in a floating toolbar they can write to
The agents now float at the right edge of the canvas, by conversation, each as its jazzicon with
a ring that turns while it works and a dot while it waits for the person. Its grip drags it to
the left edge. The Agents button moves from the sidebar header to the foot of the toolbar.
Clicking an agent opens a composer. A message is about whatever the person has selected unless
they leave it out, and goes to the agent that owns the conversation, saying which agent it was
written to. The thread shows each message as waiting until the agent's next call, then when it
was seen, and one still waiting can be taken back. When the owner has gone quiet, the composer
says why, and Copy for chat gives the message with its layer links to paste into the agent's chat.
The tool dock's drag code now takes any set of edges, so both docks share it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Let agents name themselves, join conversations and hear from the person between calls
Agents now pick their own id, such as checkout-cart-summary, instead of carrying a random one
they lose when their context is compacted. start_agent's resume carries on as an existing agent,
a taken id gets a number after it, and conversation puts a subagent beside the agent that briefed
it. Each conversation gets one of ten colour themes, Jazz first, and each agent a jazzicon drawn
from its theme, shown wherever agents are listed.
Every call now passes through one place in the tool server. It refuses unknown agents, shows the
person which agent is busy, and adds anything waiting for the agent after the reply: a message
from the person, or an image that finished after its call returned. These wait in each agent's
log in the agents database, and wait_for_person holds a call open until something arrives.
Also fixes the agents list going missing when an agent had more than 16 files open, agents from
before a restart not showing until one of them made a call, and a done status making an agent
that carried on working look idle. Agent ids are hashed before they reach telemetry, since they
now name the person's work.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Let a component be defined anywhere in written HTML, not only at the top
A model's first kit was a sheet laying out several components inside a section, which is what
the guide asks for, and every definition in it was refused for not being top-level. Each of
their bindings was then refused again as being outside a definition, so three mistakes read
as fourteen. A definition can now sit anywhere outside another definition: the layers around
it go in first, it becomes a component in place, and what was inside it is written into the
definition. A refused definition still counts as one for what is inside it, so one mistake is
reported once.
DRA-577
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Tell agents why component structure matters to whoever builds from the design
People and agents read a design through read_html and inspect_component, where an instance
shows as its component with named props and slots, which maps straight onto a component in
code. The guide now says so: the components topic opens with why structure is part of the
deliverable and how to name props, and the introduction, building-screens and design-direction
point back to it.
DRA-577
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Point agents at components wherever they plan repeated content
The agent guide explained components only in topics agents often skip, and building-screens
suggested duplicating cards, which leaves copies that change one at a time. The introduction
now names components and says to define repeated parts once. building-screens says repeated
content is a component even in a mockup, that a script should print instances rather than
markup, to use the file's tokens instead of constants, and how agents splitting work share a
kit of components. design-direction adds why a mockup is no exception.
DRA-577
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Let agents define components, slots and prop bindings in write_html markup
Agents could only place instances from HTML, so anything that repeated ended up printed by
helper functions in a script instead of becoming a component. Now an element marked
data-define-component becomes a component in the same write, through the same step as making a
component from a layer, with an instance where it was. Inside a definition, data-slot marks a
slot and data-bind-text, -visible, -style and -prop say which prop drives each layer. A prop
that doesn't exist yet is made, starting on what the markup shows.
read_html writes the same marks back, so a definition read, edited and written again keeps its
props, bindings and slots. Pasting in place of layers now frees their slot names first, so a
rewritten slot keeps its name instead of being renamed. The html and components guide topics
show agents how to build a kit of components first and then the screens.
DRA-577
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Wait for the layer menu to close before opening the Image menu in a spec
The "without a gateway key" generate spec pressed Escape on the layer
menu and opened the tool panel's Image menu straight away. The layer
menu also offers Place image…, and while it was still fading out the
spec found two of them and failed. Under load this happened often
enough to look like a flaky test. It now waits for the menu to close,
as the Artboard tool spec does.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Sort the desktop main process's files into topic folders (DRA-576)
apps/desktop/src/main/desktop had 43 files side by side. They now sit with what they are
about: backend (the clients that talk to the server), close (closing windows and the app),
window (a window's role, chrome and session), versions (version previews), ipc (what windows
call into main), disk (alongside the existing disk helpers) and files (the file list, the
local copies of files and the files a person has open). The folder keeps only the wiring:
services, runtime, errors, the edit menu and the content hash.
Files only moved. Their contents are unchanged apart from import paths, and the build entry
for the version preview worker follows its file.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Draw once, not twice, when what a component follows from the file changes (DRA-575)
A component following a value from the file drew a second time whenever
the value was made afresh, as on mounting or when the selection or page
it reads changed: tldraw's useValue notes when the value last changed
before working it out, so the value looked changed as soon as React
committed. The workspace now follows a value made from the selection, so
this showed up as an extra draw of the whole window on each pick, drop,
undo and page switch. Working the value out before handing it over
spares the second draw.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Follow the file from the panels, and hold a style panel's layers in one hook (DRA-574)
The inspector, theme panel, assets and image library, and the font
pickers inside them, read the file while they draw. They looked right
only because the whole workspace drew again after every edit, which is
about to stop. Each panel root now follows the file's revision itself,
as a transition that React draws after the frame showing the edit
(useFileRevision), and keeps reading the file as it draws. A panel in a
tab in the background waits until the tab is shown.
A style panel held, refreshed and re-captured the layers it writes to in
three hand-written copies (the style editor, the multi-layer editor and
the typography section), and in the first two a layout effect with no
list of dependencies took up new layers after every draw. One hook,
useStyleTarget, does it, and the effects are gone.
Also drops a colour check nothing called, and the last parameter of
layerThemeId, which nothing passed.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Split the workspace by concern and tell the person things in one place (DRA-573)
The workspace was one 1,400-line component with about fifty hooks. It now
gates on the file's status first, then renders a loaded workspace built
from obviously named parts: the sidebar, the inspector panel, the
workspace's dialogs, the keymap, page navigation and the canvas's writes.
Because the gate comes before any hook, the parts no longer carry
"loaded" checks and nullable stores.
Notices live behind one provider. Anything in the window calls
useNotify() to show a problem, report a failure, ring a short message,
offer an Undo or note a restore, instead of an onError prop passed down
through the inspector, layers, assets and canvas in two shapes. The three
Undo offers share one slot, since only the latest step can be undone,
and the toasts are drawn from a table. One timed-offer hook replaces the
timer code the Undo, restore and made-icon offers each kept.
The selection is kept to what the file still shows by a subscription to
the file and the view, rather than a layout effect after a render-time
read. A layer deleted from several picked leaves the selection for good,
so undoing the deletion, someone else's included, doesn't pick it again.
A component deleted while it's open closes the same way, and a rename
ends when its layer goes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>