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

#33194 [Bug]: Non-admin users can't assign a budget to personal keys

  • State: open
  • Author: @hluaces
  • Labels: bug, ui-dashboard

### Check for existing issues

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

### What happened?

When a non-admin tries to create a personal key (a key that belongs to the user, not to a team) with a given budget, the UI fails with:

``` Error creating the key: Error: {"error":{"message":"{'error': \"max_budget (1.0) cannot exceed the caller's own max_budget (0.25).\"}","type":"internal_server_error","param":"None","code":"400"}} ```

At the same time, trying to update an existing key with a budget, fails with:

``` {'error': 'Only proxy admins, team admins, or org admins can call /key/update (max_budget/spend). user_role=internal_user, user_id=41e4bf99-9ec6-4385-ba36-192174c6f9e1'} ```

This is potentially a regression, see:

- https://github.com/BerriAI/litellm/issues/29073

### Steps to Reproduce

Both these repro paths require to log in with a user that has "Create/Delete/View" permissions and a budget assigned.

Upon creation:

1. Log in with the user 2. Go to "Vitual keys" and create a virtual key. Fill in the name and buget. Do **not** assign a team to it. Click "Save". 4. The error shows up

Upon update:

1. Log in with the user 2…

GitHub resolver

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

Refresh page
vote history (1 events)
#0 of 0 · 31d17h56m57s ago — entered · #import:https:::github.com:berriai:litellm post #2923
The left issue spans dashboard behavior, authorization rules, budget validation, key creation and update flows, and regression coverage across user roles. The right issue is narrower in scope, centered on provider-specific response parsing and tool-call translation, though it carries some schema and integration risk.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search