{"record":{"id":"cff30b33f0ded3c0","repo":"BerriAI/litellm","slug":"key-requests-search-tools-not-allowed-by-team-te","errorCode":null,"errorMessage":"Key requests search tools not allowed by team '{team_id}': {sorted(disallowed)}. Team allows: {sorted(team_tools)}.","messagePattern":"Key requests search tools not allowed by team '(.+?)': (.+?)\\. Team allows: (.+?)\\.","errorType":"http","errorClass":"HTTPException","httpStatus":403,"severity":"error","filePath":"litellm/proxy/management_helpers/object_permission_utils.py","lineNumber":787,"sourceCode":"                    \"personal keys by non-admin callers. Disallowed search tools: \"\n                    f\"{sorted(requested)}.\"\n                )\n            },\n        )\n\n    team_tools: list[str] = []\n    if team_obj is not None and team_obj.object_permission is not None:\n        st: Final = team_obj.object_permission.search_tools\n        if st:\n            team_tools = list(st)\n\n    if not team_tools:\n        return\n\n    disallowed: Final = set(requested) - set(team_tools)\n    if disallowed:\n        team_id: Final = team_obj.team_id if team_obj is not None else \"unknown\"\n        raise HTTPException(\n            status_code=status.HTTP_403_FORBIDDEN,\n            detail={\n                \"error\": (\n                    f\"Key requests search tools not allowed by team '{team_id}': \"\n                    f\"{sorted(disallowed)}. Team allows: {sorted(team_tools)}.\"\n                )\n            },\n        )\n","sourceCodeStart":769,"sourceCodeEnd":796,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/management_helpers/object_permission_utils.py#L769-L796","documentation":"HTTPException(403) from validate_key_search_tools_against_team: the key request includes search_tools not present in the team's non-empty allowlist. The message lists the disallowed tools and the team's allowed set so the caller can trim the request.","triggerScenarios":"Thrown at litellm/proxy/management_helpers/object_permission_utils.py:787 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove the disallowed search tools from the key request, or ask an admin to allow them for the team."],"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"}