@@ -459,10 +459,16 @@ func getFilteredProviders(cfg *config.Config) ([]catwalk.Provider, error) {
459459 if err != nil {
460460 return nil, fmt.Errorf("failed to get providers: %w", err)
461461 }
462− filteredProviders := []catwalk.Provider{}
462+ var filteredProviders []catwalk.Provider
463463 for _, p := range providers {
464− hasAPIKeyEnv := strings.HasPrefix(p.APIKey, "$")
465− if hasAPIKeyEnv && p.ID != catwalk.InferenceProviderAzure {
464+ var (
465+ isAzure = p.ID == catwalk.InferenceProviderAzure
466+ isCopilot = p.ID == catwalk.InferenceProviderCopilot
467+ isHyper = string(p.ID) == "hyper"
468+ hasAPIKeyEnv = strings.HasPrefix(p.APIKey, "$")
469+ _, isConfigured = cfg.Providers.Get(string(p.ID))
470+ )
471+ if isAzure || isCopilot || isHyper || hasAPIKeyEnv || isConfigured {
466472 filteredProviders = append(filteredProviders, p)
467473 }
468474 }