Skip to main content
Tabish Rafiq
New Member
July 8, 2026
Solved

[Bug] Auto-keyframe doesn't trigger for position/rotation changes via Plugin API (Motion Beta)

  • July 8, 2026
  • 3 replies
  • 155 views

When auto-keyframe mode is enabled in Figma Motion, property changes made through the Plugin API behave inconsistently:

  • Stroke width (strokeWeight) — changing this via plugin correctly adds a keyframe at the current playhead position 
  • Position (x, y) and Rotation (rotation) — changing these via plugin does NOT add a keyframe, even with auto-keyframe toggled on 

Steps to reproduce:

  1. Enable Motion mode and turn on the auto-keyframe toggle
  2. Select a node
  3. From a plugin, set node.strokeWeight = someValue → keyframe is added automatically
    From the same plugin, set node.x = someValue or node.rotation = someValue → no keyframe added

Expected behavior: All property changes made via the Plugin API should respect the auto-keyframe toggle, just like changes made through the UI do.

Workaround: Manually call applyManualKeyframeTrack for TRANSLATION_X, TRANSLATION_Y, and ROTATION at the desired time — but this requires knowing the current playhead position, which is also not exposed in the Plugin API (a separate gap worth addressing).

Best answer by Jaycee Lewis

Hey hey ​@Tabish Rafiq 🤩 Guess what? Playhead position is available in the Plugin API! Please try it out and let me know what you think. Have fun testing! — Jaycee

3 replies

Jaycee Lewis
Figmate
Figmate
July 8, 2026

Hey ​@Tabish Rafiq 👋 Thank you so much for the thoughtful and complete example. I took your main feedback and your comments about the workaround to the team that owns these features. I’ll follow up here if I get us any additional guidance. Talk soon! – Jaycee 

Tabish Rafiq
New Member
July 9, 2026

@Jaycee Lewis Thank you! Looking forward.

Jaycee Lewis
Figmate
Figmate
July 29, 2026

Hey hey ​@Tabish Rafiq 🤩 Guess what? Playhead position is available in the Plugin API! Please try it out and let me know what you think. Have fun testing! — Jaycee