diff --git a/public/app/modelCapabilities.js b/public/app/modelCapabilities.js
index 3dc8745..fc09ba3 100644
--- a/public/app/modelCapabilities.js
+++ b/public/app/modelCapabilities.js
@@ -1,6 +1,12 @@
// Conservative allowlist for models supporting the boolean think API.
// Unknown models remain usable for normal chat.
-export function supportsReasoning(model) {
- const id = String(typeof model === "string" ? model : model?.model || model?.name || "").toLowerCase().split("/").at(-1);
- return /^(qwen3|deepseek-r1|deepseek-v3\.1)(:|$)/.test(id);
+const reasoningFamilies = new Set(["qwen3", "deepseek-r1", "deepseek-v3.1"]);
+
+export function getModelFamily(model) {
+ const id = typeof model === "string" ? model : model?.model || model?.name || model?.id || "";
+ return String(id).trim().toLowerCase().split("/").at(-1).split(":")[0];
+}
+
+export function supportsReasoning(model) {
+ return reasoningFamilies.has(getModelFamily(model));
}
diff --git a/public/app/reasoning.js b/public/app/reasoning.js
index 745c07d..c7f4473 100644
--- a/public/app/reasoning.js
+++ b/public/app/reasoning.js
@@ -1,4 +1,4 @@
-import {supportsReasoning} from "./modelCapabilities.js";
+import {supportsReasoning} from "./modelCapabilities.js?v=20260921-reasoning-capability";
export function createReasoningToggle(button) {
let reasoningEnabled = false;
diff --git a/public/chat.html b/public/chat.html
index 2b94c1a..60f0abf 100644
--- a/public/chat.html
+++ b/public/chat.html
@@ -358,7 +358,7 @@
-
+