In total it's far more code than easily postable. Here is a snippet. That has already been working for a while now. A couple weekends ago it stopped working just like it is now, then started working the next morning. Old versions of the script don't help. Nothing repeating works. It just opens the config of the first item. This code has been used successfully many times over. It works. I also have excellent error logging. No errors are being thrown. "setAttribute" : function ( characterId , attributeName , current , max ) { if (! characterId || typeof characterId !== 'string' ) { throw new Error ( "Invalid parameter 'characterId'" ); } if (! attributeName || typeof attributeName !== 'string' ) { throw new Error ( "Invalid parameter 'powerName'" ); } if ( typeof current !== 'string' && typeof current !== 'number' ) { throw new Error ( "Invalid parameter 'current'" ); } if ( typeof max !== 'undefined' && typeof max !== 'string' && typeof max !== 'number' ) { throw new Error ( "Invalid parameter 'max'" ); } if (! current ) current = "" ; if (! max ) max = "" ; var attribute = this . getAttribute ( characterId , attributeName ); if ( attribute ) { attribute . set ( "current" , current ); attribute . set ( "max" , max ); } else { createObj ( "attribute" , { "name" : attributeName , "current" : current , "max" : max , "characterid" : characterId }); } },