動画ダウンロードツールとして広く使われている「yt-dlp」で、JavaScriptランタイム「Bun」のサポートが制限・非推奨化されることが発表されました。yt-dlpはYouTubeなどの動画サイトに対応する高機能なコマンドラインツールですが、YouTube側の仕様変更に対応するため、近年は外部JavaScriptランタイムの重要性が高まっています。
これまでyt-dlpではDeno、QuickJS、Node.js、Bunなどが外部ランタイムとして利用できました。しかし開発チームは、今後Bunについて「1.2.11〜1.3.14」の範囲のみを限定的にサポートし、それ以外のバージョンや将来版についてはサポート対象外にする方針を示しました。背景には、セキュリティ上の懸念と、Bunの開発体制がAIコーディングに大きく傾いていることへの不安があります。

⚙️なぜyt-dlpにJavaScriptランタイムが必要なのか
yt-dlpは以前、追加ソフトなしでもYouTube動画を取得できる場面が多くありました。しかしYouTube側では、動画取得の仕組みにJavaScriptベースの処理やチャレンジが組み込まれるようになり、yt-dlp側でもそれを解釈するために外部JavaScriptランタイムが必要になっています。
公式Wikiでは、YouTubeからダウンロードするにはYouTube側が提示するJavaScriptチャレンジを解く必要があり、そのためにDenoなどの対応ランタイムを導入する仕組みが説明されています。現在の推奨はDenoで、QuickJSやNode.jsも選択肢になりますが、Bunは今回の発表によって安定した選択肢とは言いにくくなりました。

✅今回の変更点まとめ
- Bunはyt-dlpの外部JavaScriptランタイムとして非推奨化
- サポート対象はBun 1.2.11〜1.3.14に限定
- 1.2.11未満はセキュリティ面の懸念あり
- 1.3.14より新しいBunは将来的な互換性リスクあり
- yt-dlp開発チームはDeno利用を推奨
- QuickJSやNode.jsも代替候補
- YouTube対応では外部JavaScriptランタイムの重要性が増加
今回の変更は、Bunがすぐに使えなくなるという意味ではありません。ただし、今後のyt-dlp運用では「Bunを前提に環境を組む」よりも、DenoやQuickJSへ切り替えた方がトラブルを避けやすくなります。

🤖BunのAIコーディング偏重が問題視された理由
Bunは高速なJavaScriptランタイムとして注目されてきましたが、近年は開発方針の大きな変化も話題になっています。特に、未リリースのRust移植版に関しては、多数のunsafeブロックが存在することが公式に示されており、安定性や安全性について議論が起きています。Bun公式は「現在配布されているBunは従来のZig実装であり、Rust版はまだ未リリース」と説明しつつ、Rust移植版のunsafeブロックを監査していることを明らかにしています。
yt-dlp開発チームが懸念しているのは、単に「AIでコードを書くこと」そのものではなく、AI生成コードによって将来的な互換性問題や保守コストが増える可能性です。yt-dlpはボランティア主体のFOSSプロジェクトであり、外部ランタイム側の仕様変更や不安定化に振り回されるリスクをできるだけ減らす必要があります。そのため、Bunの将来版まで積極的にサポートし続けるより、安定して検証できる範囲に限定する判断になったと考えられます。
🔐FOSSプロジェクトに広がる「AI生成コード」への警戒感
今回の件は、yt-dlpとBunだけの問題ではありません。近年、オープンソース界隈ではLLMやAIエージェントによって生成されたコードの扱いが大きな論点になっています。AIは開発速度を上げる一方で、見た目は正しくても保守しにくいコード、セキュリティ上の抜け、依存関係の混乱、ライセンス上の不透明さを生む可能性があります。
🧩AI生成コードで懸念されるポイント
- バグの原因が追跡しにくい
- 仕様変更時の保守コストが高くなる
- セキュリティ監査が難しくなる
- 依存関係やロックファイル管理が複雑化する
- プロジェクト方針が短期間で変わりやすい
- ボランティア開発者に負担が集中する
特にyt-dlpのように多くのユーザーが日常的に使うツールでは、「速いが不安定な選択肢」よりも「地味でも検証しやすい選択肢」が重視されます。今回のBun非推奨化は、FOSSプロジェクトがAI時代の開発リスクとどう向き合うかを示す事例ともいえます。
📝まとめ:yt-dlpユーザーはDeno移行が無難
yt-dlpでBunが非推奨化された背景には、YouTube対応の複雑化、JavaScriptランタイム依存の増加、Bunの開発方針への不安、AI生成コードの保守リスクといった複数の要因があります。
一般ユーザーにとって重要なのは、今後yt-dlpを安定して使うならDenoを導入するのが最も無難という点です。Bunは高速で魅力的なランタイムですが、yt-dlp用途ではサポート範囲が限定されるため、長期運用には向きにくくなりました。動画ダウンロード環境を安定させたい場合は、yt-dlp本体の更新だけでなく、外部JavaScriptランタイムの選択にも注意が必要です。
参考・出典
- yt-dlp GitHub「Bun support is now limited and deprecated」
- yt-dlp Wiki「External JS Scripts Setup Guide」
- yt-dlp GitHub「External JavaScript runtime now required」
- Bun公式「Bun’s unreleased Rust port has 13,365 unsafe blocks」
