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 17
Merge branch 'worktree-wf_820af359-56f-4' into claude/dra-314-311-309-313-e7ff78
The window gets the whole list of agents (name, latest status, last call and the files they have
open) and hears every change, so nothing polls. It also hears where an agent's change landed, for the
flash, without anything being broadcast to the file's room. Main has no agents to report yet.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Main and the agent window agree on what they will ask each other for agent work
Before an agent reads or edits a file, the agent window opens a connection through main, which then
hands out tokens only for that connection's file until it closes. The window can also ask main to
keep recovery copies, save a version, rank layers or judge review marks, and it reports where an
agent's change landed and that a slow call is still working. Main can ask the window to picture an
artboard for the person's image-prompt suggestion. Until both sides are built, these answer plainly
that agents can't do this yet.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Merge branch 'worktree-agent-adecc81c0b91f06e9' into claude/dra-314-311-309-313-e7ff78
People see an action's refusal beside the field it is about, so the message no longer starts with the
field's path; agents still get the field named separately.
Every action that takes the instances a layer was edited through now refuses a list that doesn't
show the layer. The window always names the instances it drew, so such a list can only be a
mistake, and editing on regardless would change the component for every instance.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Agent tools get a typed contract, separate from the code that runs them
A tool's contract is its name, description, input and kind, and can be read by main, which lists
the tools. Its kind sets the hints clients use, so only tools that delete or reach outside Draftly
look like they need the person's go-ahead. Every call names its agent, and every call that touches a
file names the file. Tools reply with text and pictures only, since clients drop one or the other
when a reply also has a structured result.
In the agent window a tool works on one agent's connection to one file, which runs actions as that
agent, keeps that agent's own undo, saves versions and draws artboards.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Edits get one typed path: named actions with checked inputs, run in one undo step (DRA-309)
An action is a contract (a namespaced name, a category, and plain-JSON input and result schemas)
plus an implementation that declares what it needs from the window it runs in. Ids in inputs and
results are branded, so a page id can't stand in for a layer id. Contracts can be imported by the
main process; implementations only run in a window.
run, runStep and their non-waiting forms always take the same steps: check the input, check the
caller may write (for a person, that their page is still there), finish any open draft, run any slow
preparation, write everything as one undo step on the caller's own session, then tell listeners.
Errors come back as a typed result whose code survives to whatever shows it.
The window side gives the pipeline its session, its CSS checks, the design page an edit names, and
the canvas editor it has mounted.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
The agent connection speaks MCP 2026-07-28 as well as older versions, and keeps nothing per connection (DRA-314)
The MCP server moves to version 2 of the MCP library. Each request builds its own server from the
credential checked for that request, so there are no sessions to run out of, time out or evict:
Claude Code connects with 2026-07-28, and Codex with 2025-06-18, on the same endpoint.
Host, Origin and the credential are still checked on every request, and at most 16 calls run at
once. A call counts until its reply has finished, since older clients get theirs as a stream; the
stream newer clients keep open for change notices doesn't count as a call. A call that runs past
ten minutes, or is still running when the app closes, is answered with an error and its tool is
cancelled.
generate_image is always listed and says plainly when image generation isn't set up, so every
request sees the same tools. Tests and proofs use the version 2 client, in both protocol eras.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Codex shows its own logo on the agents page instead of a plain letter
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Undo taking back an image still uploading on a canvas page stops its upload too, so closing no longer asks about an image nobody sees being added (DRA-284)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
Undo taking back an image still uploading on a canvas page stops its upload too, so closing no longer asks about an image nobody sees being added (DRA-284)
Pressed one after another, the second paste used to arrive while Layers was still moving the keys to the first paste's row and was silently dropped. The keys are sent the way a person's queue up while the app is busy, so the second one reaches the app before the next frame.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
The clipboard proof presses Mod+V twice without waiting in between, with the keys in Layers, and expects both pastes to land (DRA-285)
Pressed one after another, the second paste used to arrive while Layers was still moving the keys to the first paste's row and was silently dropped. The keys are sent the way a person's queue up while the app is busy, so the second one reaches the app before the next frame.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No public downloads available for this build.
The open_workstream description no longer says a script such as Japanese fits fewer characters (DRA-251)