diff --git a/apps/ui/src/components/views/settings-view/model-defaults/phase-model-selector.tsx b/apps/ui/src/components/views/settings-view/model-defaults/phase-model-selector.tsx index 364d435f..ef946238 100644 --- a/apps/ui/src/components/views/settings-view/model-defaults/phase-model-selector.tsx +++ b/apps/ui/src/components/views/settings-view/model-defaults/phase-model-selector.tsx @@ -522,6 +522,9 @@ export function PhaseModelSelector({ return [...staticModels, ...uniqueDynamic]; }, [dynamicOpencodeModels, enabledDynamicModelIds]); + // Check if providers are disabled (needed for rendering conditions) + const isCursorDisabled = disabledProviders.includes('cursor'); + // Group models (filtering out disabled providers) const { favorites, claude, cursor, codex, opencode } = useMemo(() => { const favs: typeof CLAUDE_MODELS = []; @@ -531,7 +534,6 @@ export function PhaseModelSelector({ const ocModels: ModelOption[] = []; const isClaudeDisabled = disabledProviders.includes('claude'); - const isCursorDisabled = disabledProviders.includes('cursor'); const isCodexDisabled = disabledProviders.includes('codex'); const isOpencodeDisabled = disabledProviders.includes('opencode'); @@ -1900,7 +1902,7 @@ export function PhaseModelSelector({ ); })} - {(groupedModels.length > 0 || standaloneCursorModels.length > 0) && ( + {!isCursorDisabled && (groupedModels.length > 0 || standaloneCursorModels.length > 0) && ( {/* Grouped models with secondary popover */} {groupedModels.map((group) => renderGroupedModelItem(group))}