The "not anthropic.com => third_party => strip all thinking" catch-all
dropped Claude's signed thinking on every Anthropic-signed cloud platform
and MiniMax's own signed blocks. Anthropic documents signatures as valid
across the Claude API, Bedrock and Google Cloud, and Bedrock requires the
last tool-use turn's thinking back; MiniMax's Anthropic API asks for its
thinking blocks "unchanged in later turns". Without them manual-budget
models silently ran tool-loop continuations with thinking disabled and
adaptive models lost their interleaved chain and cached prefix.
- anthropic_endpoints: _is_bedrock_runtime_endpoint / _is_vertex_ai_endpoint
/ _is_claude_platform_endpoint (hostname-matched, lookalikes rejected).
- anthropic_thinking_policy: route resolution is a first-match rule table;
Claude platforms -> native, MiniMax /anthropic -> new "minimax" route
(replay verbatim on every turn). SIGNED_REPLAY_ROUTES drives the existing
signature-400 self-heal (tracks_rejected_thinking) for both. Unknown
relays still strip; DeepSeek keeps unsigned-only on any non-Anthropic
host (Claude platforms included); Kimi unchanged.
- Haiku 5.5 is keep-all per Anthropic's preservation table: the last-turn
regex now only matches Claude 3.x; Haiku is version-gated (>= 5.5).
- Last-turn-only models keep thinking on every assistant turn of the
in-flight tool loop (after the last non-tool-result user message), not
just the latest assistant message. Older turns stay stripped so the
cached prefix only changes where the API itself drops them.
- AnthropicTransport.convert_messages forwards model= so preserving models
are not treated as last-turn-only on that entry point.