Claude Code + Figma for non-technical designers

https://thoughtbot.com/blog/claude-code-figma-for-non-technical-designers

Moving from Figma to Claude Code and back again is now possible. This could be a game changer for less technical, more visual Product Designers.

What is this post about?:

In June 2025, Figma announced the beta release of their MCP server, a connection that lets AI coding tools read your Figma files directly. Claude Code, Anthropic’s agentic coding tool, was one of the first supported clients. Instead of describing a design to an AI in words, you give it a link to a Figma frame. It reads the components, the spacing, the design tokens, the structure, and builds the HTML and CSS from that.

That was interesting. But having tried it out previously, I found I’d often want to jump back into Figma to make changes to the Claude Code output. While it was possible to do this directly in the code, it wasn’t my strong suit and I found designing in Figma to be a lot faster.

Now Figma have gone one step further. You can now take a live, running interface built in Claude Code and send it back to Figma as editable layers. The workflow is no longer one-way. Design becomes code which becomes design again.

Who this workflow might suit:

Designers in thoughtbot are pretty unique in that for years, they have been writing and building prototypes in code. But for many designers who do not have a technical background, perfecting CSS, running commands in the terminal, opening PRs; these might all have seemed daunting.

If you’re an experienced technical designer, you probably won’t need this workflow. If you’re a designer who likes to design by prompt, directly in Claude Code, you also probably won’t need this workflow.

But if, like me, you are quite a visual designer who is not especially technical, these new advancements open up some exciting possibilities for shifting your designs to code and back, allowing you to make precise changes in a medium that you’re more comfortable with (Figma) and still ship some usable code.

Why I like it:

I like this workflow because I am not especially technical as a designer. I always found the terminal quite intimidating. This allows me to create prototypes in code.

However, I also like starting out in Figma because I don’t want Claude to do my thinking for me.

For example, let’s say I prompt Claude to create a website where users can search for properties in their area. Claude might create features that come as standard on many property sites, like searching for properties in a map view. Each pan/drag that changes the viewport means a new API call to fetch properties in that bounding box. But in my specific case, I may not want the expense of that API, especially at MVP stage. But if I prompt on autopilot, there is a risk that kind of feature would sneak in there without me actually spending the time considering it in detail.

So personally, I find that prompting from the get-go can introduce scope creep and lead to bloated projects.

I like to do the thinking behind the product myself (the really hard part of Product Design). This involves prioritisation, cutting scope, assessing technical feasibility and asking “should we build this?”. After this, I can use Figma and Claude Code as tools to help me with the execution (which is now a less hard part than previously).

What you need:

  • A paid Figma account
  • A paid Claude Code / Anthropic account.
  • Node.js

How to set it up:

Step 1 - Install Claude Code

I promise this is not as scary as it sounds.

You open the Terminal on your Mac (Applications > Utilities > Terminal). Paste in the following command and hit enter:

npm install -g @anthropic-ai/claude-code

Screenshot of a white computer terminal with minimum writing and the install prompt highlighted in black

You’ll see some text scrolling; that’s normal. When it finishes and gives you a $ prompt back, try typing:

claude

Hit enter and you should be in.

Claude Code running in a white computer terminal

Step 2 - Project Storage

Next, you need to create a folder for your project and then open Claude Code inside it.

Submit this into your terminal and hit enter:

mkdir ~/Desktop/my-projectcd ~/Desktop/my-projectclaude

Follow the first-time setup to log in. When you see a > prompt, you’re in!

Step 3 - Connect Figma

At the > prompt, paste in and hit enter on:

claude mcp add --transport http figma https://mcp.figma.com/mcp

Type claude to reopen, then /mcp, select Figma, and press Enter. It will open your browser to authorise the connection.

Set your standards

Before converting anything, create a CLAUDE.md file in your project folder. This is a plain text brief that Claude Code reads at the start of every session. It should contain what kind of code you want, naming conventions, how hover states should work, what a developer will need to wire up later and so on. If your company has specific development standards, this is the place to add them.

Getting this right once means every screen you build will follow the same rules.

Start building

Once you have designed a frame in Figma you can hit “Command + L” on Mac to copy a link to the frame.

Then you simply paste it directly into the next line of the terminal that is running Claude Code. You can add some additional instructions here too such as:

Build this design as clean, semantic HTML and CSS following the instructions in CLAUDE.md. Here's the frame: [your link]

A screenshot of a white computer terminal that is running Claude Code. It has a welcome message and a prompt which includes a link to a Figma design

It’s also a good idea to ask for a preview with a command like:

Start a local server so I can preview this in my browser

You can then see what Claude cooks up in your browser. And when you are ready to send it back to Figma, keep the browser preview open and go back to Terminal. At the Claude Code > prompt, type:

Send this to Figma

Claude Code is watching the browser preview it started, so you can tell it there what you want to capture. It will create a new frame in your Figma file with editable layers. From there, you can correct the issues you see, and then start the process again by sending your redesign back to Claude Code.

The GIF below shows a wonky mobile navigation Claude created being sent to Figma, and then the adjustments made to this directly in Figma iteself.

A GIF showing a mobile navigation bar with very messy spacing. Above the shot there is a toolbar that is clicked to send the navigation to FigmaAn image of the above mobile navigation, now being worked on in Figma directly

The same mobile navigation bar adjusted in Figma to correct the spacing issues


Conclusion:

And that’s it, that is the loop. It takes a session or two to feel natural. But after that, it becomes a fun new way of working.

In the next blog we will share how to correctly map your design tokens and components so that Claude uses them correctly when sending files over and back to take this workflow to the next level.

About thoughtbot

We've been helping engineering teams deliver exceptional products for over 20 years. Our designers, developers, and product managers work closely with teams to solve your toughest software challenges through collaborative design and development. Learn more about us.