November 12, 2025
Deno or bust: comments ablaze
Yt-dlp: External JavaScript runtime now required for full YouTube support
You’ll need a JavaScript helper to save YouTube vids — and the comments are on fire
TLDR: yt-dlp now needs an external JavaScript tool (like Deno) to reliably download YouTube. The crowd is split between practical “just install it” vibes and doom-filled predictions of app-only lock-in and stronger DRM, accusing YouTube of tightening control over users and creators.
yt-dlp, the cult-favorite video downloader, just dropped a spicy update: to fully grab YouTube, you now need an external JavaScript engine like Deno. Without it, YouTube support is “deprecated” and will keep degrading—eventually breaking entirely. That’s the news; the drama is in the comments. Apocalypse camp warns the web is dying: one user forecasts YouTube going app-only, leaving browser folks behind. DRM camp asks why Google hasn’t slapped full Widevine (a streaming lock) yet, while archivists clutch their hard drives. Security camp counters with receipts from the EJS wiki: Deno runs with tight permissions, and it’s the recommended choice. Meanwhile, rage camp vents that YouTube’s adblock wars, AI training, and API crackdowns show a monopoly flex with no real competition.
There’s humor too: “Install Deno to install videos,” “Widevine is coming, hide your downloads,” and callbacks to the previous thread. Pragmatists shrug: the official yt‑dlp builds already include the EJS component, and Deno is enabled by default—Node, Bun, and QuickJS work if you really want. Package maintainers get a licensing footnote (MIT/ISC in the split-off module) and pinned versions drama. The mood: reluctant compliance, rebellious energy, and a dash of meme-fueled doom
Key Points
- •yt-dlp 2025.11.12 adds official support for external JavaScript runtimes to fully support YouTube.
- •Supported runtimes are Deno (min 2.0.0), Node.js (min 20.0.0), QuickJS (min 2023-12-9), QuickJS-ng (all versions), and Bun (min 1.0.31).
- •Only Deno is enabled by default; other runtimes are disabled by default for security reasons.
- •yt-dlp requires the yt-dlp-ejs component to use a JS runtime; it is bundled with official executables and the yt-dlp[default] Python package.
- •YouTube support without a JS runtime is deprecated, increasingly limited, and may eventually become impossible; version pinning and packaging guidance are provided for maintainers.