BerriAI/litellm · error · HTTPException
Bad Request - messages must be provided if 'model' is provid
Error message
Bad Request - messages must be provided if 'model' is provided
What it means
Error "Bad Request - messages must be provided if 'model' is provided" thrown in BerriAI/litellm.
Source
Thrown at litellm/proxy/spend_tracking/spend_management_endpoints.py:2096
}]
"usage": {
"prompt_tokens": 9,
"completion_tokens": 12,
"total_tokens": 21
}
}
}'
```
"""
try:
from litellm import completion_cost
from litellm.cost_calculator import CostPerToken
from litellm.proxy.proxy_server import llm_router
_cost = None
if request.model is not None:
if request.messages is None:
raise HTTPException(
status_code=400,
detail="Bad Request - messages must be provided if 'model' is provided",
)
# check if model in llm_router
_model_in_llm_router = None
cost_per_token: CostPerToken | None = None
if llm_router is not None:
if llm_router.model_group_alias is not None and request.model in llm_router.model_group_alias:
# lookup alias in llm_router
_model_group_name: Final = llm_router.model_group_alias[request.model]
for model in llm_router.model_list:
if model.get("model_name") == _model_group_name:
_model_in_llm_router = model
else:
# no model_group aliases set -> try finding model in llm_router
# find model in llm_routerView on GitHub (pinned to 77b7c6c40c)
Solutions
- Include a messages array when providing a model for cost calculation, or provide completion_response instead.
When it happens
Trigger: Thrown at litellm/proxy/spend_tracking/spend_management_endpoints.py:2096 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/884bf124c54d3fc3.
Report an issue: GitHub.