{"record":{"id":"5d96e62278fa6155","repo":"ytdl-org/youtube-dl","slug":"unable-to-log-in-5d96e6","errorCode":null,"errorMessage":"Unable to log in","messagePattern":"Unable to log in","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/crunchyroll.py","lineNumber":102,"sourceCode":"            'login_form[password]': password,\n        })\n\n        response = self._download_webpage(\n            post_url, None, 'Logging in', 'Wrong login info',\n            data=urlencode_postdata(login_form),\n            headers={'Content-Type': 'application/x-www-form-urlencoded'})\n\n        # Successful login\n        if is_logged(response):\n            return\n\n        error = self._html_search_regex(\n            '(?s)<ul[^>]+class=[\"\\']messages[\"\\'][^>]*>(.+?)</ul>',\n            response, 'error message', default=None)\n        if error:\n            raise ExtractorError('Unable to login: %s' % error, expected=True)\n\n        raise ExtractorError('Unable to log in')\n\n    def _real_initialize(self):\n        self._login()\n\n    @staticmethod\n    def _add_skip_wall(url):\n        parsed_url = compat_urlparse.urlparse(url)\n        qs = compat_urlparse.parse_qs(parsed_url.query)\n        # Always force skip_wall to bypass maturity wall, namely 18+ confirmation message:\n        # > This content may be inappropriate for some people.\n        # > Are you sure you want to continue?\n        # since it's not disabled by default in crunchyroll account's settings.\n        # See https://github.com/ytdl-org/youtube-dl/issues/7202.\n        qs['skip_wall'] = ['1']\n        return compat_urlparse.urlunparse(\n            parsed_url._replace(query=compat_urllib_parse_urlencode(qs, True)))\n\n","sourceCodeStart":84,"sourceCodeEnd":120,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/crunchyroll.py#L84-L120","documentation":"Error \"Unable to log in\" thrown in ytdl-org/youtube-dl.","triggerScenarios":"Thrown at youtube_dl/extractor/crunchyroll.py:102 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify login credentials; try passing browser cookies with --cookies."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}