registry.ollama.ai/library/deepseek-r1:8b does not support tools
The message
registry.ollama.ai/library/deepseek-r1:8b does not support toolsWhat it means
Your app sent a chat request with a list of tools, and the model you picked has no template or parser that knows how to format tool calls, so Ollama refused it with a 400.
What to do
Run ollama show MODEL and look for tools under Capabilities. Pick a model that lists it, re-pull if the library version was updated, or stop your app sending tools to this model.
Your coding agent or chat app stops before the model says a word, and the error it passes on from Ollama looks like this (the model name is whatever you picked):
registry.ollama.ai/library/deepseek-r1:8b does not support tools
Apps wrap it differently. The raw answer from Ollama's own API is an HTTP 400 with this body:
{"error":"registry.ollama.ai/library/deepseek-r1:8b does not support tools"}
Through the OpenAI-compatible endpoint it arrives as {"error":{"message":"registry.ollama.ai/library/deepseek-r1:latest does not support tools","type":"api_error","param":null,"code":null}}, and the Python library raises it as a ResponseError with (status code: 400) on the end. There were 52 issues in the ollama/ollama repo containing the phrase as of September 26, 2026, and deepseek-r1 is the model named most often in the ones we read.
Where Ollama decides this
We read the code in Ollama 0.34.4. When a chat request includes a tools list, the server adds "tools" to the capabilities it needs, checks the model, and if tools are missing it puts the model's full registry name in front of "does not support tools" and sends it back as a 400. Nothing is loaded and no text is generated.
A model counts as tool-capable in any of these cases:
- its prompt template (the text pattern Ollama wraps your messages in) uses the
.Toolsvariable; - for a GGUF file, the chat template stored inside it mentions
toolsortool_call; - it's set to use one of Ollama's built-in parsers that handles tool calls;
- its config lists tools directly.
So it's a property of how the model is packaged. A collaborator on the repo put it plainly in #8517 (January 2025): "Tool calling is a function of the model template, not the ollama binary." Updating Ollama won't help a model whose template has no tool section.
Checking a model
ollama show deepseek-r1:8b prints a Capabilities table. If tools isn't in it, every request with tools will get this error. The model pages on ollama.com carry a "tools" tag for the same thing, though people have filed issues where the tag and the local check disagreed.
Fixes that worked in the issue threads
Re-pull first if the model is an old download. When llama3.1 came out its first template had no tool support, and the reply in #5967 (July 2024) was that a fresh ollama pull would fetch the updated one. The same happened with qwen3-coder in September 2025 (#12344), where the library models were updated a day after the report.
For a model you imported yourself, from a GGUF or Hugging Face, you give it a template or parser. The collaborator's advice in #13768 (January 2026) was a Modelfile with FROM and a TEMPLATE translated from the original model's Jinja chat template into a Go template. Where Ollama already ships a parser for the family, it's shorter; for qwen3-coder the reply was:
FROM qwen3-coder
RENDERER qwen3-coder
PARSER qwen3-coder
followed by ollama create with a new name.
If the model was never trained to call tools, a template won't teach it. Use a model that lists tools, or turn tools off in your app for this one. Some frameworks fake tool calls by writing the tool list into the system prompt, which is why the same model can seem to work in one app and fail in another.
Older wording
Issues from July 2024 show a shorter form without the registry prefix, such as llama3.1:70b does not support tools. It's the same check.
Other lines the same feature prints
Match yours against these if the one at the top of the page is not quite it. They come from the same code and mean related things.
does not support tools{"error":"registry.ollama.ai/library/deepseek-r1:8b does not support tools"}{"error":{"message":"registry.ollama.ai/library/deepseek-r1:latest does not support tools","type":"api_error","param":null,"code":null}}ollama._types.ResponseError: registry.ollama.ai/library/functiongemma:latest does not support tools (status code: 400)llama3.1:70b does not support tools