ytdlp.org

Practical yt-dlp docs: install, commands, fixes, cookies, and workflows.

Current section

Maintenance guide

How to update yt-dlp

When yt-dlp suddenly breaks, the first thing to check is your version. The right update command depends on how you installed it. If you use the wrong update path, you can waste time thinking yt-dlp is broken when really you just updated the wrong copy.

Quick answer

If you installed the standalone binary, start here.

yt-dlp -U
yt-dlp --version

If you installed with pip

python3 -m pip install -U yt-dlp

Use the same Python environment that owns your current yt-dlp install. A very common mistake is updating one Python environment while your terminal is still using a different copy.

If you installed with a package manager

Homebrew, winget, apt, and similar tools can work fine, but some package sources lag behind upstream releases. If a site changed recently, the newest upstream build often matters more than using your OS package manager out of habit.

How to tell whether the update worked

yt-dlp --version
yt-dlp -F "https://www.youtube.com/watch?v=BaW_jenozKc"

If the version changed and a simple format listing works, your update path is probably fine.

Most common update failures

  • • permission denied when trying to overwrite the binary
  • • updating with pip but using a different Python environment at runtime
  • • package manager version still behind upstream
  • • terminal still resolving an older yt-dlp binary on PATH

The mistake to avoid

Do not keep retrying broken downloads without confirming the update actually touched the copy of yt-dlp you are running. That is one of the easiest ways to burn time.

If it keeps breaking

Tired of fixing this every time a site changes?

Paste a link to see what a managed import API returns — the one that stays current so your workflow doesn't break.

Straightforward yt-dlp help for installs, commands, fixes, cookies, and repeatable workflows.

ytdlp.org is an independent, community-maintained documentation site. It is not affiliated with the yt-dlp project — the official source code lives at github.com/yt-dlp/yt-dlp.