When one script calls another script like this, the resulting message doesn't look (on the backend) the same as a message that was initiated by a human. Specifically, 3 key properties are changed/omitted: .selected => a script does not have a table presence, so there are never any tokens selected for a script-generated message .playerid => instead of an actual player's id, this is now 'API' .who => instead of a player's display name, this is now also 'api' It does strike me as odd that Encounter Helper knows it was you that tried to run the command, but can't/doesn't validate you as a GM. That it knows it was you tells me it's making some connection to you having initiated the ScriptCards message. Still, if it's because the message is lacking one of the above lost/changed properties, you can fix that with SelectManager (part of the MetaScriptToolbox). SelectManager tracks what the state of those 3 properties were at the point that a human initiated a message (ie, the ScriptCards message). Then it can "catch" the outgoing/downstream messages and give the properties back to the message, so it looks to other scripts like the message was created by a human. Install the toolbox, and you'll get SelectManager configured to give back the selected tokens. That's probably not the property that causes the problems, since the other 2 are the ones associated with player identification. My guess would be on the playerid property... so to turn that on, run this command after installing the toolbox: !smconfig +playerid To turn the who property on, run: !smconfig +who Or, to turn them both on at the same time, run: !smconfig +who +playerid (You can turn off any of this functionality again by using a minus sign instead of a plus sign.) After running any of these (or just by running !smconfig), SelectManager should report to you how it's configured. Once it is setup to give back these properties, give your ScriptCards message another try and see if it works for you.