It was my understanding that the API doesn't trigger sheetworkers. This doesn't seem to be entirely true, however. The Shaped Support script has a feature that allows you to wipe a character and replace it with data imported from a statblock or JSON. To preserve default token mappings, the script doesn't delete the existing character, but instead wipes all of its attributes. What I'm seeing - unfortunately not consistently - is a big rush of change event logging in the browser JS console just as the deletion goes through. The amount varies significantly depending on the character - characters with lots of attributes tend to generate more obviously - and also between executions - perhaps a race condition involved? Some of the time it's benign, but if the wrong change events get triggered at the wrong time, it can create a cascade of updates that effectively undoes the entire deletion. Based on the logging coming through in the console, I'm wondering if this might be related to the setting of default values ("FILLED IN A DEFAULT VALUE FOR xxx") - could that somehow be triggering the sheet workers? It's especially problematic since there's no way to prevent the events as there is in the sheetworkers themselves, and there's no "bulk delete" option either, so the only way safely to delete attributes would be to construct a complete dependency tree of all of the possible sheetworker triggers and work backwards from the leaves to the roots! I will try to come up with some clearer criteria for when this happens, but it's a tricky one and I may not be able to get a clear reproduction path, so I thought I'd report what I know now to start with.