{"record":{"id":"c90c1cc17a18b8b4","repo":"BerriAI/litellm","slug":"prompt-integration-is-required","errorCode":null,"errorMessage":"prompt_integration is required","messagePattern":"prompt_integration is required","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/proxy/prompts/prompt_registry.py","lineNumber":132,"sourceCode":"        import litellm\n\n        prompt_id: Final = prompt.prompt_id\n        if prompt_id in self.IN_MEMORY_PROMPTS:\n            verbose_proxy_logger.debug(\"prompt_id already exists in IN_MEMORY_PROMPTS\")\n            return self.IN_MEMORY_PROMPTS[prompt_id]\n\n        custom_prompt_callback: CustomPromptManagement | None = None\n        litellm_params_data: Final = prompt.litellm_params\n        verbose_proxy_logger.debug(\"litellm_params= %s\", litellm_params_data)\n\n        if isinstance(litellm_params_data, dict):\n            litellm_params = PromptLiteLLMParams(**litellm_params_data)\n        else:\n            litellm_params = litellm_params_data\n\n        prompt_integration: Final = litellm_params.prompt_integration\n        if prompt_integration is None:\n            raise ValueError(\"prompt_integration is required\")\n\n        initializer: Final = prompt_initializer_registry.get(prompt_integration)\n\n        if initializer:\n            custom_prompt_callback = initializer(litellm_params, prompt)\n            if not isinstance(custom_prompt_callback, CustomPromptManagement):\n                raise ValueError(f\"CustomPromptManagement is required, got {type(custom_prompt_callback)}\")\n            litellm.logging_callback_manager.add_litellm_callback(custom_prompt_callback)\n        else:\n            raise ValueError(f\"Unsupported prompt: {prompt_integration}\")\n\n        parsed_prompt: Final = PromptSpec(\n            prompt_id=prompt_id,\n            litellm_params=litellm_params,\n            prompt_info=prompt.prompt_info or PromptInfo(prompt_type=\"config\"),\n            created_at=prompt.created_at,\n            updated_at=prompt.updated_at,\n        )","sourceCodeStart":114,"sourceCodeEnd":150,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/prompts/prompt_registry.py#L114-L150","documentation":"Prompt registration guard: the prompt's litellm_params contain no prompt_integration value, so the registry cannot determine which custom prompt integration (e.g. dotprompt) to initialize for this prompt; raised as ValueError during in-memory registration.","triggerScenarios":"Thrown at litellm/proxy/prompts/prompt_registry.py:132 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Specify prompt_integration (e.g. 'dotprompt' or a custom integration) in the prompt configuration."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}