At the time of setting, you can specify a character id instead of a token id, and it will apply it to all the tokens.  !token-mod --set aura1_radius|15u --ids @{Vampire|character_id}  If you need to synchronize a given token with all the other tokens that represent the same character, that's a different problem, and not one you can solve with TokenMod.     For that, I have another script, SyncCharacterTokens.  Select the tokens whose properties you want to sync, and run (note, you can select multiple different tokens and it will do the sync for each character):  !sync-token  Code:  on('ready',()=>{
  const syncProps=[
    // graphic stuff
    'isdrawing', 'flipv', 'fliph', 'tint_color', 'imgsrc',
    // Bars
    'bar1_value', 'bar1_max', 'bar1_link','bar1_num_permission',
    'bar2_value', 'bar2_max', 'bar2_link','bar2_num_permission',
    'bar3_value', 'bar3_max', 'bar3_link','bar3_num_permission',
    'bar_location', 'compact_bar',
    // auras
    'aura1_radius', 'aura1_color', 'aura1_square',
    'aura2_radius', 'aura2_color', 'aura2_square',
    // Permissions
    'showplayers_name', 'playersedit_name',
    'showplayers_bar1', 'showplayers_bar2', 'showplayers_bar3',
    'playersedit_bar1', 'playersedit_bar2', 'playersedit_bar3',
    'showplayers_aura1', 'showplayers_aura2',
    'playersedit_aura1', 'playersedit_aura2',
    // Legacy Dynamic Lighting
    'light_radius', 'light_dimradius', 'light_otherplayers',
    'light_hassight', 'light_angle', 'light_losangle',
    // Updated Dynamic Lighting
    'has_bright_light_vision', 'emits_bright_light', 'bright_light_distance',
    'has_directional_bright_light', 'directional_bright_light_total', 'directional_bright_light_center',
    'emits_low_light', 'low_light_distance',
    'has_directional_dim_light', 'directional_dim_light_total', 'directional_dim_light_center',
    'has_limit_field_of_vision', 'limit_field_of_vision_center', 'limit_field_of_vision_total',
    'has_night_vision', 'night_vision_tint', 'night_vision_distance',
    'has_limit_field_of_night_vision', 'limit_field_of_night_vision_center', 'limit_field_of_night_vision_total',
    'night_vision_effect', 'light_sensitivity_multiplier'
  ];
	const getCleanImgsrc = (imgsrc) => {
		let parts = imgsrc.match(/(.*\/images\/.*)(thumb|med|original|max)([^?]*)(\?[^?]+)?$/);
		if(parts) {
			return parts[1]+'thumb'+parts[3]+(parts[4]?parts[4]:`?${Math.round(Math.random()*9999999)}`);
		}
		return;
	};
  const simpleObj = (o) => JSON.parse(JSON.stringify(o));
  const parseErrs = (err) => (err.length ? `<div><b>Errors:</b><ul>${err.map(e=>`<li>${e}</li>`).join('')}</ul></div>`: '');
  const syncSiblings = (t) => {
    let c = getObj('character',t.get('represents'));
    let tokens = findObjs({
      type: 'graphic',
      represents: c.id
    }).filter(o=>t.id !== o.id);
    let count = tokens.length;
    let s = (1 === count) ? '' : 's';
    let src = simpleObj(t);
    let props = syncProps.reduce((m,p)=>({...m,[p]:src[p]}),{});
    let err = [];
    if(props.hasOwnProperty('imgsrc')) {
      props.imgsrc=getCleanImgsrc(props.imgsrc);
      if(undefined === getCleanImgsrc(props['imgsrc'])){
          delete props.imgsrc;
          err.push('Could not sync <code>imgsrc</code> from Marketplace.');
      }
    }
    tokens.forEach(t=>t.set(props));
    return `<div><code>${c.get('name')}</code>: ${count} token${s} synchronized.${parseErrs(err)}</div>`;
  };
  on('chat:message',msg=>{
    if('api'===msg.type && /^!sync-token(\b\s|$)/i.test(msg.content) && playerIsGM(msg.playerid)){
      let who = (getObj('player',msg.playerid)||{get:()=>'API'}).get('_displayname');
      let msgs = (msg.selected || [])
        .map(o=>getObj('graphic',o._id))
        .filter(g=>undefined !== g)
        .filter(g=>g.get('represents').length>0)
        .map(syncSiblings);
      sendChat('',`/w "${who}" ${msgs.join('')}`);
    }
  });
});
  This is an older script, and so some of the newer properties may not be in the list to sync.  If something is missing, just let me know.