I'm getting a similar crash with one of my macros. (Version 3.1.1) Error: evalmachine.<anonymous>:735 return { value: roll.expr.replace(/\+/g, " + ").replace(/\-/g, " - ") ^ TypeError: Object 2 has no method 'replace' at processRoll (evalmachine.<anonymous>:735:36) at evalmachine.<anonymous>:622:22 at Array.forEach (native) at buildInline (evalmachine.<anonymous>:621:30) at evalmachine.<anonymous>:563:66 at Array.forEach (native) at evalmachine.<anonymous>:560:43 at checkFinishedOps ( Macro that causes the crash: !power {{ --tokenid|@{selected|token_id} --emote|Erandr taps his foe with his weapon, while a rune shines on the back of his hand. A coil of power comes out of it, surrounding his enemy. --title| Divine, Runic, Weapon --target_list|@{target| |token_id} --format|atwill --name|Word of Binding --leftsub|Standard Action --rightsub|Melee weapon --Target:|%%token_name%% --Attack:|[[ [$Atk] 1d20 + @{STR} + @{MProf} + @{Half_Level}]] vs AC --?? $Atk base <> 20 ?? Hit:|[[ [NH] @{MDam} + @{STR} + ?{1 for Defiant Word|0}*@{WIS}]] damage, and the target is immobilized until the end of your next turn or you aren't adjacent to it. --?? $Atk base == 20 ?? CRIT:|[[ @{MDam_Max} + @{STR} + ?{1 for Defiant Word|0}*@{WIS} ]] damage, and the target is immobilized until the end of your next turn or you aren't adjacent to it. --?? ?{0 for Rune of Destruction, 1 for Rune of Protection|} base == 0 ?? ^1Rune of Destruction| Before the end of your next turn, the next attack against a target from an ally deals [[@{WIS}]] extra damage. --?? ?{0 for Rune of Destruction, 1 for Rune of Protection|} base == 1 ?? ^1Rune of Protection| One ally adjacent to either you or the target gains a +@{WIS} modifier power bonus to AC until the end of your next turn. }} The other macros use the same conditionals but work as intended.