Troubleshooting guide
Fix "Sign in to confirm you're not a bot" in yt-dlp
This is YouTube's bot detection deciding your request looks automated. It is not a bug in your command. It shows up most often on datacenter and VPN IPs, after bursts of requests, or when yt-dlp is out of date and using request patterns YouTube has already flagged.
Quick answer
Update yt-dlp, then pass cookies from a browser where you are signed in to YouTube.
yt-dlp -U
yt-dlp --cookies-from-browser chrome "URL"Swap chrome for firefox, edge, brave, or safari. Signed-in cookies prove to YouTube that a real account is behind the request, which clears the check in most cases.
If cookies alone do not fix it
- • Check your IP. Requests from cloud servers, VPNs, and shared proxies get challenged far more aggressively than home connections. Try the same command from a residential IP to confirm the IP is the problem.
- • Slow down. Bursts of requests trigger the check. Add
--sleep-requests 1and avoid launching many downloads in parallel against the same site. - • Export cookies to a file for servers. On a headless machine there is no browser to read from. Export
cookies.txtfrom your own browser and pass--cookies cookies.txt. - • Stay updated. YouTube changes its bot checks continuously, and yt-dlp ships counter-fixes in releases. An old build fails checks a current build passes.
Why this error keeps coming back
This is an arms race, not a one-time fix. YouTube tightens automated-traffic detection; yt-dlp adapts; the cycle repeats every few weeks. A command that worked yesterday can fail today with the exact same flags. If you only download occasionally on your own machine, updating plus cookies will keep you moving. If this runs inside a product or a scheduled job, expect to re-fix it on YouTube's schedule, not yours.
The mistake to avoid
Do not hammer the same URL with retries while the check is active — that makes your IP look more automated, not less. Fix the trust signal first: fresh yt-dlp, real cookies, reasonable request rate, residential IP if you can.
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.