diff --git a/CHANGELOG.md b/CHANGELOG.md index 585d3c1294c..f3d9de2d885 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 9514897f266..d00324f5903 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 7bd3ba49e6b..a5544277201 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).