Skip to main content
Question

"Check designs" passes when a raw radius value is used instead of a token

  • June 18, 2026
  • 4 replies
  • 9 views

Linh-Dan

When every property on a layer is correctly tokenized except for a border radius that uses a raw value, the "Check designs" feature reports the layer as fully compliant. The raw radius slips through undetected.

Steps to reproduce:

  1. Create a frame and apply tokens for all properties (color, spacing, etc.).
  2. Set the corner radius manually to a raw value (e.g. 8 px) instead of binding it to a radius token.
  3. Run "Check designs" on the frame.

Expected result:
"Check designs" flags the corner radius as a hard-coded value that should be replaced by a token.

4 replies

Jaycee Lewis
Figmate

Hey hey ​@Linh-Dan Thanks for the detailed steps! I tried to reproduce this on a minimal test case and wasn't able to. In my test, Check designs correctly flagged the raw corner radius for me. I’d like narrow down what's different in your setup.

My test:

  • a single frame with a tokenized fill (clean) and corner radius set to a raw `8`
  • I created a local number variable `Corner/Small` = `8`, scoped to corner radius
  • Running Check designs, the raw `8` showed up under the Dimensions tab with `Corner/Small` offered as a Match
  • It's behaving as expected

Questions:

  • Is your radius token scoped to corner radius? If a variable is scoped away from corner radius (or to a different property), Check designs may not offer it as a candidate and the raw value can pass silently. An easy one to rule out first
  • Does the token's value exactly match the raw value you used? An exact match shows as "Match"; a different value should still show as a suggestion. A screenshot or quick recording could help here
  • Where does the radius variable live — is it local to the file, or in a library that's added/subscribed to the file?

Thank you for the additional details! — Jaycee


Linh-Dan
  • Author
  • New Member
  • June 18, 2026

Hello ​@Jaycee Lewis 

Thanks so much for getting back to me so quickly! Answers below.

1. Is your radius token scoped to corner radius?
Yes, the radius variables are scoped to corner radius. They appear as candidates when bound manually, so scoping isn't the issue.

2. Does the token's value exactly match the raw value you used?
No, the raw value is 9 and there's no token at 9, the nearest one is 8.

3. Where does the radius variable live?
It's local to the file, not in an external library.

And you’re right, I can't reproduce it consistently...

Here a screen capture:

 


Linh-Dan
  • Author
  • New Member
  • June 18, 2026

Steps to reproduce:

I create a subframe (this is the accordion-header case) with a corner radius of 9px and a hidden background fill meant for the hover state. "Check designs" reports no problem. I make the background fill visible, and "Check designs" now detects the raw value. I leave it uncorrected.

I then place this subframe inside another frame (the accordion-item case). I build the default and hover variants. I run "Check designs", and it doesn't detect the raw radius, even though there's a visible background fill on the hover variant.

Here's a very simplified example (run "Check designs" on "Frame" component here):

 


Damian_Summersall

I also have the same issue with radius passing, too:


Similar to this, it marks it as a pass when the raw colour’s opacity is 0%. But as soon as you set it to 1% or higher, it shows up, even suggesting a token that’s 0% opacity: