Repository navigation
Conversation
The live selection switch sent setModel with the unchanged model on every effort, Fast mode or Ultracode change. That logged a model change each time and replaced the model a custom binary path chose by rewriting --model. Send setModel only for a new model, or after a failed live change. Closes pingdotgg#22265.
f4llenz
force-pushed
the
fix/claude-live-model-alias
branch
from
October 20, 2026 10:42
7f0a871 to
5dc0bb4
Compare
f4llenz
marked this pull request as ready for review
October 20, 2026 10:47
Contributor
This branch has not been deployed
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.
Problem
Since #19341, changing only effort, Fast mode or Ultracode on a running Claude thread also sends
setModelwith the unchanged model. Claude Code then logs a model change every time, as in #1381. It also drops the model a custom binary path chose by rewriting--model, so later turns can run on another model while the composer still shows the original one. Reproduction and logs are in #22265.Change
The live selection switch in
ClaudeAdapterV2sendssetModelonly when the resolved model id changes. This is the rule #1466 set for the earlier adapter. If the previous live change failed, it sends the model anyway, because the process's model is then unknown. Flag settings are applied as before.Scope and approval
Fixes #22265, filed with the investigation and awaiting triage. It also qualifies as a small, focused fix for an obvious bug: one condition in the server adapter restores the rule #1466 set, that
setModelis sent only for a model change. No contract, client or other product behavior changes.Verification
--model claude-opus-5-5toclaude-sonnet-5-5. The values are the applied model and effort reported byget_settings:setModel, and the launcher's model stays.vp test run src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:applyFlagSettings. It fails onmain.applyFlagSettingsafter a model switch, then checks that returning to the first model sendssetModelagain. It fails without the failed-change check.maintoo.layer, predates this change.Created with Claude Opus 5.5 in Claude Code (T3 Code).