{"record":{"id":"f6946ee9dfcf02dd","repo":"BerriAI/litellm","slug":"tag-tag-name-not-found","errorCode":null,"errorMessage":"Tag {tag.name} not found","messagePattern":"Tag (.+?) not found","errorType":"http","errorClass":"HTTPException","httpStatus":404,"severity":"error","filePath":"litellm/proxy/management_endpoints/tag_management_endpoints.py","lineNumber":430,"sourceCode":"    ### BUDGET UPDATE PARAMS ###\n    - max_budget: Optional[float] - Max budget for tag\n    - tpm_limit: Optional[int] - Max tpm limit for tag\n    - rpm_limit: Optional[int] - Max rpm limit for tag\n    - max_parallel_requests: Optional[int] - Max parallel requests for tag\n    - soft_budget: Optional[float] - Get a slack alert when this soft budget is reached\n    - model_max_budget: Optional[dict] - Max budget for a specific model\n    - budget_duration: Optional[str] - Frequency of resetting tag budget\n    \"\"\"\n    from litellm.proxy.proxy_server import prisma_client\n\n    if prisma_client is None:\n        raise HTTPException(status_code=500, detail=\"Database not connected\")\n\n    try:\n        # Check if tag exists\n        existing_tag: Final = await _table(TagRepository(prisma_client)).find_unique(where={\"tag_name\": tag.name})\n        if existing_tag is None:\n            raise HTTPException(status_code=404, detail=f\"Tag {tag.name} not found\")\n\n        from litellm.proxy.proxy_server import litellm_proxy_admin_name\n\n        # Handle budget updates using common helper\n        budget_id: Final = await handle_budget_for_entity(\n            data=tag,\n            existing_budget_id=existing_tag.budget_id,\n            user_api_key_dict=user_api_key_dict,\n            prisma_client=prisma_client,\n            litellm_proxy_admin_name=litellm_proxy_admin_name,\n        )\n\n        # Get model names for model_info\n        model_info: Final = await _get_model_names(prisma_client, tag.models or [])\n\n        # Prepare update data\n        update_data: Final = {\n            \"description\": tag.description,","sourceCodeStart":412,"sourceCodeEnd":448,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/management_endpoints/tag_management_endpoints.py#L412-L448","documentation":"Tag deletion/update/info path: no LiteLLM tag row exists under the requested tag name, so the operation has nothing to act on and a 404 naming the tag is raised. At-fault input is a tag name that was never created or already deleted.","triggerScenarios":"Thrown at litellm/proxy/management_endpoints/tag_management_endpoints.py:430 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the tag name. List tags to find valid names."],"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"}