### Checklist
- [x] I'm reporting that yt-dlp is broken on a **supported** site…
- [x] I've verified that I have **updated yt-dlp to nightly or master** ([update instructions](https://github.com/yt-dlp/yt-dlp#update-channels))
- [x] I've checked that all provided URLs are playable in a browser with the same IP and same login details
- [x] I've checked that all URLs and arguments with special characters are [properly quoted or escaped](https://github.com/yt-dlp/yt-dlp/wiki/FAQ#video-url-contains-an-ampersand--and-im-getting-some-strange-output-1-2839-or-v-is-not-recognized-as-an-internal-or-external-command)
- [x] I've searched [known issues](https://github.com/yt-dlp/yt-dlp/issues/3766), [the FAQ](https://github.com/yt-dlp/yt-dlp/wiki/FAQ), and the [bugtracker](https://github.com/yt-dlp/yt-dlp/issues?q=is%3Aissue%20-label%3Aspam%20%20) for similar issues **including closed ones**. DO NOT post duplicates
- [x] I've read the [policy against AI/LLM contributions](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#automated-contributions-ai--llm-policy) and understand I may be blocked from the repository if it is violated
- [ ] I've read about [sharing account credentials](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#are-you-willing-to-share-account-details-if-needed) and I'm willing to share it if required
### Region
Germany
### Provide a description that is worded well enough to be understood
I am trying to download a Youtube Video via YT-DLP with the following Command:
`yt-dlp -a output.txt --cookies-from-browser firefox --limit-rate 100K`
Deno for JS Challenges is installed.
YT-DLP is on the most current Version:
pip install yt-dlp -U
Requirement already satisfied: yt-dlp in e:\tools\anaconda\lib\site-packages (2026.3.17)
For the Video I get the following Result:
<img width="987" height="360" alt="Image" src="https://github.com/user-attachments/assets/bba289da-df2f-45e9-bfb6-533c44748c7a" />
### Provide verbose output that clearly demonstrates the problem
- [x] Run **your** yt-dlp command with **-vU** flag added (`yt-dlp -vU <your command line>`)
- [ ] If using API, add `'verbose': True` to `YoutubeDL` params instead
- [x] Copy the WHOLE output (starting with `[debug] Command-line config`) and insert it below
### Complete Verbose Output
```shell
[debug] Command-line config: ['-a', 'output.txt', '--cookies-from-browser', 'firefox', '--limit-rate', '100K', '-vU']
[debug] Batch file urls: [...]
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version stable@2026.03.17 from yt-dlp/yt-dlp [04d6974f5] (pip)
[debug] Python 3.10.9 (CPython AMD64 64bit) - Windows-10-10.0.19045-SP0 (OpenSSL 1.1.1t 7 Feb 2023)
[debug] exe versions: ffmpeg 8.0.1-essentials_build-www.gyan.dev (setts), ffprobe 8.0.1-essentials_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.18.0, brotli-None, certifi-2022.12.07, mutagen-1.46.0, requests-2.31.0 (unsupported), sqlite3-3.40.1, urllib3-2.2.1, websockets-12.0 (unsupported)
[debug] JS runtimes: deno-2.7.11
[debug] Proxy map: {}
Extracting cookies from firefox
[debug] Extracting cookies from: "C:\Users\...\AppData\Roaming\Mozilla\Firefox\Profiles\ixgyjvxt.default-release\cookies.sqlite"
[debug] Firefox cookies database version: 17
Extracted 83 cookies from firefox
[debug] Request Handlers: urllib
[debug] Plugin directories: none
[debug] Loaded 1864 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: stable@2026.03.17 from yt-dlp/yt-dlp
yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp)
[debug] [youtube] Found YouTube account cookies
[debug] [youtube] [pot] PO Token Providers: none
[debug] [youtube] [pot] PO Token Cache Providers: memory
[debug] [youtube] [pot] PO Token Cache Spec Providers: webpo
[debug] [youtube] [jsc] JS Challenge Providers: bun (unavailable), deno, node (unavailable), quickjs (unavailable)
[youtube] Extracting URL: https://www.youtube.com/watch?v=TH2...mY
[youtube] TH2...mY: Downloading webpage
[debug] [youtube] Forcing "main" player JS variant for player 8456c9de
original url = /s/player/8456c9de/player_es6.vflset/en_US/base.js
[youtube] TH2...mY: Downloading tv downgraded player API JSON
[youtube] TH2...mY: Downloading player 8456c9de-main
[youtube] [jsc:deno] Solving JS challenges using deno
[debug] Loading challenge-solver.lib from cache
[debug] [youtube] [jsc:deno] Using challenge solver lib script v0.8.0 (source: cache, variant: minified)
[debug] [youtube] [jsc:deno] Using challenge solver core script v0.8.0 (source: builtin, variant: unminified)
[debug] [youtube] [jsc:deno] Running deno: 'C:\ProgramData\chocolatey\lib\deno\deno.EXE' run --ext=js --no-code-cache --no-prompt --no-remote --no-lock --node-modules-dir=none --no-config --no-npm --cached-only -
[debug] [youtube] TH2...mY: Detected experiment to bind GVS PO Token to video ID for web_safari client
[youtube] TH2...mY: Downloading m3u8 information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec, channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] TH2...mY: Downloading 1 format(s): 299+251
[debug] Invoking http downloader on "https://rr9---sn-bvvbaxivnuxq8vq54voxqx-4g5l.googlevideo.com/videoplayback?expire=1776968069&ei=JQ3qaYPrG7fSi9oPnPzp4QM&ip=2a00%3A1e%3Aa900%3A2c01%3A84cb%3Ac911%3Acf6e%3A769c&id=o-ACxbO0Ic_gGsle7cTiQycf8nNc1Mb7FN1x1UQnU_ufP7&itag=299&aitags=134%2C136%2C160%2C243%2C298%2C299&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&cps=0&met=1776946469%2C&mh=KZ&mm=31%2C29&mn=sn-bvvbaxivnuxq8vq54voxqx-4g5l%2Csn-4g5ednkz&ms=au%2Crdu&mv=m&mvi=9&pl=37&rms=au%2Cau&initcwndbps=295000&siu=1&bui=AUUZDGIs8qYoGMpaaAJAO8Qv2DdfrSHRi6XsQpghV5PF-dOVq8McIHisXqCTd9iQAdtNjVFj0g&vprv=1&svpuc=1&mime=video%2Fmp4&ns=hHlxsCiaZkcE5Sm2qAl_swwU&rqh=1&gir=yes&clen=137656456&dur=923.116&lmt=1775995806166347&mt=1776945942&fvip=1&keepalive=yes&lmw=1&fexp=51565116%2C51565682%2C51869322&c=TVHTML5&sefc=1&txp=6209224&n=_hSa95MvMkbSUQ&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cxpc%2Csiu%2Cbui%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AHEqNM4wRgIhANwciZb-qpZI17k0kCWrQ1fCMiyJdKMrL2NK-3Ih7AAMAiEAqE0Y1TT7tvvzMpeDnFZrA5MuNduqQaGzMD-LLTy1wXc%3D&lsparams=cps%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinitcwndbps&lsig=APaTxxMwRQIhANJpO11SyYiEPR-ahTdUvhZrdHK0JBEZ-G0h3NdBKNQuAiBmzhNjWWQRBiJpCFEDvukBq5FLzPkjOlsspMwmrHREgQ%3D%3D"
[download] Got error: HTTP Error 503: Service Unavailable. Retrying (1/10)...
[download] Got error: HTTP Error 503: Service Unavailable. Retrying (2/10)...
[download] Got error: HTTP Error 503: Service Unavailable. Retrying (3/10)...
[download] Got error: HTTP Error 503: Service Unavailable. Retrying (4/10)...
[download] Got error: HTTP Error 503: Service Unavailable. Retrying (5/10)...
[download] Got error: HTTP Error 503: Service Unavailable. Retrying (6/10)...
[download] Got error: HTTP Error 503: Service Unavailable. Retrying (7/10)...
[download] Got error: HTTP Error 503: Service Unavailable. Retrying (8/10)...
[download] Got error: HTTP Error 503: Service Unavailable. Retrying (9/10)...
[download] Got error: HTTP Error 503: Service Unavailable. Retrying (10/10)...
[download] Got error: HTTP Error 503: Service Unavailable. Giving up after 10 retries
File "E:\Tools\Anaconda\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "E:\Tools\Anaconda\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "E:\Tools\Anaconda\Scripts\yt-dlp.exe\__main__.py", line 7, in <module>
sys.exit(main())
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\__init__.py", line 1079, in main
_exit(*variadic(_real_main(argv)))
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\__init__.py", line 1070, in _real_main
return ydl.download(all_urls)
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\YoutubeDL.py", line 3670, in download
self.__download_wrapper(self.extract_info)(
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\YoutubeDL.py", line 3643, in wrapper
res = func(*args, **kwargs)
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\YoutubeDL.py", line 1687, in extract_info
return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\YoutubeDL.py", line 1698, in wrapper
return func(self, *args, **kwargs)
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\YoutubeDL.py", line 1854, in __extract_info
return self.process_ie_result(ie_result, download, extra_info)
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\YoutubeDL.py", line 1913, in process_ie_result
ie_result = self.process_video_result(ie_result, download=download)
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\YoutubeDL.py", line 3096, in process_video_result
self.process_info(new_info)
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\YoutubeDL.py", line 189, in wrapper
return func(self, *args, **kwargs)
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\YoutubeDL.py", line 3526, in process_info
partial_success, real_download = self.dl(fname, new_info)
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\YoutubeDL.py", line 3285, in dl
return fd.download(name, new_info, subtitle)
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\downloader\common.py", line 480, in download
ret = self.real_download(filename, info_dict)
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\downloader\http.py", line 360, in real_download
for retry in RetryManager(self.params.get('retries'), self.report_retry):
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\utils\_utils.py", line 5274, in __iter__
self.error_callback(self.error, self.attempt, self.retries)
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\downloader\common.py", line 413, in report_retry
RetryManager.report_retry(
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\utils\_utils.py", line 5281, in report_retry
return error(f'{e}. Giving up after {count - 1} retries') if count > 1 else error(str(e))
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\downloader\common.py", line 416, in <lambda>
error=IDENTITY if not fatal else lambda e: self.report_error(f'\r[download] Got error: {e}'),
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\YoutubeDL.py", line 1154, in report_error
self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
File "E:\Tools\Anaconda\lib\site-packages\yt_dlp\YoutubeDL.py", line 1082, in trouble
tb_data = traceback.format_list(traceback.extract_stack())
```