{"record":{"id":"b8b2b5743acb2c9b","repo":"ytdl-org/youtube-dl","slug":"unknown-navigationtype","errorCode":null,"errorMessage":"Unknown navigationType","messagePattern":"Unknown navigationType","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/tvnow.py","lineNumber":484,"sourceCode":"                        continue\n                    month_number = int_or_none(list(month_dict.keys())[0])\n                    if month_number is None:\n                        continue\n                    entries.append(self.url_result(\n                        '%s/%04d-%02d' % (base_url, year, month_number),\n                        ie=TVNowAnnualIE.ie_key()))\n        elif navigation == 'season':\n            for item in items:\n                if not isinstance(item, dict):\n                    continue\n                season_number = int_or_none(item.get('season'))\n                if season_number is None:\n                    continue\n                entries.append(self.url_result(\n                    '%s/staffel-%d' % (base_url, season_number),\n                    ie=TVNowSeasonIE.ie_key()))\n        else:\n            raise ExtractorError('Unknown navigationType')\n\n        return self.playlist_result(entries, show_id)\n","sourceCodeStart":466,"sourceCodeEnd":487,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/tvnow.py#L466-L487","documentation":"Raised by TVNowShowIE (playlist extractor) when the show's navigation type from the API is neither 'season' nor one of the handled navigation values (e.g. the 'staffel'/annual branches above). Unlike most errors here it is NOT marked expected=True, so youtube-dl treats it as an extractor bug/failure rather than normal content unavailability.","triggerScenarios":"Extracting a tvnow show URL where the API response's navigation field (config/boards payload) has an unexpected value such as 'episode', 'movie', or a newly introduced type the extractor does not enumerate.","commonSituations":"TVNow introducing a new show layout (e.g. single-movie shows, new collections) after this youtube-dl version shipped; non-season-structured shows like one-off specials.","solutions":["Update youtube-dl / switch to yt-dlp — newer builds handle additional navigationTypes.","Extract the concrete season URL (…/staffel-N) directly with TVNowSeasonIE instead of the show root.","Report the URL as a bug to the tracker so the missing navigationType is added.","As a last resort, enumerate episode URLs manually from the website."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"resp = call_tvnow_show_api(show_id)\nnav = resp.get('navigation') or resp.get('navigationType')\nif nav not in ('season', 'staffel', 'annual'):\n    raise ValueError('Unsupported navigationType: %r — extract season URLs directly' % nav)","typeGuard":"def known_navigation(nav) -> bool:\n    return nav in ('season', 'staffel', 'annual')","tryCatchPattern":"try:\n    ydl.extract_info(show_url)\nexcept ExtractorError as e:\n    if 'Unknown navigationType' in str(e):\n        fallback_to_season_urls(show_url)  # enumerate /staffel-N links manually\n    else:\n        raise","preventionTips":["Extract concrete season URLs instead of the show root when the layout is unknown.","Watch for API layout changes; this error is unexpected and usually means the extractor is outdated."],"tags":["extractor","tvnow","playlist","api-contract","bug"],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}