Hiding Previously Watched Youtube Recommendations

Using uBlock filters to see more new things
 Posted October 1, 2025 (Updated June 2, 2026)
Hiding Previously Watched Youtube Recommendations https://caleb-vincent.io/post/2025-10-01_youtube-filters/

I don’t care about your monologue, just show me the filters!

  • These filters were updated 2026/06/02, as the previous version started hiding all recommended videos on channel pages.
  • These filters were updated 2026/02/03, as the previous version started hiding all recommended videos on the Youtube Home page.

The Process

I got tired of Youtube constantly recommending me videos I have seen before. With the exception of music videos, I will very rarely want to watch something twice, and in those cases I will probably go looking for it.

Since I use uBlock Origin for an adblocker, I should be able to add my own custom filters to hide Youtube recommendations that show a progress bar—assuming they didn’t bake that into the thumbnail.

I turns out they didn’t. This hides all recommendations with a progress bar on the homepage.

www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBar)

This is fine, but perhaps a bit draconian, Sometimes I will start a video, decide “eh, not now” and leave the tab in the background to rot away and be forgotten about. Those videos I would like to still show up from time to time.

Luckily for me, Youtube handily provides the watched percentage, so this will hide all recommendations I completely finished watching:

www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 100%"])

Except that much of the time I’m going to close a video before the it actually completely finishes. Now I would like to be able to have a filter that applied whenever the progress bar width was over 90%, but CSS selectors only work on text, not numbers. So, that means I have to do it the hard way:

www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 95%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 96%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 97%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 98%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 99%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 100%"])

Yeah, I changed it to 95%.

This doesn’t affect the recommendations after/alongside a video, that is similar:

www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 95%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 96%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 97%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 98%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 99%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 100%"])

This will not hide search results, watch history, subscriptions or playlists.

My Final Filters

! No previously watched videos on the home page with any progress
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(yt-thumbnail-bottom-overlay-view-model)

! No finished videos recommended on another video
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 90%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 91%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 92%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 93%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 94%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 95%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 96%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 97%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 98%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 99%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 100%"])

The Downsides

These filters hide all videos regardless of contents, so if you want to get music video recommendations or periodic reminders of older videos you like—this may not be for you.

Prior to this, I often used Youtube for music recommendations, I’m going to try Youtube Music instead (where these filters do not apply).

Sometimes, hovering over a video will autoplay it, and sometimes Youtube counts this as progress. It would be annoying if stopped showing a video that I accidentally left my mouse over for a bit. I’ll have to see if this happens a noticeable amount.

There’s no way to hide one of the recommendations that appear when a video ends, since they provide no progress bar.

After a long enough period of time Youtube stops showing progress bars on watched videos, so after a year or so somethings you’ve seen will probably start showing back up.

Just The Filters

You’ll want to pick and choose what lines you want, ‘cause you read the explanation, right?

! Hide everything with a progress bar on the homepage
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBar)

! Hide homepage recommendations based on watched precentage 
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 1%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 2%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 3%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 4%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 5%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 6%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 7%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 8%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 9%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 10%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 11%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 12%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 13%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 14%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 15%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 16%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 17%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 18%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 19%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 20%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 21%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 22%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 23%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 24%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 25%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 26%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 27%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 28%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 29%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 30%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 31%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 32%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 33%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 34%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 35%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 36%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 37%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 38%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 39%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 40%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 41%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 42%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 43%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 44%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 45%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 46%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 47%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 48%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 49%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 50%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 51%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 52%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 53%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 54%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 55%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 56%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 57%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 58%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 59%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 60%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 61%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 62%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 63%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 64%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 65%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 66%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 67%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 68%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 69%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 70%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 71%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 72%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 73%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 74%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 75%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 76%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 77%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 78%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 79%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 80%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 81%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 82%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 83%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 84%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 85%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 86%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 87%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 88%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 89%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 90%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 91%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 92%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 93%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 94%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 95%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 96%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 97%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 98%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 99%"])
www.youtube.com##.ytd-browse[page-subtype="home"] ytd-rich-item-renderer:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 100%"])

! Hide video companion recommendations based on watched percentage
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 1%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 2%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 3%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 4%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 5%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 6%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 7%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 8%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 9%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 10%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 11%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 12%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 13%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 14%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 15%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 16%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 17%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 18%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 19%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 20%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 21%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 22%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 23%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 24%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 25%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 26%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 27%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 28%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 29%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 30%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 31%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 32%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 33%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 34%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 35%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 36%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 37%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 38%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 39%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 40%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 41%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 42%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 43%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 44%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 45%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 46%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 47%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 48%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 49%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 50%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 51%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 52%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 53%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 54%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 55%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 56%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 57%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 58%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 59%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 60%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 61%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 62%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 63%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 64%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 65%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 66%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 67%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 68%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 69%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 70%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 71%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 72%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 73%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 74%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 75%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 76%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 77%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 78%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 79%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 80%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 81%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 82%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 83%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 84%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 85%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 86%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 87%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 88%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 89%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 90%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 91%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 92%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 93%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 94%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 95%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 96%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 97%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 98%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 99%"])
www.youtube.com##.ytd-watch-flexy yt-lockup-view-model:has(.ytThumbnailOverlayProgressBarHostWatchedProgressBarSegment[style*="width: 100%"])

Bonus (hides Youtube Music subscriptions banner):

music.youtube.com##ytmusic-mealbar-promo-renderer

Though sometimes it doesn’t seem to work ¯\_(ツ)_/¯