YouTube "Sign in to confirm you're not a bot" — What It Means and How to Fix It

Seeing 'Sign in to confirm you're not a bot' on YouTube? Here's what the message means, why it appears for viewers and download tools, and how to fix it in each case.

Dalvo · Updated July 17, 2026

"Sign in to confirm you're not a bot" is YouTube's way of saying it thinks your request looks automated and wants proof that a real person — signed into a Google account — is behind it. It shows up in two very different situations: to regular viewers in a browser or app, and to download tools like yt-dlp. The fix depends on which one you're hitting.

Why YouTube shows this message

YouTube runs bot detection on requests and challenges anything that looks scripted or suspicious. Common triggers:

  • Watching while signed out, especially over a VPN or shared/public network
  • A flagged IP address (VPNs, and datacenter/cloud IPs in particular)
  • Automated tools making requests that don't look like a normal browser
  • An out-of-date app or download tool

It's not you being 'caught' doing anything wrong

The prompt is a broad, automated defense. Plenty of ordinary viewers trip it — usually because of a VPN or a signed-out session — not because they did anything against the rules.

If you're a regular viewer

Try these in order:

  1. Sign in to your Google account

    The message literally asks for this. Signing in is the fastest fix for viewers.

  2. Turn off your VPN or proxy

    VPN exit IPs are heavily flagged. Disabling it (or switching servers) often clears the prompt immediately.

  3. Switch networks

    Move from public/shared Wi-Fi to a trusted connection, or from mobile data to home Wi-Fi, to get off a flagged IP.

  4. Update your browser or the YouTube app

    An outdated client can look suspicious. Update it, and clear cookies/cache if the prompt persists.

If you're using a download tool

Downloaders hit this constantly because they're exactly what the detection targets. The fix is tool-specific:

yt-dlp

Update yt-dlp, then pass cookies or adjust the player client. We have a full walkthrough: yt-dlp: "Sign in to confirm you're not a bot" fix. Closely related is the 403 Forbidden error.

JDownloader

Update to the latest core, and add your YouTube account / cookies in the plugin settings. Being on a residential IP (not a VPN or server) matters here too.

SmartTube (Android TV)

Update the app to the newest release, then sign in to your Google account inside SmartTube. Because the fix depends on YouTube's current behavior, staying on the latest version is what actually resolves it.

Why it keeps coming back for tools

For any self-hosted downloader, this isn't a one-time fix — YouTube keeps tightening detection, so tools break again and you re-update, re-add cookies, and change IPs on a recurring basis. If you're downloading YouTube programmatically as part of an app, that maintenance never ends.

Downloading via an app or script?

Paste a URL and get a direct download here — we clear the bot check for you.

Paste a link. See it work.

Paste a YouTube link, pick a format, and hit download.

More formats (720p, 1080p, trimming, language) are available through the API.

Never handle bot detection yourself.

Dalvo, our YouTube download API, clears these checks on our side — cookies, IP reputation, and updates included. Send a URL, get a direct download.

Start free

Frequently asked questions

Why does YouTube think I'm a bot when I'm just watching?+

Usually because you're signed out and/or on a flagged IP — most often a VPN or a shared/public network. Signing in and turning off the VPN clears it for the vast majority of viewers.

How do I stop 'confirm you're not a bot' in yt-dlp?+

Update yt-dlp first, then pass browser cookies with --cookies-from-browser, and get off datacenter IPs if you're on a server. See our dedicated yt-dlp fix guide for the full steps.

Is there a permanent fix?+

For viewers, staying signed in and off VPNs largely avoids it. For automated downloads there's no permanent self-hosted fix — YouTube's changes cause recurring breakage — so teams offload it to a managed API.