Roll back to a savepoint
figma_rollbackTake back everything you did since a savepoint, in one call, only when that is safe. Refused with ROLLBACK_BLOCKED before any undo when, since the savepoint, a person or a collaborator changed anything on the page the plugin watches, a…
Instructions
Take back everything you did since a savepoint, in one call, only when that is safe. Refused with ROLLBACK_BLOCKED before any undo when, since the savepoint, a person or a collaborator changed anything on the page the plugin watches, a local variable or style changed without you, or the page was switched by anyone but you: an undo would take their edit too. Your own changes reported late do not block it. The refusal lists what changed (partial.changed) and offers the safe part: figma_delete_nodes on the nodes you made since (partial.safe), which touches nobody's edits. Otherwise one undo per call since the savepoint, then a check that the nodes made since are gone: { savepointId, undone, verified, stillThere, calls }. Use it instead of figma_undo_step. Requires confirm: true. Editors: Design; unverified: FigJam, Slides.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Overwrite on purpose. A write to a node someone changed after you last read it is refused (STALE); read it again and resend instead. Pass true only when the person said to overwrite their edit. | |
| confirm | Yes | Must be true: you have read the description. | |
| session | No | Optional sessionId or file name, to pick a Figma file when more than one is connected. | |
| savepointId | Yes | The savepoint to go back to, as figma_savepoint returned it ("sp-3"). | |
| idempotencyKey | No | Caller-owned retry key, ≤128 chars. Re-calling with the same key never executes twice: it returns the existing result, or waits for the op still in flight. Supply your own for anything large — if the MCP client times out (rather than the bridge), only a key you chose can be used to retry safely. |