◉CLAUDE LABJP
●2.1.301 — Adds the vim % motion, LaTeX math rendering in the VS Code panel, and a retry-watchdog limit for usage-limit waits (10/15)●2.1.299 — Conversations over 200K tokens left idle about 54 minutes get compacted; MCP allow rules now match only the server they name●SONNET 4.5 — Retires on the Claude API on 11/30, 45 days left. Migrate to Sonnet 5.5●WINDOWS — Reports say hooks break silently only on Japanese-locale Windows; check the character encoding first●FAST MODE — Opus 5.5 fast mode is out of research preview and no longer needs the beta header (10/15)●NEW — I Put a Ten-Line Promise File at the To…●2.1.301 — Adds the vim % motion, LaTeX math rendering in the VS Code panel, and a retry-watchdog limit for usage-limit waits (10/15)●2.1.299 — Conversations over 200K tokens left idle about 54 minutes get compacted; MCP allow rules now match only the server they name●SONNET 4.5 — Retires on the Claude API on 11/30, 45 days left. Migrate to Sonnet 5.5●WINDOWS — Reports say hooks break silently only on Japanese-locale Windows; check the character encoding first●FAST MODE — Opus 5.5 fast mode is out of research preview and no longer needs the beta header (10/15)●NEW — I Put a Ten-Line Promise File at the To…
Articles/Claude Code
⟐ Claude Code/2026-06-20Intermediate

Handing Claude Design Mockups Straight to Claude Code: Folding the Design-to-Code Loop

The June 17 Claude Design update added codebase-aware generation. Here's how to make your tokens the single source of truth, hand mockups to Claude Code, and collapse the design-to-code round trip — with code you can copy.

Claude Design8Claude Code264design systemindie dev11workflow41

✦ Premium Article

Maintaining the UI for four sites on my own, the thing I most want to cut isn't building features — it's the round trip between deciding how a screen looks and implementing it. You set a corner radius and button padding in a design tool, switch back to code, retype the same numbers, build, compare, and find it's slightly off again. That translation loss eats more time than the features themselves.

The Claude Design update announced on June 17 hits this directly. It added design-system import, tighter Claude Code integration, direct canvas editing, and more export formats — and most importantly, Claude Design can now work from your local codebase. Generated assets reflect elements of your existing product, and you can hand them straight to Claude Code to implement (it's a beta for Pro, Max, Team, and Enterprise).

But wiring the tools together doesn't erase the round trip by itself. What actually helped me, running four sites as an indie developer, was setting things up so that both tools look at the same vocabulary. This is that setup, with code you can copy.

Why the round trip is heavy

Design and code drift apart not for lack of taste, but because the source of truth is duplicated. The design side has "radius 12px, primary button #5B5BD6," and the code side hardcodes the same values somewhere else. Fix one and the other goes stale; ask an AI to implement and you get something close-but-wrong.

That's exactly what codebase-aware Claude Design changes. It can read the tokens you keep in code, and Claude Code reads the same tokens. Unify the source of truth and the two tools line up by reference, not by translation. The first move isn't to play with the new feature — it's this unification.

The workflow at a glance

The order first; each step is fleshed out below.

StepWhat you doSource of truth
1Make design tokens the single sourcedesign/tokens.json
2Generate CSS variables from itsrc/styles/tokens.css (generated)
3Pin design context into CLAUDE.mdCLAUDE.md
4Hand a Claude Design mockup to Claude Codehandoff prompt
5Align the generated UI and verify itverification script

Steps 1–3 are a one-time environment setup; steps 4–5 repeat per screen. The more you invest up front, the less rework happens later.

✦

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
✦If you keep redoing work between design and code, you'll be able to drive both Claude Design and Claude Code from one shared vocabulary of tokens
✦You'll get a copy-ready handoff workflow: a tokens.json transform, a CLAUDE.md design-context block, and the handoff prompt itself
✦You'll catch UI that drifts from your design system early, with a verification step instead of your eyes
Secure payment via Stripe · Cancel anytime
✦

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Claude Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • ✦Copy-paste ready implementation code
  • ✦New advanced guides published daily
  • ✦$5/mo or $10 for lifetime access
View Membership →

Related Articles

⟐ Claude Code2026-10-12
After Moving to SPM, My App Died the Moment It Launched — Reading One dyld Line with Claude Code
Right after moving from CocoaPods to Swift Package Manager, the build passed but the app died on launch. Here is how I traced one dyld line to its cause, the fix, and how to verify it.
⟐ Claude Code2026-04-18
Three Months of Cutting Technical Debt in Half with Claude Code — A Practical Record
A three-month hands-on record of tackling accumulated technical debt using Claude Code. Covers visualization, prioritization, and automated refactoring — with real numbers showing what actually changed.
⟐ Claude Code2026-04-02
Running Claude Code Per Worktree: Notes From Actual Use
Implementation notes on splitting branches into Git worktrees and launching Claude Code per directory. What is shared and what is isolated, measured on a real repository, plus the untracked files nobody warns you about.