Troubleshooting
Problems in the Syntope Tokens plugin, with the exact message and the fix. For Syntope MCP, see its own page.
Applying a token fails
Messages appear as a Figma notice and per layer in the inspect tab, under last outcome:.
| Message | Cause | Fix |
|---|---|---|
| Node type ‘…’ cannot apply ‘…’: missing … | That layer type has no such property | Pick a target the layer has. See Apply targets |
| Add an existing drop shadow before applying ‘…’ or Add an existing drop or inner shadow… | The target edits a shadow that is not there | Add the shadow in Figma, or apply a shadow token, which writes the whole effect |
| Can’t change a size inside an instance. Change it on its main component. | Figma ignored the write | Apply it on the main component |
| ‘…’ is a straight line, so Figma can’t set this side. Nothing changed. | The line has no second dimension | Use the other side |
| A Figma variable sets this property. Confirm replacing it with this token. | A variable owns the property | Reapply in inspect, then apply token directly |
| ‘…’ has a broken reference: … does not exist. | The reference has no target | Fix it. See References and aliases |
| Cannot apply ‘…’ while the text has a missing font | Figma cannot load the layer’s font | Install or replace the font, then retry |
| Could not load weight … for font family ‘…’ | The family has no matching style | Use a weight the family has |
| Node type ‘…’ cannot apply a non-zero shadow spread | Spread works on rectangles, ellipses, and clipped frames, components or instances with a visible fill | Set spread to 0, or apply it to such a layer |
| Resolved stroke style is unsupported or not concrete | Only solid, dashed, dotted and the object form apply |
Use one of those |
Padding applied, nothing moved: padding and gap only show on a frame with auto layout. The apply still succeeds and saves the binding. Turn on auto layout.
Sync to selection does nothing
| Message | Fix |
|---|---|
| Select one or more Figma layers before syncing tokens. | Select layers. An empty selection does not mean the whole page |
| No Syntope token bindings found on current selection. | Apply a token first. Bindings are read from the selected layers and their children |
Editing a token alone never repaints layers. See Applying tokens.
“Your tokens in this file changed”
Your tokens in this file changed, for example with Figma undo. The project in the file is not the one the window showed, so the plugin stopped before changing anything. It now shows the stored project. Check it and try again.
If the message starts with Changes are not saved:, use reload project or retry save. discard draft drops the unsaved edit.
“your tokens could not be loaded”
The saved project is unreadable. Choose retry load. If that fails and the project is in Git, choose start empty project, then pull. Starting empty replaces the unreadable data.
My tokens disappeared
An import or a pull replaces the whole project, and deleting a token set deletes its tokens. To recover:
- Undo in the plugin header, while the plugin is still open.
- Cmd+Z in Figma.
- Pull from your repository, or import an export.
Git sync
Every message comes with its next step. The most common ones:
| Message | Fix |
|---|---|
| … didn’t accept your personal access token. | Create a new token with the scopes for your provider, then edit connection |
| Your personal access token can’t change files in … | The token lacks write access. Same fix |
| Syntope Tokens can’t see … | Check the repository name and the token’s access |
| … has no branch …. | Check branch, or create the branch in Git |
| … has no ….json. Check the file path… | Check the path, or push to create it |
| … is empty, so there’s nothing to pull yet. | Push first |
| Someone changed … since your last pull. | pull latest, then push again. See Sync |
| … is limiting how often your personal access token can be used. | Wait a few minutes |
| … isn’t a DTCG 2025.10 token file | Fix the named token or file in the repository, then pull |
| … is a Tokens Studio file, so Syntope Tokens pushed nothing | Follow the message: it says where to connect instead |
pull and push are disabled while the connection shows Credential required. Choose edit and paste your token on this computer.
Figma variables sync
| What you see | Fix |
|---|---|
| Sync is blocked: … a broken reference. | Fix the listed tokens. The whole sync waits for them |
| left out in the preview | Open show what is left out. See type mapping |
| Figma already has variables with these names… | Rename them in Figma, then refresh. The plugin never takes over a variable by name |
| Figma mode limit reached | Move the file to a Figma plan with more modes, then sync the rest. Or choose unlink collection, choose one theme → default mode and select this collection again |
| collection already linked | unlink collection, or choose another collection |
| Finish this Figma sync | sync the rest tries what is left |
| The Figma variable ‘…’ can’t hold this token any more… | The token’s type changed. Delete the variable in Figma, then sync the rest |
Colors look different on the canvas
Expected for wide-gamut values. The plugin converts colors to sRGB when it applies them and gamut-maps what does not fit. The token keeps its original value. See Color spaces.
The value I typed was rejected
Each token type page lists the values that type accepts.
The plugin window is the wrong size
Drag the handle at the bottom right. The size stays between 400×300 and 1200×900 and is remembered per file on this computer.
Still stuck
Collect the plugin version from the foot of Settings, the token type, its $value from the JSON view, the layer type, the target and the exact message. Then write to contact@syntope.eu or ask on Discord.
