BerriAI/litellm · error · Exception

Search tool with ID {search_tool_id} not found

Error message

Search tool with ID {search_tool_id} not found

What it means

Delete guard in the search tool registry: find_unique for the search_tool_id returned no row, so the tool to delete does not exist (already deleted or wrong ID); raised as a bare Exception from the registry's delete routine.

Source

Thrown at litellm/proxy/search_endpoints/search_tool_registry.py:103

    async def delete_search_tool_from_db(self, search_tool_id: str, prisma_client: PrismaClient):
        """
        Delete a search tool from the database.

        Args:
            search_tool_id: ID of search tool to delete
            prisma_client: Prisma client instance

        Returns:
            Dict with success message
        """
        try:
            # Get search tool before deletion for response
            existing_tool: Final = await SearchToolsRepository(prisma_client).table.find_unique(
                where={"search_tool_id": search_tool_id}
            )

            if not existing_tool:
                raise Exception(f"Search tool with ID {search_tool_id} not found")

            # Delete from DB
            await SearchToolsRepository(prisma_client).table.delete(where={"search_tool_id": search_tool_id})

            return {
                "message": f"Search tool {search_tool_id} deleted successfully",
                "search_tool_name": existing_tool.search_tool_name,
            }
        except Exception as e:
            verbose_proxy_logger.exception("Error deleting search tool from DB: %s", e)
            raise Exception(f"Error deleting search tool from DB: {e}")

    async def update_search_tool_in_db(self, search_tool_id: str, search_tool: SearchTool, prisma_client: PrismaClient):
        """
        Update a search tool in the database.

        Args:
            search_tool_id: ID of search tool to update

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Verify the search tool ID via the list endpoint; recreate the tool if it was removed.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/search_endpoints/search_tool_registry.py:103 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/947ce3a86341d111. Report an issue: GitHub.