From 7d3e5788e80e933288e40746d4ddf04592f9299c Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 14 Feb 2026 14:13:18 +0100 Subject: [PATCH] fix: stop enforcing for ollama (#16191) (thanks @Glucksberg) --- CHANGELOG.md | 1 + src/utils/provider-utils.test.ts | 2 +- src/utils/provider-utils.ts | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 585d3c129..f3d9de2d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ Docs: https://docs.openclaw.ai - Security/Hooks: restrict hook transform modules to `~/.openclaw/hooks/transforms` (prevents path traversal/escape module loads via config). Config note: `hooks.transformsDir` must now be within that directory. Thanks @akhmittra. - Security/Hooks: ignore hook package manifest entries that point outside the package directory (prevents out-of-tree handler loads during hook discovery). +- Ollama/Agents: avoid forcing `` tag enforcement for Ollama models, which could suppress all output as `(no output)`. (#16191) Thanks @Glucksberg. ## 2026.2.13 diff --git a/src/utils/provider-utils.test.ts b/src/utils/provider-utils.test.ts index 9514897f2..d00324f59 100644 --- a/src/utils/provider-utils.test.ts +++ b/src/utils/provider-utils.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it } from "vitest"; import { isReasoningTagProvider } from "./provider-utils.js"; describe("isReasoningTagProvider", () => { - it("returns false for ollama — native reasoning field, no tags needed (#2279)", () => { + it("returns false for ollama - native reasoning field, no tags needed (#2279)", () => { expect(isReasoningTagProvider("ollama")).toBe(false); expect(isReasoningTagProvider("Ollama")).toBe(false); }); diff --git a/src/utils/provider-utils.ts b/src/utils/provider-utils.ts index 7bd3ba49e..a55442772 100644 --- a/src/utils/provider-utils.ts +++ b/src/utils/provider-utils.ts @@ -14,7 +14,7 @@ export function isReasoningTagProvider(provider: string | undefined | null): boo const normalized = provider.trim().toLowerCase(); // Check for exact matches or known prefixes/substrings for reasoning providers. - // Note: Ollama is intentionally excluded — its OpenAI-compatible endpoint + // Note: Ollama is intentionally excluded - its OpenAI-compatible endpoint // handles reasoning natively via the `reasoning` field in streaming chunks, // so tag-based enforcement is unnecessary and causes all output to be // discarded as "(no output)" (#2279).