Codex on AWS bedrock bug causing 10x charges
Summary
Native Codex CLI requests to Amazon Bedrock Mantle cannot opt into GPT-5.6 Sol explicit prompt caching. On an agentic coding workload, this has produced a large volume of cache-write tokens and materially higher cost. This is related to #35300, but adds independent production usage evidence from the native amazon-bedrock provider.
Environment
- Codex CLI:
0.147.0 - Provider: native
amazon-bedrock - Endpoint: Bedrock Mantle Responses API,
us-east-1 - Model:
openai.gpt-5.6-sol
Observed production usage
For the completed days 2026-08-05 through 2026-08-08, Cost Explorer usage quantities and the Bedrock rate card produced the following cache-aware estimate for Sol:
| Requests | Cache-write tokens | Estimated cache-write cost | Estimated total cost |
|---|---|---|---|
| 3,656 | 171.94M | $1,182.09 | $1,386.46 |
Cache writes were about 85% of the model's estimated spend. A local Codex session also reported 76 Sol requests with 6.709M cache_write_input_tokens, zero cached_input_tokens, and an average of about 88K cache-write tokens per request. There were no client errors in the corresponding CloudWatch metrics. These are usage-derived estimates, not finalized AWS invoice amounts.
Investigation
Codex already emits a session-scoped prompt_cache_key, but the request types for both HTTP and WebSocket Responses requests do not include either:
prompt_cache_optionsprompt_cache_breakpoint
The built-in Amazon Bedrock provider config exposes transport/auth settings, not structured request-body transformation, so this cannot be configured through config.toml.
AWS documents explicit cache mode for GPT-5.6 on Bedrock specifically for agentic workflows with long stable instructions/tool definitions followed by changing tool and user content. That matches the workload above.
Requested behavior
- Add support for serializing
prompt_cache_optionsfor GPT-5.6-capable Responses providers. - Add a typed
prompt_cache_breakpointfield to supported input content blocks. - Provide a provider/model capability gate and a safe placement strategy at the end of Codex's measured stable instruction/tool prefix.
- Surface cache reads and cache writes in per-turn usage telemetry so users can diagnose costly full-prefix rewrites.
Scope
This report does not claim that every cache write is a defect. Cold starts, genuinely distinct prompts, forks, and compaction can all require writes. The issue is that native Bedrock Codex currently has no way to use the documented explicit-cache mechanism for the stable-prefix case.
Comments
No comments yet. Start the discussion.