@@ -697,6 +697,25 @@ func configureSelectedModels(store *ConfigStore, knownProviders []catwalk.Provid
small.Think = smallModelSelected.Think
}
}
+
+ // When small isn't explicitly configured and the provider isn't a
+ // known built-in, use the large model as the small model. This
+ // prevents two different models from being requested concurrently
+ // for local/openai-compat providers.
+ if !smallModelConfigured {
+ isKnownProvider := false
+ for _, kp := range knownProviders {
+ if string(kp.ID) == small.Provider {
+ isKnownProvider = true
+ break
+ }
+ }
+ if !isKnownProvider {
+ slog.Warn("Using large model as small model for unknown provider", "provider", large.Provider, "model", large.Model)
+ small = large
+ }
+ }
+
c.Models[SelectedModelTypeLarge] = large
c.Models[SelectedModelTypeSmall] = small
return nil