This version is faster and more stable than my original attempt. In 1.0 I read and wrote YouTube's DOM directly. It felt like the efficient approach, but makes for constant UI regressions as YouTube changes, so I can't recommend it. In 2.0 the UI lives outside YouTube's app tree in a closed shadow root, and the data comes from YouTube's internal InnerTube JSON API. The trigger it uses is a small hook wrapping the page's fetch, i.e. when YouTube's client requests the add-to-playlist panel.
Privacy: As private as possible given it's a YouTube extension. The extension only talks to youtube.com, doesn't ship any third-party code, and stores nothing about your playlists, just two display preferences: sort order, and the privacy new playlists are created with. AGPL-3.0.
Install: https://chromewebstore.google.com/detail/efgbkmnooapcpdpgmih... Source: https://github.com/codyhxyz/playlist-search-extension Site: https://playlist.codyh.xyz/
Bonus: Technically you can replicate the filter-bar functionality with a dev console script, which I've linked here: (https://gist.github.com/codyhxyz/00001e74d238ae5911ccfc8f8d4...). For obvious reasons, I prefer a dedicated extension.
Happy to answer anything about my approach including the InnerTube API or about the shadow-root. Always looking to improve the extension's architecture.