I've been working on a fairly hefty script for use in my games that makes a lot of use of the API buttons in chat. e.g.: [BUTTON](!callintoscript with params) Usually this has allowed me a great deal of flexibility in how I can use it to pass more commands to my script and form fairly functional menus for my project. The catch is, that when attempting to pass a chat command such as @{target|token_id} to the button like this: sendChat("DEBUG","[BUTTON](!lncr_core_TargetSetTokenMarker @{target|token_id} burn)"); at some point in the process, the symbols for the target commands are getting stripped out of the call And recalling the previous command using in the chat window produces this: !lncr_core_TargetSetTokenMarker target|token_id burn I would like the ability to trigger the Target functionality using a button instead of a macro, since I could use it to dynamically pass params but it looks like I'm going to need some kind of workaround. Does anyone have any ideas? For the record: Using a macro works fine - "!lncr_core_TargetSetTokenMarker @{target|token_id} burn" produces the desired effect when used both in the chat window and a macro.