When driving a FigJam file through the Plugin API via an MCP integration, I hit three reproducible problems in one working session. Filing together since they all stem from Plugin-API-over-MCP reliability.
1. Cross-page reads return empty. Reading a page's children for any page that is NOT the
currently active page (e.g. figma.root.children[n].children where n is not figma.currentPage) returns 0 nodes, even when the page clearly has content. Only the active page reads correctly. This makes it impossible to reliably inspect or verify content on other pages.
2. Cross-page clone/append fails silently. Calling .clone() on a sticky and appendChild
onto a different page produces no visible node and throws no error. The operation reports success but the content never appears on the target page. Recreating nodes from scratch on the active page works; moving/cloning across pages does not.
3. Edits don't reliably persist / possible transaction rollback. Text edits and deletes
sometimes don't stick. Separately, using throw new Error(...) to surface diagnostic output appears to abort the transaction before the preceding mutation commits, so the operation reports success while the change is actually rolled back.
Net effect: same-page reads and moves are reliable, but anything cross-page, or any mutation followed by a thrown diagnostic, is not, and there's no error to signal the failure.
Environment: FigJam file, Plugin API accessed via an MCP server, macOS.

