Hey, Jesse... A couple of things jump out at me. First, it looks like you entered the command line Keith provided you right into the tooltip instead of the chat. Commands that begin with a bang ("!") are intended to go through the chat interface so that the scripts can take action. In this case, the idea would be to select the tokens for which you wanted to change the tooltip, then you'd run the command. At the end of it, TokenMod (with the help of the metascripts) would have given all of the selected tokens a new tooltip. To be clear, the tooltip assigned would not change every time a player interacted with the token... but only the next time you changed it -- which you could do manually or by entering the same command line into chat. Now, about the command line itself, Keith reports that it works... I would have to do a bit more testing because I'm not sure that it's supposed to. =D Keith is actually using ZeroFrame deferrals (the backslashes), but I would expect those to have been spent by the time forselected catches the message (it's a bit down in the weeds of the timing of things, but forselected runs at standard-script speed, and by then ZeroFrame and the metascripts are finished). At the very least, I would worry that those ZeroFrame deferrals *could* be spent by the time forselected got a hold of the message, so just to be sure of how things would run, I'd probably approach this command line with forselected deferrals: !forselected(^) token-mod --set tooltip|"[^[^1t[Stock-Phrase-Table]^]^]" forselected deferrals are user-chosen characters in the parentheses immediately following "forselected"... then those characters are used to hide the text formations that would let Roll20 recognize and parse standard syntax -- like inline rolls. SelectManager (which the forselected handle belongs to) will remove the deferral characters from the outbound command line before it dispatches it, so the inline roll will be undetected and unresolved. SelectManager will take that command line and issue it for each individual token; since each command will have an unresolved inline roll, the roll will be made new each time, and an individual result obtained from your table. The above option would only require SelectManager and TokenMod, but the other metascripts you have can still be good solutions for different circumstances. Bonus If you don't want to select the tokens manually, you could add a {&select} statement from SelectManager to obtain them dynamically. You would just need a method of designating them all. For instance, this would get you all npcs: {&select *, +npc} ...or in the full command line: !forselected(^) token-mod --set tooltip|"[^[^1t[Stock-Phrase-Table]^]^]" {&select *, +npc} That might get more tokens than you want, so you'd perhaps want to identify the "chatty" ones in another way... with a keyword in the gm notes field (like "chatty"): {&select *, +notes ~ chatty} ...or a bar3 value of "chatty": {&select *,+bar3 = chatty} (Note, these should work, but I have gotten a report of a problem with this part of SelectManager, so I'm looking into it. But very shortly, this should be working exactly as described.)