I actually just wrote this last night for the exact same thing (I was working with TokenMod and wanted to be able to pull all status markers currently assigned). It's quick and dirty, but works for what I need it for. With a token selected, run `!getconditions` on("ready", () => { const getChatMessageFromTokenMarkers = (tokenname, markers) => { tokenname = tokenname || "Player"; let chatMessage = '/w GM <p><b>' + tokenname + '</b> is currently:<br>'; if (markers.length == 0) { chatMessage += "just fine!"; } else { _.each(markers, marker => { let status = marker.split("::")[0]; let status_value = marker.split("@")[1]; chatMessage += status + " "; chatMessage += status_value || ""; chatMessage += "<br>"; }); } return chatMessage + "</p>"; }; on("chat:message", msg => { if(msg.type == "api" && playerIsGM(msg.playerid)) { if(msg.content.split(" ")[0].toLowerCase() === '!getconditions') { if (!msg.selected) return; if (msg.selected[0]._type !== "graphic") return; obj = getObj(msg.selected[0]._type, msg.selected[0]._id); currentMarkers = obj.get("statusmarkers"); currentMarkers = (currentMarkers.length == 0) ? [] : currentMarkers.split(","); let chatMessage = getChatMessageFromTokenMarkers(obj.get("name"), currentMarkers); sendChat("Token Markers", chatMessage); } } }); });