diff --git a/ui/web/src/components/shared/provider-model-select.tsx b/ui/web/src/components/shared/provider-model-select.tsx index 736218be..065ab2be 100644 --- a/ui/web/src/components/shared/provider-model-select.tsx +++ b/ui/web/src/components/shared/provider-model-select.tsx @@ -97,7 +97,13 @@ export function ProviderModelSelect({ const handleProviderChange = (v: string) => { onProviderChange(v); - onModelChange(""); + // Only clear model when NOT in allowEmpty mode. + // In allowEmpty mode (embedding config), both callbacks update the same + // parent state object — calling onModelChange("") with a stale closure + // would overwrite the provider change we just made. + if (!allowEmpty) { + onModelChange(""); + } }; const handleVerify = async () => { @@ -110,11 +116,14 @@ export function ProviderModelSelect({