UPDATED 22.11.2022
It's been two years since the last update, so here's the updated working script as per the comments below.
Thanks to BryanHaley for this.
setInterval(function () {
video = document.getElementsByTagName('ytd-playlist-video-renderer')[0];
video.querySelector('#primary button[aria-label="Action menu"]').click();
var things = document.evaluate(
'//span[contains(text(),"Remove from")]',
document,
null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
null
);
for (var i = 0; i < things.snapshotLength; i++)
{
things.snapshotItem(i).click();
}
}, 500);
Non-english users will need to change "Action menu" and "Remove from" to what YouTube uses for their localization.
Just discovered a native way to remove ALL watched videos!
I had 5,000 videos in my watch later playlist and it took about 10 seconds before it was down to 1,675 videos; I refreshed the page after 10 seconds in excitement. When I tested it again with only a handful of watched videos it did it within a few seconds and no manual refresh was necessary.