diff --git a/yt_dlp/extractor/youtube.py b/yt_dlp/extractor/youtube.py index bedba1b927..915a55d4b2 100644 --- a/yt_dlp/extractor/youtube.py +++ b/yt_dlp/extractor/youtube.py @@ -851,7 +851,11 @@ def _report_alerts(self, alerts, expected=True, fatal=True, only_once=False): for alert_type, alert_message in (warnings + errors[:-1]): self.report_warning(f'YouTube said: {alert_type} - {alert_message}', only_once=only_once) if errors: - raise ExtractorError(f'YouTube said: {errors[-1][1]}', expected=expected) + msg = errors[-1][1] + if msg and 'sign in' in msg.lower(): + expected = True + msg += '\n' + self._youtube_login_hint + raise ExtractorError(f'YouTube said: {msg}', expected=expected) def _extract_and_report_alerts(self, data, *args, **kwargs): return self._report_alerts(self._extract_alerts(data), *args, **kwargs)