Repository navigation
Always open model picker, even when model config is missing - #1740
Merged
Merged
Conversation
When the backend fails to advertise a model option (e.g. bare model
name without provider slash), the model picker was unreachable:
/model said "no model selector" and clicking the agent info did
nothing. This is exactly the state where the user needs the picker
most — to fix the broken configuration.
ModelConfigurationSetting.picker_settings already returns itself
unconditionally ("Provider setup remains reachable before a model
is advertised"), so the model switcher handles the no-option case.
The two gates blocking it were the bug.
Removed: model_selection_available property (no remaining consumers).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RnH6dRAz8kKfiXqtrtZQJi
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
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.
The bug
When the backend fails to advertise a model option — e.g. Pi reports a bare model name like
claude-opus-4-6without the provider slash, andChosenModel.__post_init__throwsIdentityConflict— Toad's model picker becomes unreachable:/modelflashes "This agent has no model selector"This is the exact state where the user needs the picker most: to fix the broken configuration.
The fix
ModelConfigurationSetting.picker_settings()already returns(self,)unconditionally — the comment says "Provider setup remains reachable before a model is advertised." The model switcher widget handles the no-option case: it shows recent models and the "Connect a provider" action.The two gates blocking it were the bug:
slash_command.py:246—ModelCommand.apply()checkedmodel_selection_availablebefore focusing the switcherprompt.py:859—on_agent_info_clickchecked the same property before focusingBoth gates removed. The dead
model_selection_availableproperty onConversationSessionBindingdeleted (zero remaining consumers).What changed
slash_command.py/modelalways opens the pickerwidgets/prompt.pywidgets/conversation.pymodel_selection_availableproperty deleted3 files, −10/+2 lines.
Generated by Claude Code