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

#33687 [Bug]: cache_control silently dropped when Responses API requests route through the litellm_completion bridge

  • State: open
  • Author: @TobiMayr
  • Labels: bug, proxy, llm translation, potential-duplicate

### Check for existing issues

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

### What happened?

When a Responses API request is routed through the `litellm_completion` transform (used for Bedrock/Anthropic among others, since they lack a native Responses API integration), any `cache_control` set on an input item gets dropped while the message is being converted to Chat Completion format. This silently breaks prompt caching for multi-turn or agentic sessions that go through this bridge - no error, caching just quietly stops working.

Expected: `cache_control` should be preserved through the transform so prompt caching still works.

Affects three message-building paths: plain user/assistant messages, tool call outputs, and function calls. For user/assistant messages specifically, `cache_control` also needs to land on the last content block, since Anthropic/Bedrock read the cache breakpoint at the content-block level rather than the message level.

### Steps to Reproduce

1. Send a multi-turn `/v1/responses` request to an Anthropic or Bedrock model with `cache_control` set on an input item 2. Inspect the outbound request sent to the provider…

GitHub resolver

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

Refresh page
vote history (1 events)
#0 of 0 · 31d18h6m46s ago — entered · #import:https:::github.com:berriai:litellm post #3075
29955 is harder because it requires cross-cutting cache-key, tenancy, configuration, backend, compatibility, and security validation changes, while 33687 is comparatively localized to translation-path preservation and targeted tests.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search