From af861a7aa5e2a0176a556a821cf0bbd9e4cf05a1 Mon Sep 17 00:00:00 2001 From: Asish Kumar Date: Mon, 25 May 2026 08:42:51 +0530 Subject: [PATCH] fix: hide hidden base models in the automations model selector The `/api/models` response intentionally includes base models marked as hidden (`info.meta.hidden`) because they may be required to resolve Workspace Models. Every user-facing model selector therefore filters them out client-side, but the Automations model dropdown listed the raw `$models` store and so exposed hidden base models for selection. Filter the dropdown's selectable list with the same `!(model?.info?.meta?.hidden ?? false)` predicate already used by the chat, notes and pinned-model selectors. The label lookup is left untouched so an automation already configured with a hidden model keeps displaying its name. Closes #24869 --- src/lib/components/automations/ModelDropdown.svelte | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lib/components/automations/ModelDropdown.svelte b/src/lib/components/automations/ModelDropdown.svelte index c695aab536..9933bb1a71 100644 --- a/src/lib/components/automations/ModelDropdown.svelte +++ b/src/lib/components/automations/ModelDropdown.svelte @@ -24,13 +24,19 @@ ? $models.find((m) => m.id === model_id)?.name || model_id : $i18n.t('Select model'); + // Hidden base models are returned by the API for resolving Workspace Models, + // but should not be user-selectable here (consistent with the chat, notes and + // pinned-model selectors). The label above intentionally still resolves a + // hidden model so existing automations keep showing the correct name. + $: selectableModels = $models.filter((m) => !(m?.info?.meta?.hidden ?? false)); + $: filteredModels = modelSearch - ? $models.filter( + ? selectableModels.filter( (m) => m.name.toLowerCase().includes(modelSearch.toLowerCase()) || m.id.toLowerCase().includes(modelSearch.toLowerCase()) ) - : $models; + : selectableModels;