on main help sign in
fix(config): use large model for small if not configured (#2873)
cc7d651Kieran Klukas
internal/config/load.go+19
@@ -697,6 +697,25 @@ func configureSelectedModels(store *ConfigStore, knownProviders []catwalk.Provid
697 small.Think = smallModelSelected.Think
697 small.Think = smallModelSelected.Think
698 }
698 }
699 }
699 }
700+
701+ // When small isn't explicitly configured and the provider isn't a
702+ // known built-in, use the large model as the small model. This
703+ // prevents two different models from being requested concurrently
704+ // for local/openai-compat providers.
705+ if !smallModelConfigured {
706+ isKnownProvider := false
707+ for _, kp := range knownProviders {
708+ if string(kp.ID) == small.Provider {
709+ isKnownProvider = true
710+ break
711+ }
712+ }
713+ if !isKnownProvider {
714+ slog.Warn("Using large model as small model for unknown provider", "provider", large.Provider, "model", large.Model)
715+ small = large
716+ }
717+ }
718+
700 c.Models[SelectedModelTypeLarge] = large
719 c.Models[SelectedModelTypeLarge] = large
701 c.Models[SelectedModelTypeSmall] = small
720 c.Models[SelectedModelTypeSmall] = small
702 return nil
721 return nil