From 858c872832d9bf79472b5ab2034a89e953e042fb Mon Sep 17 00:00:00 2001 From: Anh Nguyen Date: Tue, 11 Aug 2026 22:46:11 -0500 Subject: [PATCH] docs(setup): document supports_tools opt-in for manual Ollama /v1 endpoints (#5835) * docs(setup): document supports_tools opt-in for manual Ollama /v1 endpoints Manually-added Ollama /v1 endpoints default to the conservative fenced-block tool-calling path, and there's currently no UI control to opt a specific endpoint into native tool calling (#5192). The supports_tools PATCH flag already exists and works, it just wasn't documented anywhere a user could find it without reading source. Adds a short section next to the existing "Ollama with Docker" notes explaining when to use it and the exact API call, framed as an advanced/opt-in setting per the maintainer's stated preference against a casual UI toggle (#3195/#3438). * docs(setup): clarify supports_tools false semantics --------- Co-authored-by: Alexandre Teixeira <111787685+alteixeira20@users.noreply.github.com> Co-authored-by: Alexandre Teixeira --- docs/setup.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/docs/setup.md b/docs/setup.md index 53a6fb28c..171a195e7 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -309,6 +309,32 @@ container. Cookbook **Serve** is a separate workflow for serving downloaded models through Odysseus/llama.cpp, so Windows users with an existing Ollama install usually only need to add the endpoint in Settings. +**Tool calls not firing on a manually-added Ollama `/v1` endpoint.** By +design, a local Ollama `/v1` endpoint defaults to the conservative +text-based (fenced-block) tool-calling path rather than native structured +tool calls, since some locally-served models mishandle native schemas (see +#1567). This is correct for most local setups, but if you know your specific +model reliably supports native tool calling (check `ollama show ` for +`tools` under Capabilities), you can opt that endpoint in explicitly. There +is currently no UI control for this on manually-added endpoints (see #5192); +the flag can still be set directly against the existing API, from a browser +console on an authenticated admin session: + +```js +fetch('/api/model-endpoints/', { + method: 'PATCH', + credentials: 'same-origin', + headers: {'Content-Type': 'application/json'}, + body: JSON.stringify({supports_tools: true}) +}).then(r => r.json()).then(console.log) +``` + +Find `` by inspecting the `/api/model-endpoints` response (or +your browser's network tab while Settings loads the endpoint list). Send +`supports_tools: false` to disable native structured tool calls and force the +conservative fenced/text path, or `supports_tools: null` to return the endpoint +to the Auto heuristic. + **Useful checks.** ```bash