Skip to content

Epic: make Claude 5.x reliable on existing transports #4580

Open
3 of 4 issues completed
Open

Description

@aheritier

Goal

Make the Claude 5.x models work reliably on the transports docker-agent already has:

  • Anthropic Messages (direct, custom base_url, Models Gateway)
  • Google Vertex native prediction (publisher: anthropic)
  • AWS Bedrock ConverseStream

That means: respect what the user configured, send requests each model accepts, replay signed thinking exactly or refuse to continue, and price each turn with the model that actually served it.

Out of scope: new transports (Bedrock Mantle/InvokeModel, Foundry, Claude Platform on AWS), client-side refusal retries, destructive history migrations, native compaction on Vertex, global catalog refreshes.

Models

Model ID Claude API Vertex Bedrock Converse
Haiku 5.5 claude-haiku-5-5 ✅ ✅ ✅
Opus 5 claude-opus-5 ✅ ✅ ✅
Opus 5.5 claude-opus-5-5 ✅ ✅ ✅
Sonnet 5 claude-sonnet-5 ✅ ✅ ✅
Sonnet 5.5 claude-sonnet-5-5 ✅ ✅ ✅
Fable 5 claude-fable-5 ✅ ✅ ✅
Fable 5.1 claude-fable-5-1 ✅ ✅ ✅
Mythos 5 claude-mythos-5 limited access limited access (no Google model card) ❌ Mantle only
Mythos 5.1 claude-mythos-5-1 limited access limited access (no Google model card) limited access

✅ means documented by the vendor (audited 2026-10-13), not tested in docker-agent. Dateless 5.x IDs are pinned snapshots, not aliases. Bedrock IDs add the anthropic. prefix and inference-profile qualifiers.

Decisions

  1. No new transport. Mythos 5 on Converse is refused before inference.
  2. For 5.x, a thinking-prefix mismatch defaults to drop_block: the server drops invalidated thinking instead of failing. Runtime features (compaction, handoffs, trimming) legitimately change the prefix mid-session, so an error default would make that 400 stick for the whole session. Set thinking_prefix_mismatch: error to opt in. See feat(provider): exact signed-thinking capture, persistence and replay (incl. Bedrock) #4653.
  3. Server fallback works end to end on the Claude API, including 5.x chains (feat(Claude): end-to-end server fallback for Claude 5.x #4584). Claude Haiku 5.5 has no server-side fallback: a list is rejected and default has no effect. Fallback is rejected on Vertex, Bedrock, gateways and other base URLs.

Work items

Step Issue Status PR
P1 #4581 Document Claude backends, protocols and limits ✅ Done #4586
P2 #4582 Preserve transport and surface clone failures ✅ Done #4587
P3 #4576 Price routed turns with the serving model (external) ✅ Done #4579
P4 #4583 Claude 5.x core: request policy and signed history ✅ Done see below
P4.1 #4651 Model table and request-policy resolver ✅ Done #4657
P4.2 #4652 Refuse 5.x fallbacks and Mythos 5 on Bedrock ✅ Done (fallback block lifted by #4700) #4658
P4.3 #4653 Signed thinking: capture, persistence, replay ✅ Done (error default dropped) #4666, #4667, #4668
P4.4 #4654 Lifecycle tests: compaction, reload, switches, shared clients ✅ Done (results) #4686, #4688, #4689
P5 #4584 End-to-end server fallback for 5.x 🟡 In review: 1 of 3 merged #4690 ✅, #4691, #4700
#4581 ✅   #4582 ✅ ──┐
                     ├──> #4583 ✅ ──> #4584 🟡 (#4690 ✅ #4691 #4700)
#4576 ✅ (#4579) ────┘

Follow-ups outside the epic: #4683 (keep unpriced turns distinguishable after reload), #4684 (rule-based lastSelectedID), #4685 (tool DeferralTracker).

Related:

Done when

Metadata

Metadata

Assignees

Labels

area/providersFor features/issues/fixes related to LLM providers (Bedrock, LiteLLM, Qwen, custom, etc.)area/providers/anthropicFor features/issues/fixes related to the usage of Anthropic modelsarea/providers/bedrockAWS Bedrock provider supportarea/sessionsFor features/issues/fixes related to session lifecycle (resume, persistence, export)

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions