Skip to content

Conversation

@roomote
Copy link
Contributor

@roomote roomote bot commented Dec 20, 2025

Related GitHub Issue

Closes: #10229

Description

This PR attempts to address Issue #10229 by replacing the generic Select component with the existing ModelPicker component for providers with static model lists (Anthropic, Mistral, Gemini, Bedrock, etc.).

Key changes:

  • The ModelPicker component already supports entering custom model IDs that are not in the predefined list (via the search field)
  • This enables users to use newly released models from providers without waiting for Roo Code updates
  • Special handling is preserved for Bedrock's custom ARN option and OpenAI-native's reasoning effort setting

Affected providers: Anthropic, Bedrock, Cerebras, DeepSeek, Doubao, Moonshot, Gemini, Mistral, OpenAI Native, Qwen Code, Vertex, xAI, Groq, SambaNova, Z.ai, Fireworks, Featherless, MiniMax, and Baseten.

Test Procedure

  1. Open Settings > Providers
  2. Select any static provider (e.g., Mistral, Anthropic)
  3. In the Model dropdown, type a custom model name (e.g., "devstral-small-latest" for Mistral)
  4. Verify the custom model option appears and can be selected
  5. Existing predefined models should still be selectable and work as before

Pre-Submission Checklist

  • Issue Linked: This PR is linked to an approved GitHub Issue
  • Scope: Changes are focused on the linked issue
  • Self-Review: Self-review completed
  • Testing: Existing ModelPicker and ApiOptions tests pass
  • Documentation Impact: No documentation updates required
  • Contribution Guidelines: Read and agree

Documentation Updates

  • No documentation updates are required.

Additional Notes

Feedback and guidance are welcome!

Replace the generic Select component with ModelPicker for providers
with static model lists (Anthropic, Mistral, Gemini, etc.). The
ModelPicker component already supports entering custom model IDs
that are not in the predefined list.

This enables users to use newly released models from providers
without waiting for Roo Code updates.

Fixes #10229
@roomote
Copy link
Contributor Author

roomote bot commented Dec 20, 2025

Rooviewer Clock   See task on Roo Cloud

Review complete. Found 1 issue to address.

  • Bedrock "Use Custom ARN" option is no longer discoverable (users must know to type "custom-arn" manually)

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

Comment on lines 801 to 828
<ModelPicker
apiConfiguration={apiConfiguration}
setApiConfigurationField={(field, value, isUserAction) => {
setApiConfigurationField(field, value, isUserAction)

// Handle special cases when model changes
if (field === "apiModelId") {
// Clear custom ARN if not using custom ARN option for Bedrock
if (value !== "custom-arn" && selectedProvider === "bedrock") {
setApiConfigurationField("awsCustomArn", "")
}

// Clear reasoning effort when switching models to allow the new model's default to take effect
// This is especially important for GPT-5 models which default to "medium"
if (selectedProvider === "openai-native") {
setApiConfigurationField("reasoningEffort", undefined)
}
}}>
<SelectTrigger className="w-full">
<SelectValue placeholder={t("settings:common.select")} />
</SelectTrigger>
<SelectContent>
{selectedProviderModels.map((option) => (
<SelectItem key={option.value} value={option.value}>
{option.label}
</SelectItem>
))}
{selectedProvider === "bedrock" && (
<SelectItem value="custom-arn">{t("settings:labels.useCustomArn")}</SelectItem>
)}
</SelectContent>
</Select>
</div>

{/* Show error if a deprecated model is selected */}
{selectedModelInfo?.deprecated && (
<ApiErrorMessage errorMessage={t("settings:validation.modelDeprecated")} />
)}
}
}}
defaultModelId={staticProviderDefaultModelId}
models={staticProviderModels}
modelIdKey="apiModelId"
serviceName={staticProviderLabel}
serviceUrl={docs?.url || ""}
organizationAllowList={organizationAllowList}
simplifySettings={fromWelcomeView}
hidePricing
/>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Bedrock "Use Custom ARN" option is no longer discoverable after this change. Previously, Bedrock users saw an explicit SelectItem with the label t("settings:labels.useCustomArn") in the dropdown. Now they must know to type "custom-arn" manually in the search field. Consider adding "custom-arn" to the staticProviderModels for Bedrock (perhaps with a descriptive label) or extending the ModelPicker to support provider-specific extra options.

Fix it with Roo Code or mention @roomote and request a fix.

@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Dec 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels.

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

[BUG] Cannot enter custom model name into Model Combo Box

3 participants