{"record":{"id":"dd94849a41f84253","repo":"assafelovic/gpt-researcher","slug":"invalid-report-type-report-type-please-use-one","errorCode":null,"errorMessage":"Invalid report type: {report_type}.\nPlease use one of the following: {', '.join([enum_value for enum_value in report_type_mapping.keys()])}\nUsing default report type: {default_report_type} prompt.","messagePattern":"Invalid report type: (.+?)\\.\nPlease use one of the following: (.+?)\nUsing default report type: (.+?) prompt\\.","errorType":"console","errorClass":"UserWarning","httpStatus":null,"severity":"warning","filePath":"gpt_researcher/prompts.py","lineNumber":869,"sourceCode":"\nreport_type_mapping = {\n    ReportType.ResearchReport.value: \"generate_report_prompt\",\n    ReportType.ResourceReport.value: \"generate_resource_report_prompt\",\n    ReportType.OutlineReport.value: \"generate_outline_report_prompt\",\n    ReportType.CustomReport.value: \"generate_custom_report_prompt\",\n    ReportType.SubtopicReport.value: \"generate_subtopic_report_prompt\",\n    ReportType.DeepResearch.value: \"generate_deep_research_prompt\",\n}\n\n\ndef get_prompt_by_report_type(\n    report_type: str,\n    prompt_family: type[PromptFamily] | PromptFamily,\n):\n    prompt_by_type = getattr(prompt_family, report_type_mapping.get(report_type, \"\"), None)\n    default_report_type = ReportType.ResearchReport.value\n    if not prompt_by_type:\n        warnings.warn(\n            f\"Invalid report type: {report_type}.\\n\"\n            f\"Please use one of the following: {', '.join([enum_value for enum_value in report_type_mapping.keys()])}\\n\"\n            f\"Using default report type: {default_report_type} prompt.\",\n            UserWarning,\n        )\n        prompt_by_type = getattr(prompt_family, report_type_mapping.get(default_report_type))\n    return prompt_by_type\n\n\nprompt_family_mapping = {\n    PromptFamilyEnum.Default.value: PromptFamily,\n    PromptFamilyEnum.Granite.value: GranitePromptFamily,\n    PromptFamilyEnum.Granite3.value: Granite3PromptFamily,\n    PromptFamilyEnum.Granite31.value: Granite3PromptFamily,\n    PromptFamilyEnum.Granite32.value: Granite3PromptFamily,\n    PromptFamilyEnum.Granite33.value: Granite33PromptFamily,\n}\n","sourceCodeStart":851,"sourceCodeEnd":887,"githubUrl":"https://github.com/assafelovic/gpt-researcher/blob/6f998577d547b1e54ec662dac63583aa11e3b84b/gpt_researcher/prompts.py#L851-L887","documentation":"UserWarning from get_prompt_by_report_type: the report_type string you passed is not a key in report_type_mapping, so gpt-researcher falls back to the default 'research_report' prompt instead of failing. Output will still be produced, just with the default prompt template.","triggerScenarios":"Calling GPTResearcher with report_type='custom_thing' or a typo like 'sumary_report'/'research-report' (hyphen instead of underscore); generate_report() calls this internally.","commonSituations":"Typos in report_type, using a value from an outdated version after a rename, or dynamically built report types from user input.","solutions":["Use a valid ReportType value, e.g. 'research_report', 'summary_report', 'detailed_report' (check gpt_researcher's ReportType enum / report_type_mapping keys).","If report_type comes from user input, validate it against the enum before constructing the researcher.","Upgrade/verify against your installed version — the accepted list can change between releases."],"exampleFix":"# before\nresearcher = GPTResearcher(query=q, report_type=\"summery_report\")\n# after\nfrom gpt_researcher.utils.enum import ReportType\nresearcher = GPTResearcher(query=q, report_type=ReportType.SummaryReport.value)","handlingStrategy":"type-guard","validationCode":"from gpt_researcher.prompts import report_type_mapping\nif report_type not in report_type_mapping:\n    report_type = \"research_report\"  # or raise your own error","typeGuard":"from gpt_researcher.prompts import report_type_mapping\n\ndef is_valid_report_type(rt: str) -> bool:\n    return rt in report_type_mapping","tryCatchPattern":null,"preventionTips":["Use ReportType enum values instead of hand-typed strings.","Validate user-supplied report types against report_type_mapping before constructing GPTResearcher."],"tags":["prompt","report-type","configuration","python"],"backgroundTag":"invalid-enum-value-fallback","analyzedSha":"6f998577d547b1e54ec662dac63583aa11e3b84b","analyzedAt":"2026-08-28T17:50:07.383Z","schemaVersion":2},"datasetVersion":"2026-08-28T21:17:43.275Z"}