Hi Jim! Here's what I use. This will run on all selected tokens. The command is !avatarfromtoken on("ready", function () { on("chat:message", function (msg) { if (msg.type == "api" && msg.content.indexOf("!avatarfromtoken") == 0) { let selected=(msg.selected); if (selected){ _.each(selected, function(token){ tok = getObj("graphic", token._id) img = tok.get("imgsrc"); log(tok.get("represents")); log(tok.get("imgsrc")); if (tok.get("represents") == ""){ sendChat("token from Avatar","There is no Represented field for one or more tokens"); return; } parent = tok.get("represents"); par = getObj("character", parent) par.set("avatar", img); }) } } }); });