6 views
-/https://github.com/berriai/litellm/issues/28188
GitHub · issue

#28188 [Bug]: model_max_budget silently discarded on /team/update (returns 200, stores empty {})

  • State: open
  • Author: @aanchal22
  • Labels: proxy

### Check for existing issues

- [x] I have searched the existing issues and checked that my issue is not a duplicate.

### What happened?

`POST /team/update` with `model_max_budget` returns 200 but stores `{}` (empty object) in the database. The field is silently discarded.

For comparison, `POST /user/update` with the same field persists correctly — so the field works at the user level but not at the team level.

Note: This is separate from the existing issue [#25799](https://github.com/BerriAI/litellm/issues/25799) which covers `model_max_budget` not enforcing on keys. This bug is about the field not even being writable at the team level.

### Steps to Reproduce

1. Create a team: ```bash curl -X POST /team/new \ -H "Authorization: Bearer $MASTER_KEY" \ -H "Content-Type: application/json" \ -d '{"team_id": "test"}' ```

2. Set `model_max_budget` on the team: ```bash curl -X POST /team/update \ -H "Authorization: Bearer $MASTER_KEY" \ -H "Content-Type: application/json" \ -d '{"team_id": "test", "model_max_budget": {"gpt-4": 10.0}}' # -> 200 OK (no error) ```

3. Check the database: ```sql SELECT model_max_budget FROM "LiteLLM_TeamTable" WHERE team_id='test'; -- -> {…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (1 events)
#0 of 0 · 31d18h35m51s ago — entered · #import:https:::github.com:berriai:litellm post #2284
#35472 is harder because it likely requires tracing identity propagation across multiple request, logging, and persistence paths, with broader regression-testing risk; #28188 appears comparatively localized to update-model field handling.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search