Essay · November 2026
After your design becomes code
Claude Design now lives inside Claude, one step from Claude Code. Anthropic has built the handoff from one to the other. What nobody has built yet is what happens after it, when the design becomes code and starts to drift.
What changed
Designs, design systems and decks are now made as artifacts in Claude, and the standalone site at claude.ai/design closes on 14 December 2026 (Anthropic). If you used it, move your design systems and projects before then. Chats, comments and public links don’t come across, so save what you need.
The bigger change is where it now sits. Exploring how something should look and building the thing that ships are now one click apart. Most designers will use both, so the useful question is which one to reach for, and what to do at the seam.
Which one for what
| Task | Claude Design | Claude Code |
|---|---|---|
| Exploring directions | Canvas, tweaks and side-by-side variations | Possible, but slower without a canvas |
| Pointing at an element | Comment on it directly | Describe it, or name the file |
| Decks and one-pagers | Built for it | Not its strength |
| A prototype that really works | A clickable mock | Real code, live on a URL |
| Decisions that last | Kept per project | Written into the repo, read every session |
| What actually ships | Not its job | It is the thing that ships |
Explore in Claude Design. Build, and keep it right, in Claude Code.
The handoff is solved
Anthropic gives you three ways across (help centre):
- Send to Claude Code from the Share menu, which hands the design to a local or cloud session.
- Ask in the chat for a handoff, and Claude writes a
HANDOFF.mdbuild spec: tokens, layout, components, states, accessibility. - Download the bundle of HTML, CSS and assets, and drop it into a Claude Code session.
All three get the first version right. None of them looks after the second, third or tenth.
What happens after it
Drift doesn’t come from one bad change. It comes from small ones that each skip the design system: a colour typed by hand, a decision nobody wrote down. Each looks fine in review. Together they pull the product away from the design you agreed on.
Take one pricing card, handed off from Claude Design with its design system. Here is a plausible eight weeks of ordinary requests. It’s a worked example, not a real project.
Studio
£12 / month
For freelancers sending up to 50 invoices a month.
Start free trialStudio
£12 / month
For freelancers sending up to 50 invoices a month. 3
Start free trial 14- 1Week 2 · “Make the button pop.” A hand-written orange replaces the brand colour. White text on it now reads at 2.85:1, below the 4.5:1 that WCAG asks for.
- 2Week 4 · A new session adds a shadow. The flat cards were a decision, but it was never written down, so the next session couldn’t know.
- 3Week 6 · “Make the caption quieter.” The grey goes from 7.58:1 to 2.39:1. It looked fine on a bright screen.
- 4Week 8 · A quick fix for alignment. Padding set to 13px by hand, off the spacing scale, so this card no longer lines up with the ones beside it.
In the code, every one of those changes looks the same: a value typed by hand where a token already existed.
- background: var(--color-brand);
+ background: #ff6a3d;
- padding: var(--space-4);
+ padding: 13px;
None of this is Claude getting worse. It’s what happens to any design once many small hands touch it, and Claude Code is a lot of very fast hands.
A week after a handoff, search the code for colours written by hand: grep -rnE "#[0-9a-fA-F]{3,6}\b" src. Every result that isn’t in your design system is a place the build has already left the design.
Keeping the design intact in the repo
This is where dwic sits, on the Claude Code side of the seam. Each command does one job, and they fit different moments after a handoff.
/design-grillquestions you until the decisions are clear, then writes them into the repo, so “no shadows on cards” survives the next session./design-empathyreads the built flow for what it assumes about people, and records only what you confirm.
/design-enforcefinds colours and sizes typed by hand where a token already exists, and puts the token back./design-criticgives an honest read of a screen, ranked by severity, with the reason attached./anti-slop-designercatches the machine-made look: untouched library defaults, identical cards, gradients nobody chose.
/accessibility-specialistcontrast, labels, keyboard paths and landmarks against WCAG./color-specialistcontrast below AA, a palette with no system, dark mode that is just inverted./typography-specialistsizes off the scale, headings that don’t lead, cramped line height./spacing-layout-specialistpadding and gaps off the scale, layouts with no grid underneath./visual-hierarchy-specialistscreens where everything shouts and nothing leads./responsive-design-specialistlayouts that break between sizes./content-strategisterror messages, empty states and labels that say nothing.
dwic-auditone pass over the code for accessibility, forms, navigation and copy./design-triageturns a long list of findings into an order you can work through.
Right after a handoff, write down three decisions a new session couldn’t guess from the code alone, like why the cards have no shadow. Put them in your project’s CLAUDE.md. That alone stops most drift of the second kind.
Start here
Explore in Claude Design until the direction is settled. Hand it off whichever way suits you. Then, before the first change request, install dwic and run /design-grill once, so the decisions travel with the code:
/plugin marketplace add imsaif/design-with-claude /plugin install design-with-claude@design-with-claude /reload-plugins
If moving between the two still feels clumsy somewhere, I’d like to hear where.
Sources
- Anthropic, Move from standalone Claude Design to Claude. support.claude.com
- Anthropic, Get started with Claude Design. support.claude.com
- Anthropic, Introducing Claude Design by Anthropic Labs. anthropic.com
- Related: Building empathy in the terminal.