How to Upgrade yt-dlp Using Winget

Over the years, I keep facing this issue of upgrading yt-dlp using winget. I had to search the resolution over and over with many people pointing to different places, but only this worked for me, so I’m documenting it for myself.

Background

Winget is a pacakage manager for Windows. yt-dlp is a program to download YouTube videos. This program has an optional dependency to ffmpeg. When ffmpeg is available to use, yt-dlp gives the full feature of video/audio manipulation, like coverting from one format to another, splitting/merging, etc.

When installing yt-dlp through winget using:

winget install yt-dlp

Winget will also install this package called “Gyan.FFmpeg” and this package will make “ffmpeg” executable available for use in terminal, and therefore will make yt-dlp able to use ffmpeg too.

Problem

As documented in this GitHub issue yt-dlp.yt-dlp hard depends on Gyan.FFmpeg and no ability to use shared ffmeg, many users are facing issue with updating yt-dlp to latest version using winget upgrade yt-dlp.

For me, the problem arise after doing the upgrade, as seen with this logs:

PowerShell 7.5.0
PS C:\PATH_TO_FOLDER> yt-dlp --version
2025.03.25
PS C:\PATH_TO_FOLDER> ffmpeg -version
ffmpeg version 7.1.1-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers
  built with gcc 14.2.0 (Rev1, Built by MSYS2 project)
  [...redacted...]

PS C:\PATH_TO_FOLDER> winget upgrade yt-dlp
Found yt-dlp [yt-dlp.yt-dlp] Version 2025.03.27
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
This package requires the following dependencies:
  - Packages
      Gyan.FFmpeg
(1/1) Found FFmpeg [Gyan.FFmpeg] Version 7.1.1
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Extracting archive...
Successfully extracted archive
Starting package install...
Command line alias added: "ffmpeg"
Command line alias added: "ffplay"
Command line alias added: "ffprobe"
Successfully installed

Downloading https://github.com/yt-dlp/yt-dlp/releases/download/2025.03.27/yt-dlp.exe
  ██████████████████████████████  17.2 MB / 17.2 MB
Successfully verified installer hash
Starting package install...
Command line alias added: "yt-dlp"
Successfully installed
PS C:\PATH_TO_FOLDER> yt-dlp --version
2025.03.27
PS C:\PATH_TO_FOLDER> ffmpeg -version
ffmpeg version 7.1.1-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers
  built with gcc 14.2.0 (Rev1, Built by MSYS2 project)
  [...redacted...]

PS C:\PATH_TO_FOLDER>

However, if I open a new terminal:

PowerShell 7.5.0
PS C:\PATH_TO_FOLDER> ffmpeg
ffmpeg: The term 'ffmpeg' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
PS C:\PATH_TO_FOLDER> yt-dlp
yt-dlp: The term 'yt-dlp' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
PS C:\PATH_TO_FOLDER>

At this state, the following commands no longer work for me:

  • winget upgrade yt-dlp
  • winget upgrade Gyan.FFmpeg
  • winget uninstall yt-dlp
  • winget unsintall Gyan.FFmpeg

As I face the following problem or the combinations of them:

  • The program is already at the latest version, or
  • The program does not exist, or
  • yt-dlp is available, but it cannot use ffmpeg

Solution

For me, to upgrade to latest version of yt-dlp, I have to fully uninstall yt-dlp and ffmpeg first using Control Panel.

  • Windows settings > Apps > Installed apps. Search for “ffmpeg”. On the FFmpeg entry, tap the three-dot button, and click Uninstall
    Screenshot on Windows settings > Apps > Installed apps, showing search result of ffmpeg, with "uninstall" entry highlighted.
  • Windows settings > Apps > Installed apps. Search for “yt-dlp”. On the yt-dlp entry, tap the three-dot button, and click Uninstall
    Screenshot on Windows settings > Apps > Installed apps, showing search result of yt-dlp, with "uninstall" entry highlighted.

After that, re-do the installation of yt-dlp again, using winget install yt-dlp. This will make both yt-dlp and ffmpeg available again on terminal.

PS C:\PATH_TO_FOLDER> winget install yt-dlp
Found yt-dlp [yt-dlp.yt-dlp] Version 2025.03.27
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
This package requires the following dependencies:
  - Packages
      Gyan.FFmpeg
(1/1) Found FFmpeg [Gyan.FFmpeg] Version 7.1.1
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Extracting archive...
Successfully extracted archive
Starting package install...
Path environment variable modified; restart your shell to use the new value.
Command line alias added: "ffmpeg"
Command line alias added: "ffplay"
Command line alias added: "ffprobe"
Successfully installed

Downloading https://github.com/yt-dlp/yt-dlp/releases/download/2025.03.27/yt-dlp.exe
  ██████████████████████████████  17.2 MB / 17.2 MB
Successfully verified installer hash
Starting package install...
Path environment variable modified; restart your shell to use the new value.
Command line alias added: "yt-dlp"
Successfully installed

Even if I open a new terminal, it will still be available:

PowerShell 7.5.0
PS C:\PATH_TO_FOLDER> ffmpeg -version
ffmpeg version 7.1.1-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers
  built with gcc 14.2.0 (Rev1, Built by MSYS2 project)
  [..redacted..]

PS C:\PATH_TO_FOLDER> yt-dlp --version
2025.03.27
PS C:\PATH_TO_FOLDER>

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.