Guide
+How to export and back up a Claude Design project to your computer
+The files inside a Claude Design project live on the server. Here's how to pull them onto a local folder — and keep them in sync — with one command, without the bytes ever passing through a model's context.
+ + +If you keep a design system in Claude Design (claude.ai/design), the files are on Anthropic's server, not on your disk. The tempting way to get a local copy is to ask an agent to "read every file and write it locally" — but that pushes every byte of every file through the model's context. On one large project that came to roughly 665,000 tokens for a single export. Moving files is not a reasoning task; you shouldn't pay a reasoning bill for it.
+dsx is a small command-line tool that does the export as a plain file transfer. It works like git — clone, pull, push, status, diff — and the file bytes never touch a model's context, so the same export costs one summary line instead of 665k tokens.
Before you start
+-
+
- You need Claude Code installed and logged in — dsx reuses its OAuth token, so there is no separate login. +
- macOS or Linux (amd64 or arm64). Windows isn't supported yet. +
- You need the project ID of the Claude Design project you want to export (it's in the project's URL). +
Steps
+-
+
-
+
Install dsx
+One binary, no dependencies. With Go:
++install$ go install github.com/somework/dsx@latestOr grab a release archive for your platform from GitHub Releases, or on macOS
+brew install somework/tap/dsx.
+ -
+
Grant access once
+Inside Claude Code, run the consent command so your account allows agent access to your Design projects:
++claude> /design consent
+ -
+
Clone the project
+Point dsx at the project ID and a target folder. This downloads every file into
+./design:+dsx clone$ dsx clone 65fdff85-…-ba9358a234b0 design +pulled 103, unchanged 0, binary 6 (660.1 KB)
That one line — not 665k tokens — is the whole cost of the export.
+
+ -
+
Keep it in sync
+Later, pull down changes made in Claude Design, or push local edits back:
++dsx$ # see what changed, offline, no download +$ dsx status +$ # fetch server changes +$ dsx pull +$ # send your local edits back +$ dsx push
+
Backing up (and the one flag to be careful with)
+For a plain backup, a clone followed by periodic pull is all you need — dsx writes every file temp-then-rename, so an interrupted run never leaves a half-written file, and conflicts are decided on the actual bytes, never on timestamps.
About --prune
+ Adding --prune mirrors deletions — but dsx will only delete a local file it can prove it put there and that you didn't modify. An untracked file is never yours to delete; a locally edited file is a conflict, not a deletion. Still, treat --prune like rm: know what it will remove before you run it.
FAQ
+Can I download my Claude Design files without an agent reading each one?
+Yes — that's the whole point. dsx transfers the files directly; the bytes never enter a model's context, so a large project exports for one summary line instead of hundreds of thousands of tokens.
+Is this official? Is it safe to use with my account?
+It is unofficial and not affiliated with Anthropic — the Claude Design endpoint is undocumented, and a server change can break dsx. It's built to fail loudly rather than silently: every protocol assumption is pinned by a live test. It reads your existing Claude Code OAuth token and never writes or prints it. The whole thing is a single Go binary with zero third-party dependencies, so it's auditable end to end.
+Does it edit my files, or just download them?
+Both directions. pull brings the server's files down; push sends your local edits back; status and diff show what changed. If both sides changed the same file, dsx reports a conflict instead of silently overwriting either copy.
What about images and other binary assets?
+They come down too. dsx detects binary files by content and handles them on a separate lane; the summary line reports how many binary files were transferred.
+Does it cost any tokens?
+No. dsx is not a model call — it's a file-sync client. It uses your Claude Code login to authenticate to the endpoint, but moving the files spends no tokens.
+Which platforms are supported?
+macOS and Linux, both amd64 and arm64. Windows is not supported yet.
+Want the story of how the undocumented endpoint was recovered — and the three protocol facts I guessed wrong first? Read the build log.
+ + +