#27134 Caller-supplied tags via x-litellm-tags overwrite (rather than union with) team/key static tags when allow_client_tags=true
## Summary
When `allow_client_tags: true` is set on a key or team, caller-supplied tags from the `x-litellm-tags` header (or root-body `tags`) **overwrite** the previously merged static team/key/project tags in `data["metadata"]["tags"]`, rather than being unioned with them. The static `_merge_tags()` helper exists and is used earlier in the same function to merge key/team/project static tags, but the final caller-tag assignment skips it.
This makes `allow_client_tags: true` a binary trade-off — you keep static admin tags OR you accept caller tags, never both — which makes downstream spend-attribution use cases unworkable when both static and dynamic context are needed in `request_tags` (e.g., billing where the static tags identify the workload and the dynamic header tag identifies a tenant per request).
## Reproduction
LiteLLM versions: confirmed in `v1.83.10-stable` and `v1.83.14-stable.patch.1`.
1. Create a virtual key with key metadata containing static tags and `allow_client_tags: true`: ```bash curl -X POST $PROXY/key/generate -H "Authorization: Bearer $MASTER_KEY" \ -d '{"key_alias":"repro-key","metadata":{"allow_client_tags":true,"tags":["team:platform","env…