[BUG] Claude Design "Send to local coding agent" handoff fails — generated prompt relies on a "Claude Design connector" that local Claude Code does not have and cannot install
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Claude Design's Export → "Send to local coding agent" generates a default prompt of the form:
Import this Claude Design project using the Claude Design connector:https://claude.ai/design/p/<PROJECT_ID>?file=<FILE>.dc.htmlImplement:<FILE>.dc.html
When this default prompt is pasted into local (terminal) Claude Code, there is no "Claude Design connector" available, so CC cannot fetch the design. It falls back to WebFetch, which hits the authenticated claude.ai/design/... page and returns nothing usable, then attempts Playwright scraping, which does not yield the real handoff bundle either. The net result is a fetch/auth failure and no design content.
claude mcp list shows no Design-related server — only the connectors I have configured (e.g. alphaXiv, Gmail, context7, figma, github, playwright). I could not find any documented way to add or enable a "Claude Design connector" for local Claude Code.
The export dialog itself implicitly acknowledges the gap: the "Download zip instead" option is labeled "For agents without the Claude Design connector — drop the bundle into your agent's chat manually." In other words, the default / recommended prompt is the one that fails for local CC, and only the non-default zip path works.
What Should Happen?
One of:
- (a) Local Claude Code ships with — or has a documented way to install — a Claude Design connector that authenticates and fetches the bundle from the share URL; or
- (b) The "Send to local coding agent" default prompt should not assume a connector that local CC does not have. It should default to the downloadable-bundle path (or detect the connector's absence and instruct the user accordingly).
At minimum, document how to obtain/enable the connector for local terminal CC.
Error Messages/Logs
The default prompt fails. The `claude.ai/design/...` share URL returns nothing usable to clients without the connector (cf. #52292). Only the **"Download zip instead"** fallback works.
Steps to Reproduce
- Create/open a project in Claude Design (Pro/Max account).
- Click Export → "Send to local coding agent".
- Copy prompt (the default prompt references "using the Claude Design connector" plus the
claude.ai/design/...URL). - Paste it into local Claude Code (terminal).
- CC reports it has no Claude Design connector;
WebFetchcannot read the authenticated URL; the fetch/auth step fails and no design is imported.
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.1.176
Claude Code Version
2.1.181
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Workaround (for others hitting this)
In the export dialog, check "Download zip instead", unzip the bundle, and point Claude Code at the extracted folder — it contains the design files plus a README describing intent. This bypasses the connector/URL fetch entirely:
cd <your-project>
unzip ~/Downloads/<bundle>.zip -d ./design-bundle
claude
> Implement the design in ./design-bundle (see the README inside for intent)
Environment
- Claude Code version:
<run: claude --version> - Operating System: macOS
<version> - Account type: Claude Pro/Max (personal, no organization)
- Surface: local terminal Claude Code
- Auth mode: subscription OAuth (verify via
/status)
Related Issues
- #52292 — Claude Design share URLs return "not found" to unauthenticated clients (blocks Claude Code integration). Narrower symptom of the same gap.
- #60327 — Feature request: a way for Claude Code to query an externally-maintained design system (e.g. Claude Design) / first-class Design MCP connector.
- #51980 — "Send to Claude Code Web" from Claude Design lacks a repo picker; confirms the one-shot bundle handoff exists but is one-time only.
4 Comments
Found 1 possible duplicate issue:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Resolved — the root cause on my end was a local env var, not a missing connector.
TL;DR: local Claude Code does ship with the Claude Design connector — it's the built-in
/design-sync/ DesignSync mechanism. In my case it was being silently suppressed because I hadCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1in my~/.claude/settings.jsonenvblock. With that set, DesignSync never registers, so the "Send to local coding agent" prompt has no connector to use and falls back toWebFetchagainst the authenticatedclaude.ai/design/...URL — which is exactly the failure I described.The binary makes this explicit. Strings from the 2.1.183 build:
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICis the umbrella privacy switch (per the docs it's equivalent toDISABLE_AUTOUPDATER+DISABLE_FEEDBACK_COMMAND+DISABLE_ERROR_REPORTING+DISABLE_TELEMETRY). What the public docs don't mention is that it also gates DesignSync / Projects / live-preview.Fix:
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICfromsettings.json. To keep telemetry/error-reporting/etc. off without the umbrella, set the granular flags explicitly instead:DISABLE_TELEMETRY,DISABLE_ERROR_REPORTING,DISABLE_FEEDBACK_COMMAND,CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY,DO_NOT_TRACK./design-syncnow shows up and the "Send to local coding agent" handoff works end-to-end.This also likely explains the regression I flagged (worked in 2.1.176): the env var was set the whole time, so the DesignSync gating behind it appears to have been introduced after 2.1.176.
One genuine gap worth keeping (for maintainers): when the connector is suppressed by this env var, local CC gives no diagnostic — it silently falls back to
WebFetchinstead of saying something like "DesignSync is disabled viaCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC." A one-line hint at handoff time would have saved a lot of debugging.Since the connector does ship with local CC and the handoff works once the env var is removed, I'm closing this as resolved. Thanks!
Adding a note here because this issue turned out to be a symptom of a broader pattern that keeps biting users.
My root cause was
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC. I'd set it to opt out of telemetry — a reasonable privacy choice, I thought. What I didn't know was that the same flag also silently disables/design-sync, Projects, and live-preview. No warning, no log line, nothing. The features just… aren't there, and you're left wondering what you broke.This isn't an isolated case. The same coupling has come up repeatedly across the repo:
DISABLE_NONESSENTIAL_TRAFFICblocks the channels feature flagAnd to be fair, there's precedent that this can be fixed: #45381 decoupled the prompt-cache TTL from the telemetry flag, and that was resolved. So the architecture clearly allows for it.
I think the ask is straightforward:
design-sync disabled by CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICwould have saved me (and probably others) hours of debugging. Silent degradation is the worst kind — you don't even know what you're missing.I say this as a long-time Pro/Max subscriber who genuinely likes the product. The irony of a privacy toggle quietly removing paid features is… not great. Happy to help test if there's a fix in progress.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.