Large Language ModelsGenerate imagesGenerate videos

Claude Design MCP: Server Setup, Codex and Not Working Fixes

Claude Design MCP means three different things: a built-in server that returned HTTP 404 in Claude Code 2.1.181, the /design-sync command, and a community server. See the exact setup for Claude Code and Codex, plus the fix for every reported error.

Claude Design MCP: Server Setup, Codex and Not Working Fixes
Cristian Da Conceicao
Founder of Picasso IA

Search for Claude Design MCP and you land in three different places at once. One is a built-in server that Claude Code injects on its own and that answered with a 404 for many people in June 2026. Another is the /design-sync command that pushes your component library into Claude Design. The third is a community server that drives the Claude Design website from a terminal, and it is the only one of the three that also plugs into Codex.

Mixing them up is why most "not working" reports go nowhere: a fix for one does nothing for the others. This article separates the three, shows the exact server setup commands for Claude Code and Codex, and walks through every error message people have actually reported, with the cause and the shortest way out.

💡 Short version: the built-in 404 is a server-side problem you cannot fix locally, /design-sync fails over login and project requirements, and the community server fails over Chrome sessions and timeouts. Jump to the section that matches your error.

What Claude Design MCP Really Means

Claude Design is Anthropic's tool for building prototypes, slides and marketing pieces by chatting with Claude. It launched on April 17, 2026 under Anthropic Labs, runs on Claude Opus 4.7, and is available on Pro, Max, Team and Enterprise plans. Enterprise organizations get it switched off by default, so an admin has to enable it. When a design is ready you can export it as a folder, PDF, PPTX, standalone HTML, a Canva file, an organization URL, or a handoff to Claude Code.

Designer and developer reviewing a layout together on a tablet and laptop

"MCP" shows up in this product in three separate ways, and each has its own failure pattern.

The Built-In claude_design Server

Claude Code 2.1.181 began injecting a server called claude_design into every session. It points at https://api.anthropic.com/v1/design/mcp, and for many people that endpoint returned a 404. The /doctor command flagged it, and /mcp printed "Failed to reconnect to claude_design: HTTP 404 at https://api.anthropic.com/v1/design/mcp".

The server is injected dynamically, so it lives in no settings file, and trying to remove it ends with "Cannot remove MCP server from scope: dynamic". The report in issue #69323 was filed on June 18, 2026 and closed as a duplicate on June 22, 2026, next to several near-identical ones such as #69325.

The /design-sync Tool

Announced on June 17, 2026, /design-sync runs inside the Claude Code terminal. It pulls your real design system (React components, CSS tokens, fonts) into Claude Design so prototypes start from your components, and it pushes code back so you can keep editing on the canvas. /design-login authorizes the access with your claude.ai account. Only you can launch it: the skill is marked as not model invocable, so Claude cannot start it on its own.

The Community MCP Server

claude-design-mcp is an unofficial, MIT-licensed server that drives Claude Design from agentic CLIs. It exposes roughly 30 tools, including create_design_system, generate, iterate, list_files, read_file, export and publish. Under the hood it automates Chrome against claude.ai, which means it relies on undocumented internal endpoints and may break whenever the site changes. The README says plainly that it is not affiliated with or endorsed by Anthropic.

PieceRuns whereWorks in CodexTypical failure
Built-in claude_designInjected by Claude CodeNoHTTP 404
/design-syncClaude Code slash commandNoAuthorization, 403
claude-design-mcpLocal stdio server plus ChromeYesExpired session, timeouts

Requirements Before You Install Anything

Ten minutes of checking saves an afternoon of debugging. Most "MCP is broken" cases turn out to be a missing requirement, not a broken server.

Plan and Account Checks

  • Plan: Pro, Max, Team or Enterprise. On Enterprise, confirm an admin enabled Claude Design.
  • Account type: /design-sync needs a first-party claude.ai account. An API credential, Bedrock or Vertex setup will not do.
  • Browser test: open Claude Design in a normal browser tab first. If the site itself refuses you, no server can fix that.
  • Budget: one reviewer reported a single working session using more than half of a weekly Pro allotment, and /design-sync warns about hours-long imports and token costs on big repositories.

Version and Project Checks

  • Claude Code v2.1.234 or newer for /design-sync. Run claude --version to check.
  • A supported design system repo: React with a published dist/, or React with Storybook. Vue, Angular and Svelte are not supported. Start the command in the design system repo, not in the application that consumes it.
  • For the community server: Node 20 or newer, pnpm, and desktop Google Chrome installed.

💡 If /design-login says Unknown command, check your version before anything else. Builds older than v2.1.234 are the first suspect.

Two laptops side by side with a paper checklist between them

Server Setup in Claude Code

Only the community server is something you install yourself, so this setup is about that one. The built-in server and /design-sync need nothing beyond the requirements above.

Install the Community Server

git clone https://github.com/e-brokenc0de/claude-design-mcp.git
cd claude-design-mcp
pnpm install
pnpm exec playwright install chromium
pnpm run chrome:cdp
pnpm run build

The chrome:cdp script launches Chrome with a persistent profile stored in .auth/cdp-chrome. Sign in to claude.ai in that window once, and the session carries across tool calls.

Register It With claude mcp add

claude mcp add --transport stdio --scope user claude-design -- node /absolute/path/to/claude-design-mcp/dist/server.js

The -- separates Claude's own options from the command that starts the server. Prefer a team-shared file? Put the same entry in .mcp.json at the project root:

{
  "mcpServers": {
    "claude-design": {
      "command": "node",
      "args": ["/absolute/path/to/claude-design-mcp/dist/server.js"]
    }
  }
}
ScopeWho sees itStored in
local (default)You, this project~/.claude.json
projectEveryone via version control.mcp.json
userYou, every project~/.claude.json

Confirm the Connection Works

claude mcp list
claude mcp get claude-design

Then open /mcp inside a session. A healthy server shows as connected, and asking Claude to list my Claude Design projects should return real results. Project-scoped servers ask for your approval the first time; if you declined by accident, claude mcp reset-project-choices brings the prompt back.

Hands typing in a terminal on a laptop beside a hand-drawn diagram

Connecting the Server to Codex

Codex reads MCP servers from ~/.codex/config.toml, or from a project-scoped .codex/config.toml, using one [mcp_servers.<name>] table per server. The Codex MCP documentation lists every option.

Add It With codex mcp add

codex mcp add claude-design -- node /absolute/path/to/claude-design-mcp/dist/server.js
codex mcp list

Or write the table yourself:

[mcp_servers.claude-design]
command = "node"
args = ["/absolute/path/to/claude-design-mcp/dist/server.js"]
startup_timeout_sec = 30
tool_timeout_sec = 300

Codex defaults to 10 seconds for startup and 60 seconds per tool call. A tool that drives a website can easily outlast both, so raising them is the first tweak worth making. Inside the Codex terminal UI, /mcp shows which servers are active.

💡 Windows paths: in TOML, a backslash starts an escape inside normal quotes. Write C:/Users/you/claude-design-mcp/dist/server.js with forward slashes, or wrap the path in single quotes.

One honest caveat: the community README shows the Claude Code and Cursor config only. The Codex entry above applies Codex's documented format to the same launch command, so confirm it with codex mcp list before relying on it.

What Codex Cannot Do

The built-in claude_design server is injected by Claude Code, /design-sync and /design-login are Claude Code commands, and the handoff button sends bundles to Claude Code. Codex gets none of those. What it can do is call the community server's tools such as read_file and export, or simply work from an exported folder or standalone HTML file, which are ordinary files on disk.

TaskClaude CodeCodex
Add a stdio serverclaude mcp add name -- cmdcodex mcp add name -- cmd
Config file~/.claude.json, .mcp.json~/.codex/config.toml, .codex/config.toml
List serversclaude mcp listcodex mcp list
In-session panel/mcp/mcp
Startup timeoutMCP_TIMEOUT (ms)startup_timeout_sec (default 10)
Tool timeoutMCP_TOOL_TIMEOUT (ms)tool_timeout_sec (default 60)

Developer at a dual monitor desk in a quiet home office at dusk

Not Working Fixes by Error Message

Match your message in the table, then read the matching section.

What you seeMost likely causeFirst move
HTTP 404 at .../v1/design/mcpBuilt-in endpoint answering 404Update, then ignore it
/design-login requires an interactive terminalHeadless, web or non-interactive sessionRun in a normal terminal session
status code 403 while recording accessAuthorization rejectedRe-check account and org policy
Server fails or tools time outStartup or tool timeout too lowRaise the timeout values
Tools return login errorsChrome session expiredRe-run pnpm run chrome:cdp

HTTP 404 on claude_design

This one is not yours. The endpoint answered 404, the server is injected rather than configured, and the report noted that authentication was not the cause. There is no entry to delete and no token to refresh.

  1. Update Claude Code to the latest release and run /doctor again.
  2. Open /mcp and look at your own servers. If only claude_design is red, treat it as noise.
  3. If your server returns a 404, the URL is wrong. Run claude mcp get <name> and compare it with the address in the server's docs.

Blue ethernet cable plugged into a network switch

/design-login Needs a Terminal

Two messages come up most: "DesignSync needs design-system authorization, but /design-login requires an interactive terminal and is not available in this environment" and a plain Unknown command. The first means you are in a session that cannot show a login flow, such as the web version or a headless run. A related report (#91063) notes there is no non-interactive path yet, which blocks CI jobs.

  • Run /design-login in a normal, interactive Claude Code terminal, then /design-sync.
  • Make sure you are on v2.1.234 or newer.
  • If it still says Unknown command on a current build, you are seeing what issue #75024 describes. Add your version and OS there.

Desk seen from above with a laptop showing a blurred sign-in window

403 and Timeout Errors

A 403 reads "Couldn't record Design agent access ... Request failed with status code 403". People hit it on the macOS app, Claude Code Web and the Windows CLI, and they had already confirmed their browser access worked, so it was not a plan problem. When I checked, issue #75024 was still open with no maintainer reply. Meanwhile, confirm your organization allows Claude Design, sign in with a first-party account, and retry.

Timeouts belong to the community server. In Claude Code, raise both limits before launching:

MCP_TIMEOUT=30000 MCP_TOOL_TIMEOUT=600000 claude

PowerShell does not accept that prefix form, so set the variables first:

$env:MCP_TIMEOUT = 30000; $env:MCP_TOOL_TIMEOUT = 600000; claude

In Codex, raise startup_timeout_sec and tool_timeout_sec in the TOML table instead.

Hourglass with the sand almost gone beside a laptop

Chrome Session Expired

The community server uses the Chrome profile in .auth/cdp-chrome. If tools start returning login errors or empty project lists, the claude.ai session probably lapsed.

  1. Re-run pnpm run chrome:cdp and sign in to claude.ai again.
  2. Pull updates with git pull, pnpm install and pnpm run build. The server rides on internal endpoints, so fixes land in the repository when the site changes.
  3. Restart your client so it respawns the server process.

Claude Opus 4.7 on PicassoIA

Claude Design runs on Claude Opus 4.7, and the same model is available as a text model on PicassoIA. It makes a good second pair of eyes for an MCP error you cannot read at a glance. Here is the routine:

  1. Open the Claude Opus 4.7 page.
  2. In Prompt (required), paste the exact error text and your config with tokens and passwords removed.
  3. Optionally attach a screenshot of the /mcp panel in Image. If small text comes out unreadable, raise Max Image Resolution (the default is 0.5 megapixels).
  4. Add a System Prompt such as: You debug MCP server configs. Give the single most likely cause first, then the fix.
  5. Leave Max Tokens at its default of 8,192 unless you want shorter answers.
  6. Generate, then test the proposed fix in your terminal.

Want quicker answers on simple errors? Claude Sonnet 5 runs the same way.

💡 Never paste live tokens, cookies or passwords into any chat box. Swap them for placeholders first.

Photos and Clips for Your Designs

Claude Design prototypes full of gray placeholder boxes look unfinished, and stock photos rarely match a brand. Generating the imagery from the same terminal where you run Claude Code or Codex closes that gap.

PicassoIA offers a developer API at https://api.picassoia.com/v1 and an MCP connector, so an agent can request media like any other tool call. Jobs are asynchronous: create a prediction, poll until it finishes, then fetch the result. Each account runs up to 5 predictions at once, shared across tokens and MCP connections, and connections are managed from picassoia.com/en/mcp/accounts after you sign in. Check the pricing page for what your plan includes before you build on it.

Three models matter for design work:

On the website, Seedream 5 Pro is another text-to-image option for photorealistic scenes.

Studio wall filled with printed photographs and a photographer adjusting one print

Make Your Own Images Now

Every fix above ends in the same place: a working design pipeline still needs pictures. Open Picasso IA Image, type a scene the way you would brief a photographer, and watch it render. Change the lens, the light and the location until the frame feels right, then send the best one through Image Editor Pro for final fixes, or animate it with Picasso IA Video. Try three prompts today, one for a hero banner, one for a product shot and one for a portrait, and see how much faster your next prototype comes together.

Smiling designer holding a tablet on a rooftop terrace at golden hour

Share this article