BerriAI/litellm · error · HTTPException
Provide either team_id or key_hash, not both
Error message
Provide either team_id or key_hash, not both
What it means
Error "Provide either team_id or key_hash, not both" thrown in BerriAI/litellm.
Source
Thrown at litellm/proxy/management_endpoints/tool_management_endpoints.py:621
- key_hash: optional - if set, create/update override for this key only
"""
from litellm.proxy.db.tool_registry_writer import (
add_tool_to_object_permission_blocked,
get_tool_policy_registry,
remove_tool_from_object_permission_blocked,
)
from litellm.proxy.db.tool_registry_writer import (
update_tool_policy as db_update_tool_policy,
)
from litellm.proxy.proxy_server import prisma_client
if prisma_client is None:
raise HTTPException(status_code=500, detail=CommonProxyErrors.db_not_connected_error.value)
try:
if data.team_id is not None or data.key_hash is not None:
if data.team_id is not None and data.key_hash is not None:
raise HTTPException(
status_code=400,
detail="Provide either team_id or key_hash, not both",
)
if data.key_hash is not None:
op_id = await _resolve_key_hash_to_object_permission_id(prisma_client, data.key_hash)
else:
op_id = await _resolve_team_id_to_object_permission_id(prisma_client, data.team_id or "")
if op_id is None:
raise HTTPException(
status_code=404,
detail="Key or team not found for the given identifier",
)
is_blocking: Final = data.input_policy == "blocked"
if is_blocking:
ok = await add_tool_to_object_permission_blocked(
prisma_client=prisma_client,
object_permission_id=op_id,
tool_name=data.tool_name,View on GitHub (pinned to 77b7c6c40c)
Solutions
- Pass either team_id or key_hash to scope the override, not both.
When it happens
Trigger: Thrown at litellm/proxy/management_endpoints/tool_management_endpoints.py:621 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/a2d3683e869de41d.
Report an issue: GitHub.