diff --git a/apps/web/src/components/SettingsDialog.tsx b/apps/web/src/components/SettingsDialog.tsx
index 36c574c21..6de9aeffc 100644
--- a/apps/web/src/components/SettingsDialog.tsx
+++ b/apps/web/src/components/SettingsDialog.tsx
@@ -2185,47 +2185,40 @@ export function SettingsDialog({
{t('settings.modelPicker')}
- {
- if (e.target.value === CUSTOM_MODEL_SENTINEL) {
- // Switching to "Custom…" should clear the
- // value so the input below opens empty for
- // typing. Keep an explicit edit-mode flag so
- // intermediate values like `gpt-5` do not
- // collapse the custom input while typing
- // `gpt-5.5`.
- setAgentCustomModelIds((prev) => {
- const next = new Set(prev);
- next.add(selected.id);
- return next;
- });
- setChoice({ model: '' });
- } else {
- setAgentCustomModelIds((prev) => {
- if (!prev.has(selected.id)) return prev;
- const next = new Set(prev);
- next.delete(selected.id);
- return next;
- });
- setChoice({ model: e.target.value });
- }
- }}
- >
- {renderModelOptions(selected.models!)}
-
- {t('settings.modelCustom')}
-
-
+
+ {
+ if (e.target.value === CUSTOM_MODEL_SENTINEL) {
+ setAgentCustomModelIds((prev) => {
+ const next = new Set(prev);
+ next.add(selected.id);
+ return next;
+ });
+ setChoice({ model: '' });
+ } else {
+ setAgentCustomModelIds((prev) => {
+ if (!prev.has(selected.id)) return prev;
+ const next = new Set(prev);
+ next.delete(selected.id);
+ return next;
+ });
+ setChoice({ model: e.target.value });
+ }
+ }}
+ >
+ {renderModelOptions(selected.models!)}
+
+ {t('settings.modelCustom')}
+
+
+
+
- {/*
- Hint sits with its own field so the user reads
- "Default vs Custom…" right next to the dropdown
- that exposes those options. Older layouts parked
- this paragraph at the bottom of the section, past
- the Memory picker, where it got mistaken for
- memory documentation.
- */}
{t('settings.modelPickerHint')}
@@ -2251,18 +2244,25 @@ export function SettingsDialog({
{t('settings.reasoningPicker')}
-
- setChoice({ reasoning: e.target.value })
- }
- >
- {selected.reasoningOptions!.map((r) => (
-
- {r.label}
-
- ))}
-
+
+
+ setChoice({ reasoning: e.target.value })
+ }
+ >
+ {selected.reasoningOptions!.map((r) => (
+
+ {r.label}
+
+ ))}
+
+
+
) : null}