All notable changes to Open Claude Design are documented here. Releases follow semantic versioning and are generated from conventional commits.
1.7.0 (2026-10-09)
- Experimental native Claude Design artifact access from every supported coding agent, without installing Claude Code or invoking a model. Dedicated
login --backend artifactstores a separate subscription credential; existing standalone and Claude Code logins stay independent. artifacts list,types,create,inspect,files,authoring-context,pull,push, andpreview. Creation uses a retained UUID idempotency key. Private Design text writes carry the reviewed artifact version and per-file SHA-256 conditions, preserve omitted/runtime files, and verify exact published bytes. New artboards require their canvas index.artifacts sync review,apply,finish, and offlinestatus. Reviews retain immutable snapshots, bind approval to local/remote revisions and the login identity, require reconciliation for both-side changes, consume unknown writes without retrying, and advance baselines only after verification. To-code handoffs preserve production files for the agent's approved implementation.
- Agent guidance prefers native artifacts for new Claude Design requests and routes existing standalone links to the existing backend. README documents the experimental scope, separate authentication, actual preview evidence, migration boundaries, and unsupported artifact operations.
- Artifact status and capabilities now authenticate against the live contract and distinguish implemented workflows from server capabilities. This replaces v1.6's offline unsupported response.
- Live Max-account checks covered private creation, first publication, conditional updates, file readback, browser canvas rendering, and both sync directions. Artifact file operations use no model inference; a profile-only OAuth grant was refused. The working grant uses profile, inference, and session scopes.
- The frame protocol is not a documented public SDK and may change upstream. Free access and other plan/organization combinations are unverified. Artifact preview performs source checks, not rendering. Binary upload, public writes, deletion, sharing, comments, design-system administration, and organization-wide migration are outside this release's scope.
1.6.0 (2026-10-09)
- Offline
migration statusandmigration resolvecommands distinguish standalone projects from Claude artifact URLs.migration checkreads one standalone inventory and reports preservation limits while leaving migration eligibility to Anthropic's checker. export --include-historypreserves project metadata, chats, and comments alongside files in a private ZIP. It redacts known credentials and render capabilities, verifies files and history again before saving, and refuses incomplete transcripts or observed concurrent changes.
- Status and capabilities identify the standalone backend and its announced December 14, 2026 closure. Selecting
--backend artifactreturns an explicit unsupported result without authentication. Project helpers accept standalone URLs and reject artifact URLs instead of passing them to the standalone service. - Agent guidance describes the organization-wide migration, separate original and migrated copies, and preservation before closure. Artifact authoring remains unimplemented pending a verified portable interface.
1.5.0 (2026-10-05)
project live <project-id> [--open]returns the project's?embed=1window, built from the URLget_projectreturns. Claude Design refreshes it on every write, so the user can watch a design land while the agent works. Read-only.- Validation now enforces the editor contract that Claude Design's live authoring prompt states. A template hole must be a dotted lookup or a literal (
{{ count + 1 }}fails silently at render), a component mounts throughdc-importrather than a capitalized tag, and every non-void element inside the template closes explicitly.pushrefuses a Design Component that breaks any of these. - Non-blocking
warningsfor a control-flow or import element placed directly underdeck-stage,scrollIntoView, and a design withouta/a:hovercolors. Validation also reportseditor_overridesandcomment_anchors, so an agent implementing a design in code applies the rules the user made by direct editing.
--openonpreview,push,planned-call, andsync applynow opens the durableclaude.ai/designeditor link. It used to open the short-lived render URL, which carries a project-scoped token, stays in browser history, and stops working minutes later.
pushno longer refuses files Claude Design writes itself. A static Design Component without a logic script, a logic script markedtype="text/plain", and self-closing SVG children such as<path/>are all accepted. A check of 87 Design Components across live projects now reports no false refusals.- Pushed SVG, JPEG, and WebP files verify again. Claude Design adds C2PA provenance on read and re-serializes SVG on write, so readback reported
verified: falsefor files that had landed intact. Raster files are now compared after removing exactly one provenance block against the stored byte count (readback: exact). SVG is compared as canonical XML without the embedded manifest (readback: svg-equivalent). Anything ambiguous still fails closed. - The tool-workflows reference now says that
create_projectwithoutdesign_system_idbinds the organization default design system, and thatproject bind --clearremoves it.
1.4.1 (2026-10-01)
- Pages written below the project root were reported as verified although Claude Design's editor never lists them. The Pages menu shows only root-level
.htmland.dc.htmlfiles, so a page pushed to a folder rendered by direct link, passed readback and the durable-preview check, and left the user with an empty Pages menu and a blank canvas.push,planned-call(copy_files, including every leaf of a folder copy, andcreate_support_js),sync reviewandsync applyto design, and generic calls of newly advertised file-writing tools now refuse a nested page before any remote call and name the root path to use.--allow-nested-pageis the explicit opt-out for a page the user wants kept out of the menu. - Every verification preview now reports
page_listed. A written nested page makesverification.verifiedfalse (exit2) withnested_pagesand the root path to use, unless the opt-out was given, in which case verification passes with awarning.previewon a nested page stays read-only but returnspage_listed: falseand a warning. - The tool-workflows reference told agents that root-level and nested
.dc.htmlpaths were equally complete and not to flatten a design to make it visible. It now states the rule: pages at the project root, assets in subfolders.
project pages <project-id>is a read-only audit that lists listed and nested pages, a suggested root path for each nested page (folder-prefixed when the plain name is taken), and whether rootsupport.jsexists. It exits2when any page is nested.
1.4.0 (2026-09-30)
- First-party API access through the existing scoped login: native design-system creation, complete typed inventory, publication/unpublication, preview-card registration/removal, organization-default management, project renaming, binding inspection and replacement (including multiple systems), and guarded whole-project deletion.
- Original text and binary transfers up to 16 MiB, 32 MiB write/sync batches, and revision-checked project ZIP exports up to 128 MiB with a checksum manifest. Read-added PNG provenance is reconciled against original size/revision metadata; ambiguous reconstruction fails closed.
- Portable HTML structure, JavaScript syntax, declared-resource, and API preview-delivery checks without browser control. Validation reports that JavaScript/layout execution remains outside these checks.
- Read-only batches sharing one MCP session/catalog, bounded transient-read retries, automatic single-binding authoring context, and local serialization of temporary project grants.
- The pinned skills adapter is updated to 1.7.0. All-agent checks cover all 79 supported identifiers (77 global integrations; Eve and PromptScript require project scope), using bounded parallel verification.
- Partial/windowed file responses can no longer be saved as full files, sync snapshots, or deletion backups.
- Folder copies require a complete source-leaf etag map before planning; nested conflicts and missing copied leaves cannot report verified success.
- Binary writes and synchronization require complete original-byte readback. Large and binary to-code sync reuses revision-checked immutable snapshots.
- Complete project discovery supplies the required type filter for each native API inventory instead of issuing an invalid unfiltered request.
- Non-editable Design Component structure and invalid logic-script syntax are rejected before a write. Preview verification checks the actual API-issued response and reports its precise scope.
- Collaboration guidance follows current destructive annotations, and standalone versus in-conversation Design availability and settings are distinguished.
- New metadata grants require explicit acknowledgement, are revoked and checked after success or failure, and preserve pre-existing grants. Organization defaults update only the reviewed default field; sharing restrictions remain untouched.
- File mutations retain atomic server etag protection. Metadata preflight/readback checks and local locks do not claim cross-device atomicity.
- Browser-only artifact migration/sharing and native PDF/PPTX/Google Slides export are not advertised as supported APIs. Design-system compilation remains distinct from publication.
1.3.1 (2026-09-18)
- The design-system guidance no longer treats
list_design_systemsas a complete inventory. It can omit design-system projects the user owns, andlist_projectscarries no type, so agents confirm a named system withget_projectbefore reporting that it does not exist. install.sh --helpinstalled the CLI and then forwarded--helpto the skill installer, which printed its help, exited 0, and installed nothing while the installer reported "installed and verified". Help is now answered before any step runs, and the installer reports success only when the skill step returns an install result.
1.3.0 (2026-09-18)
- The design-system skill can package an extracted system for Claude Design (
references/claude-design-package.md): thePROJECT_TYPE_DESIGN_SYSTEMdestination and how to confirm it, the authored layout (styles.css,tokens/,components/, preview cards,readme.md,SKILL.md), the first-line@dsCardmarker that indexes a preview card, the files Claude Design compiles and an agent must never write, and the compiled manifest as the acceptance check. - The Claude Design skill documents design-system projects: the project type is fixed at creation,
create_projectmakes regular projects only, the compiled manifest is the cheapest inventory, and a change to a published system reaches every bound project.
- Comment handling follows the current Claude Design contract:
queued_for_claude: truefetches only the "Send to Claude" queue, its interaction withchanged_sinceis spelled out, andauthor_is_youis judged per comment body and per reply rather than per thread. create_projectguidance resolves the design system before the call, usingis_defaultfromlist_design_systemsfor the user's standard system.- The skill states that the project-wide
finalize_planscope and the token-less standing write grant are deliberately unused; every helper keeps minting exact-path, etag-checked plans. pages_writtenfromwrite_filesandcopy_filesis documented as the page to link when a batch mixes pages with support files, and a test pinspushagainst the live write result shape.
1.2.3 (2026-09-16)
- Public installs now record the durable
releases/latest/download/open-claude-design.tar.gzsource in uv instead of the installer's deleted staging wheel, souv tool upgrade open-claude-designcan resolve future releases. Explicit local package installs are copied into persistent package-owned storage rather than leaving a dead temporary-path receipt.
1.2.2 (2026-09-16)
- A native Claude Design connector registered by the host agent (for example an
mcpServersentry pointing at the Claude Design endpoint) authenticates with the host account's own token, which carries no Claude Design scope. It fails with HTTP 403 and makes the agent report Claude Design as unavailable while the bridge is healthy.doctornow reports those entries undernative_connectorswith the file, entry, and removal step,install,update, and the one-line installer surface the same report when one is registered, and the Claude Design skill treats a failing connector as a host-configuration fault rather than evidence that Claude Design is down. - HTTP 403 from Claude Design no longer advises a login that cannot succeed. 401 still means the credential is invalid or expired and a fresh
loginfixes it; 403 now says the account was accepted but has no Claude Design access, so it must be enabled for that account or a different account used. doctor --jsonreported"authentication": "not checked"even when it had just verified the credential. The field is nowverified,failed, ornot checked.
1.2.1 (2026-09-02)
- Live authoring in the Claude Design skill: a request to create or change a design in Claude Design authorizes the task's writes, and the agent publishes at checkpoints (the first clean draft, each round that changes what the user would notice, and before pausing) so the design evolves in the editor instead of waiting for a push instruction. Each round's small corrections fold into one write.
- An agent-facing design-system package output in the design-system skill (
references/agent-spec.md): a project-local skill with provenance, signature traits, critical rules, a module index, and per-component specs, so an extracted system governs later UI work automatically. - Layout patterns for common marketing, application, and commerce surfaces (
references/layout-patterns.md) and six greenfield aesthetic directions (references/directions.md) in the UI design skill, routed from the skill and its discovery reference.
- The UI design skill builds multi-section pages one checked section at a time instead of reviewing once at the end.
1.2.0 (2026-09-02)
sync apply --reconciled: aboth-changedreview no longer overwrites the design with the local bytes on--allow-writealone. The flag acknowledges that the remote changes were merged into the local files the user approved.sync reviewrecords an observed match as the baseline when a mapped pair has no baseline yet but both sides already hold identical bytes (baseline_recorded: true), instead of requesting approval for a no-op remote write.- The
open-claude-design-qualityskill shipsreferences/craft.md: measurable defaults for type, spacing, controls, color, and imagery with an explicit precedence below accessibility and the product's own tokens.
- Every
push,sync apply,pull, anddeletereadback failed by one byte: Claude Design appends a newline before its</untrusted-project-content>wrapper and the bridge only stripped the leading one, so 1.1.2 exited 2 without a preview after each otherwise successful write. deleteexited 2 and reported the files as remaining although Claude Design had deleted them, because the livedelete_filesresult is{"deleted": N}. The parent listing is now the ground truth whenever the tool did not error, and a failed backup read names the path.- The Claude Design skill described the live
frontend-designskill as implementation-oriented output; it is aesthetic direction for work outside any design system and is no longer loaded inside an established system. Selected design options now stay in the exploration file and are promoted into a separate deliverable, as the livehifi-designskill requires.
- The Claude Design skill also triggers on
.dc.htmlfiles, offers the durable?embed=1live window, rebases on etag conflicts, and documents thatplanned-call create_support_jsneedsif_match. - The UI design skill merges its scope guidance into one section and adds craft defaults for a new visual direction.
1.1.2 (2026-08-31)
- Design creation now fails closed when a
.dc.htmlfile has no same-directory server-providedsupport.js, when exact post-write readback differs, or when Claude Design cannot produce a durable preview. Successfulpush,copy_files, and code-to-design sync results include verified preview URLs;--openadditionally opens the isolated render without exposing its short-lived URL. - Agent skill installation and updates now perform a second byte-for-byte readback for every requested agent after the skills backend reports success, preventing one valid integration from masking a partial, stale, or missing one.
- Release wheels contain only runtime skill files; benchmark
tests/evals.jsonpayloads are excluded and the build now fails if they reappear.
1.1.1 (2026-08-31)
- Login no longer fails with HTTP 403: Cloudflare on
platform.claude.combegan rejecting Python's default urllib User-Agent, so OAuth token and refresh requests now identify themselves asopen-claude-design/<version>. - macOS credential storage is no longer silently truncated: the Keychain write previously fed the credential through
security's interactive password prompt, which caps input at 128 bytes and corrupted the stored JSON while still exiting 0. The credential now travels on asecurity -istdin command line, keeping it out of process argv and intact at any length.
1.1.0 (2026-08-31)
- Revision-bound two-way synchronization with automatic review receipts, local content hashes, remote etags, verified baselines, and stale-approval rejection before mutation.
- First-use desktop authentication without install-time coupling, plus a fail-closed manual flow for CI, SSH, and headless dev containers that keeps authorization codes out of agent chat.
- Local-only Git exclusion for generated sync receipts and snapshots, preventing status noise without editing a repository's tracked
.gitignore. - A real Claude Design editor screenshot in the README so new users can see the visual workspace before installing.
- Approved sync batches are all-or-nothing, detect file creation, deletion, and concurrent revision changes, keep snapshots worktree-local, and cannot be replayed after completion or an ambiguous outcome.
1.0.2 (2026-08-31)
uninstall.sh --scope project|globalso project-scoped skill installs can be removed; the Agent Skills fallback now honors the selected scope.- Shell-profile PATH guidance after installation when the login shell would not resolve
open-claude-design. - Members, sharing, and conversation-sync workflow guidance in the
open-claude-designskill, grounded in the live tool contracts.
- The uninstaller reports honestly when skill removal could not be confirmed instead of always printing success, skips the network fallback when the CLI already removed the skills, and cleans the credential-lock directory on macOS as well as Linux.
install.sh --dry-runno longer claims workflows were installed.- The installer and uninstaller strip forced ANSI color (
FORCE_COLOR/CLICOLOR_FORCE, exported byuv runand some CI systems) from captureduv tool dir --binoutput, which previously aborted installation with "uv returned an invalid tool executable directory". - The release-manifest wheel filter rejects path separators, so a tampered
SHA256SUMScannot direct downloads outside the staging directory.
- CI now runs the full pre-commit hook set (including private-key detection) and tests Python 3.12 and 3.13; the shell quality gate covers every repository script.
- preserve streamed installer input (68102b3)
- Five portable, implicitly invoked design skills for product UI creation, design-system extraction, review, and Claude Design access.
- One Agent Skills compatibility layer for Claude Code, Codex, OpenCode, and every supported host.
- A read-only-by-default Claude Design bridge for macOS, Linux, and WSL2 with standalone browser OAuth—no Claude Code installation or Anthropic API key required.
- Conflict-aware pull and push, guarded deletion with recovery backups, durable previews, project conversations, comments, members, sharing, and dynamic live-tool discovery.
- A cached authoring-context command that retrieves the current project prompt and one selected Claude Design authoring skill through one MCP session without dumping either into terminal output.
- Branded POSIX install and uninstall scripts with checksummed private runtime setup and a one-line GitHub Release installer.
- Exact-path etag plans, bounded MCP responses, redirect refusal, credential-safe storage, symlink-resistant local I/O, write-expiry preflights, and post-mutation verification.
- Byte-level installed-skill verification and no-op reinstalls that avoid interrupting active coding agents.
- Pinned GitHub Actions, Trivy, CodeQL, dependency review, pre-commit secret/private-key checks, checksummed artifacts, and build provenance attestations.