@@ -697,6 +697,25 @@ func configureSelectedModels(store *ConfigStore, knownProviders []catwalk.Provid
697697 small.Think = smallModelSelected.Think
698698 }
699699 }
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+
700719 c.Models[SelectedModelTypeLarge] = large
701720 c.Models[SelectedModelTypeSmall] = small
702721 return nil