Skip to content

Figloo 0.7.0

Latest

Choose a tag to compare

@github-actions github-actions released this 12 Oct 09:05

Snapshots are about twice as fast, values bound to Figma variables are read with the variable's name, and the screenshots of some frames are no longer cropped to one side. Update the extension and the MCP server together for all of it; the bridge protocol is still 0.3.0, so an older half keeps working without the timings and the variable names.

Upgrading

  • Replace the extension with the new zip and press the reload button on its card in chrome://extensions or arc://extensions.
  • Update the Claude Code plugin, or the .mjs file you registered, then start new agent sessions so they run the new server.
  • The extension and the MCP server speak bridge protocol 0.3.0. A pair that speaks different versions does not connect, and get_status reports PROTOCOL_MISMATCH.

Files

File SHA-256
figloo-extension-0.7.0.zip 4f41058147b11490b670dbf4e546e735261d80b83f591f625f7fb38fafcdb7c2
figloo-mcp-0.7.0.mjs b91b64afc8ced3d90241ed8842a00394ab455ff0d96d848b9a38f94badbc1856
figloo-mcp-0.7.0.mcpb 0f4c7d257a3843951a2459325e3c0c89e185504fd8a329be7658f85e453337a8

Install

  1. Unzip figloo-extension-0.7.0.zip into a folder you keep. On chrome://extensions or arc://extensions, turn on Developer mode, click "Load unpacked", and select that folder.
  2. Register the MCP server. In Claude Code, install the plugin, which downloads figloo-mcp-0.7.0.mcpb from this release:
    /plugin marketplace add g761007/figloo
    /plugin install figloo@figloo
    
    Without the plugin, keep figloo-mcp-0.7.0.mjs anywhere (it needs only Node.js 24), register it, then start a new session:
    claude mcp add -s user figloo -- node /absolute/path/to/figloo-mcp-0.7.0.mjs
  3. Pair once: run node figloo-mcp-0.7.0.mjs pair and paste the token and port into the extension's options page. The plugin's server reads the same ~/.figloo/config.json, so this works for the plugin too.
  4. In Figma, sign in (view access is enough), use the English UI, keep the UI expanded, and turn on "Adapt content for screen readers" under Main menu, Preferences, Accessibility settings. Keep the Figma tab on screen while the agent works.

Or let your agent do it: the README's Quickstart has one sentence to paste into Claude Code or Codex, which installs Figloo by following docs/agent-install.md and walks you through the steps only you can do.

The README has the details, and docs/troubleshooting.md the common problems.

Changes

Added

  • Values bound to Figma variables carry the variable's name: inspect_nodes, snapshots, and summarize_snapshot give it as variable, next to the value it stands for, and map_tokens lists the project token named like the variable first, as exact when it holds the same value and near when it holds another.
  • pnpm bench:snapshot shows where a snapshot's time goes: the extension times each phase, such as the screenshot, the walk, and selecting and reading each layer, and the MCP server writes the numbers to its log, never layer names. The timings are an optional field of the bridge protocol, which stays 0.3.0.

Changed

  • Snapshots and screenshots no longer wait about two seconds for Figma's "Zoom to selection" message to go away: Figloo hides Figma's messages while it takes the screenshot and shows them again right after.
  • A snapshot opens each collapsed layer it meets together with everything inside it, with one Alt-click, and closes it the same way at the end, instead of one click per layer each way. The layers panel shows what it showed before; a layer that was expanded inside a collapsed one comes back collapsed.
  • Reading a layer whose properties match the previous layer's, such as a duplicate, no longer waits 400 ms when the inspection panel's header shows another name, and a snapshot of the layer the user has selected reads it at once.

Fixed

  • A color bound to a Figma variable was unreadable, and a number bound to one, such as a gap, read as the variable's name instead of its value.
  • A snapshot of some frames failed with UI_NOT_READY ("the screenshot does not show the whole root"), and capture cropped them to one side: after zooming, Figma's screen reader mirror kept such a frame up to 141 px away from where it was drawn. Figloo now selects the layer anew after zooming, and a snapshot crops by where the screenshot shows the root.
  • The signed-in canary ran the extension's background script from an earlier build, because its browser profile kept the old service worker; it now clears it before each run.