OK, so I'm working on this in my test game, too... and I don't have it completely working, but I think I have the metascript portion correct. First, the example you supplied to which I said, "Exactly" actually had a curly brace at the end of the Fetch construction rather than a closing parentheses. It should have been: !token-mod --set controlledby|= @(@{target|token_id}.player_name) ...unless you might assign to a player with a space in their name, in which case you'll want apostrophes: !token-mod --set controlledby|=' @(@{target|token_id}.player_name)' Also, since you're using a targeting statement, you won't have a selected token when Token-Mod sees the message, so you'll need to supply something to the --ids argument (or use SelectManager to virtually select a token). If you intend to select the token of-which-you-wish-to-pass-control, then click on another target to supply the player to whom to assign control, then you can do: !token-mod --set controlledby|=' @(@{target|token_id}.player_name)' --ids @{selected|token_id} But, of course, you can supply that id in a number of different ways. I can get the above working in my game, except that I am running into trouble with Token-Mod and players with spaces in their names... though that could easily be (and most likely is) a lack of understanding of some nuance of Token-Mod on my part. I'm reaching out separately to get some clarity on that question, but if you don't have players with spaces in their names, the above should work just fine for you, so I thought I'd share it.