Remap the picker's built-in tier rows to gateway model ids - #10
Merged
Conversation
Selecting 'Opus 4.8' (or Sonnet/Haiku) in /model silently broke the session:
those rows point at Anthropic's dated first-party ids, which the proxy does
not serve. ANTHROPIC_DEFAULT_{OPUS,SONNET,HAIKU}_MODEL remaps them to the
gateway's ids, labeled '(qBraid)' so the provenance is visible.
Live report that motivated it: /model -> 'Opus 4.8' -> next reply claims to
be gpt-5.6-luna. The switch never took effect on the wire; the self-report
echoes whatever id Claude Code puts in the system prompt.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Live dogfood finding: selecting the built-in Opus 4.8 / Sonnet / Haiku rows in
/modelsilently no-ops — they carry Anthropic's dated first-party ids (claude-opus-4-8-20250805-style), which the proxy doesn't serve. The session keeps its old model while the UI claims the switch happened; the model's own self-report then adds to the confusion (it echoes whatever Claude Code's system prompt says, not the wire).Fix:
ANTHROPIC_DEFAULT_{OPUS,SONNET,HAIKU}_MODEL(+_NAME) remap those rows toclaude-opus-5/claude-sonnet-4-6/claude-haiku-4-5, labeled (qBraid) so provenance is visible in the picker. Documented mechanism (seedocs/research/2026-08-20-model-picker.md, mechanism 3).Note: the haiku slot also serves background traffic, so remapping it keeps that on the gateway too — previously background calls to a dated haiku id would also have failed through the proxy.
Verified: launcher deploys, session answers on the remapped default; suites green (routing 6/6, shellcheck, bash 3.2). Windows .cmd updated equivalently.