{"record":{"id":"9dcab40a4ca38c99","repo":"BerriAI/litellm","slug":"error-getting-search-tools-from-db-e","errorCode":null,"errorMessage":"Error getting search tools from DB: {e}","messagePattern":"Error getting search tools from DB: (.+?)","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"litellm/proxy/search_endpoints/search_tool_registry.py","lineNumber":181,"sourceCode":"        try:\n            search_tools_from_db: Final = await call_with_db_reconnect_retry(\n                prisma_client,\n                lambda: SearchToolsRepository(prisma_client).table.find_many(\n                    order={\"created_at\": \"desc\"},\n                ),\n                reason=\"get_all_search_tools_from_db_lookup_failure\",\n            )\n\n            search_tools: Final[list[SearchTool]] = []\n            for search_tool in search_tools_from_db:\n                # Convert Prisma result to dict with ISO formatted datetimes\n                search_tool_dict = SearchToolRegistry._convert_prisma_to_dict(search_tool)\n                search_tools.append(SearchTool(**search_tool_dict))\n\n            return search_tools\n        except Exception as e:\n            verbose_proxy_logger.exception(\"Error getting search tools from DB: %s\", e)\n            raise Exception(f\"Error getting search tools from DB: {e}\")\n\n    async def get_search_tool_by_id_from_db(\n        self, search_tool_id: str, prisma_client: PrismaClient\n    ) -> SearchTool | None:\n        \"\"\"\n        Get a search tool by its ID from the database.\n\n        Args:\n            search_tool_id: ID of search tool to retrieve\n            prisma_client: Prisma client instance\n\n        Returns:\n            Search tool configuration or None if not found\n        \"\"\"\n        try:\n            search_tool: Final = await SearchToolsRepository(prisma_client).table.find_unique(\n                where={\"search_tool_id\": search_tool_id}\n            )","sourceCodeStart":163,"sourceCodeEnd":199,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/search_endpoints/search_tool_registry.py#L163-L199","documentation":"Error \"Error getting search tools from DB: {e}\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/search_endpoints/search_tool_registry.py:181 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check DB connectivity and logs; retry the list request."],"exampleFix":null,"handlingStrategy":null,"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"}