The event object that is sent to sheetworkers when attributes change is incomplete when the attribute change was caused by a linked bar on a token being changed. It is missing the newValue and previousValue properties. Example code below (just hook the attribute up to a token to see the difference in response when changing on the sheet itself vs the token: HTML <input type="number" name="attr_token_link_test"> Sheetworker <script type="text/worker"> on('change:token_link_test',(event)=>{ log('event: '+JSON.stringify(event)); }); </script>