OK, got it 🙂
add_filter( 'wp_nav_menu_objects', 'add_nav_menu_item_class' );
function add_nav_menu_item_class( $items ) {
foreach ( $items as $item ) {
$post_id = get_post_meta( $item->ID, '_menu_item_object_id', true );
$post_tags = get_the_tags( $post_id );
if ( $post_tags ) {
foreach( $post_tags as $tag ) {
if ( $tag->name == 'unwatched' ) {
$item->classes[] = 'unwatched';
}
}
}
}
return $items;
}
The associated CSS, which changes the color of all menu items tagged with the ‘unwatched’ class, is
li.unwatched > a {
color: FORESTGREEN;
}