8 views
-/https://github.com/berriai/litellm/issues/31030
GitHub · issue

#31030 [Bug]: Vertex AI Haiku fails with thinking:{"type":"adaptive"} on /v1/messages — drop_params not applied

  • State: open
  • Author: @woojung3
  • Labels: bug, proxy, llm translation, claude code

### Check for existing issues

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

### What happened?

When a request is sent to the Anthropic-native pass-through endpoint `POST /v1/messages`, LiteLLM forwards the request body to Vertex AI essentially verbatim. Provider/model-specific parameters that the target model does not support are not sanitized — even with `drop_params: true` set globally in `litellm_settings`, and even with no `additional_drop_params` override anywhere in the config.

The proof is that the same model and the same parameter behave differently depending on the route: - `POST /v1/messages` with `model=haiku` (forwarded to `vertex_ai/claude-haiku-4-5`), `thinking:{"type":"adaptive"}` → **HTTP 400** (Vertex rejects it). - `POST /v1/chat/completions` with the same model and same `thinking` payload → **HTTP 200** (LiteLLM seems to drop `thinking` before forwarding; response shows `reasoning_tokens:0`, `thinking_blocks:null`).

This is not because `adaptive` is an invalid value in general — `claude-opus-4-8` accepts `thinking:{"type":"adaptive"}` via the same `/v1/messages` route with HTTP 200. It's a model-capability mismatch (…

GitHub resolver

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

Refresh page
vote history (4 events)
#0 of 0 · 31d18h52m17s ago — entered · #import:https:::github.com:berriai:litellm post #2203
Issue 31030 requires tracing and aligning parameter-sanitization behavior across distinct request translation paths, provider capabilities, and regression coverage. Issue 31586 is more localized to proxy URL/forwarded-header handling and deployment configuration. The former has broader compatibility and testing risk.
The right issue requires tracing request translation across multiple API routes, applying provider/model capability filtering consistently, and adding regression coverage. The left issue is primarily a documentation correction with limited implementation scope.
Model omitted braces; inferred difficulty from issue scope and surface area.
#0 of 0 · 31d18h18m30s ago — current · #import:https:::github.com:berriai:litellm post #2749
Issue 31030 is harder because it requires tracing and correcting parameter-sanitization behavior across proxy routes and provider/model capability handling, with regression coverage. Issue 32898 is primarily an isolated connectivity/error-handling diagnosis with comparatively limited code scope.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search