[BUG] Greyed out Figma installed button - can't push design from Claude to Figma

Resolved 💬 2 comments Opened Jun 30, 2026 by Jin0129-design Closed Jul 3, 2026

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?

The Figma personal plugin (v2.2.68, Marketplace, Anthropic & Partners) is installed and enabled in claude.ai, with its connector (dev-mode-mcp-server-dxt) connected and exposing 5 read-only tools: get_design_context, get_metadata, get_screenshot, get_variable_defs, get_figjam. The plugin's Skills tab fully renders 10 skill files, including write/push-oriented skills (/figma-use, /figma-create-new-file, /figma-generate-design, /figma-generate-diagram, /figma-generate-library, /figma-use-figjam, /figma-use-motion, /figma-use-slides, /figma-swiftui). Several skills explicitly reference write-capable tools that never load (e.g. use_figma, create_new_file, get_code_connect_suggestions), regardless of restarting both Figma desktop and Claude desktop per the skill's own documented remediation step. This creates a dead-end: Claude is instructed by the skill to follow workflows referencing tools that are never actually available in this environment.

What Should Happen?

Either the write-capable Figma MCP tools should become available after the documented restart sequence (since the figma-code-connect skill explicitly tells Claude to "guide the user to enable the Figma MCP server and restart their MCP client" if tools are missing — implying this should resolve it), or the plugin should not surface write-oriented skills at all when no write-capable MCP server is reachable from the current client surface. Users should not see fully-loaded skill instructions for tools that can never be invoked.

Error Messages/Logs

When searching for write-capable tools directly (tool_search queries for use_figma, create_new_file, generate_diagram, get_code_connect_suggestions), only the same 5 read-only tools are returned every time, with no error — the tools simply do not exist in the available set.

Steps to Reproduce

  1. In claude.ai, go to Customize → Personal plugins → add Figma (Marketplace, Anthropic & Partners, v2.2.68).
  1. Confirm the plugin toggle shows "Enabled" and the Connectors tab shows the connector (dev-mode-mcp-server-dxt) as Connected, with 5 read-only tool permissions listed (Get design context, Get variable defs, Get screenshot, Get metadata, Get figjam).
  1. Go to the plugin's Skills tab and confirm the following skills are listed and fully render their SKILL.md content: figma-code-connect, figma-create-new-file, figma-generate-design, figma-generate-diagram, figma-generate-library, figma-implement-motion, figma-swiftui, figma-use, figma-use-figjam, figma-use-motion, figma-use-slides.

4.Open figma-code-connect's SKILL.md and note the Prerequisites section states: "Figma MCP server must be connected — verify that Figma MCP tools (e.g., get_code_connect_suggestions) are available before proceeding. If not, guide the user to enable the Figma MCP server and restart their MCP client."

  1. Fully quit and restart the Figma desktop app (re-enable Dev Mode + MCP server toggle inside an open design file) and fully quit and restart the Claude desktop app, per the remediation step above.
  1. In a new Claude conversation, ask Claude to search for and use any write-capable Figma tool (e.g. "create a new Figma file," "push this design to Figma," "use_figma to add a node").
  1. Observe that only the same 5 read-only tools are ever returned — use_figma, create_new_file, generate_diagram, and get_code_connect_suggestions never appear, before or after the restart.

Claude Model

Sonnet (default)

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

v2.1.195

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗