Nodes/Comfy DV Nodes/Ollama Option — Disable Thinking
ComfyUI Node

Ollama Option — Disable Thinking

Telling your local reasoning model to just answer

By darth-veitcher·Created 2 years ago·Updated 19 days ago· 2
Ollama Option — Disable Thinking
  • options
  • options
disable_thinkingtrue

You're running a local LLM in ComfyUI - Qwen with thinking enabled, or another reasoning model - and every chat call spends ten seconds mumbling through chain-of-thought before it answers. For a captioning pass, a prompt helper, or a tag suggestion, you don't need the model to reason about its own reasoning. You need an answer. This node is a single boolean that tells a thinking-capable model to skip the thought process and spend its whole token budget on the actual response.

It's an "Ollama Option" node from the comfydv pack (Comfy DV Nodes) by darth-veitcher - a small, AGPL-licensed utility pack built around the idea of nodes that disappear into your workflow. The whole Ollama Option family exists to make the pack's Chat Completion node tunable without burying settings in the node. Every one of them does the same dance: take in an optional options socket, merge one setting into it, pass the merged dict out the options socket. Wire any number of them in a chain and they all land in Chat Completion's options input.

What it actually does

One input: disable_thinking, a boolean that defaults to true (on). On means "skip chain-of-thought entirely - faster, and the model's whole token budget goes to the actual response." Off explicitly re-enables thinking, which is only useful to override a server-side default. That's it. One toggle, one output socket named options (type OLLAMA_OPTIONS), which you chain into Chat Completion.

Here's the part worth knowing before you assume it's trivial: the think key this node emits is not an Ollama-native sampling parameter, and it's the pack's own convention that makes it work. ComfyDV's provider layer pops think out of the options dict and translates it per backend - Ollama gets a top-level think field in the request, llama.cpp gets chat_template_kwargs/reasoning_effort in the body. The source notes this matters because Ollama silently ignores a think key buried inside options; it has to be top-level. That translation is exactly why this node exists instead of you just editing JSON.

Why you'd bother

Reasoning models are great until they're slow. When your local LLM is a tool in a bigger image pipeline - describing a draft, captioning a batch, brainstorming a prompt - the chain-of-thought is pure overhead. Flipping this on is the difference between "wait for the model to think about thinking" and "get the text." If you're never hitting a thinking model, the node does nothing; leave it out of the chain. If you are, it's a one-wire quality-of-life win.

Installing and wiring

Via ComfyUI Manager, search for comfydv and install, or:

cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/darth-veitcher/comfydv.git

Restart ComfyUI. Dependencies (jinja2, aiohttp, pydantic-ai-slim) install automatically - the pack ships no model files, so bring your own backend: install Ollama and ollama pull a model that has thinking enabled. You'll find this node under dv/ollama/options.

The wiring, for a full setup: Ollama ClientChat Completion (client, model, prompt), and ahead of Chat Completion chain this node (plus any other Ollama Option nodes) into its options input.

Common issues

The failure mode people hit: they set disable_thinking and the model still thinks. Nine times out of ten the option chain isn't actually wired into Chat Completion's options socket - a lone option node sitting on the canvas does nothing. Also remember this only affects models that have thinking enabled server-side; a model running without thinking was never spending tokens on it anyway.

One quirk from the pack's history: nodes were renamed once to be backend-generic (OllamaChatCompletionChatCompletion). If you reopen an old saved workflow and ComfyUI reports missing node types, delete and re-add them - behavior is unchanged, only the names moved.

Categorydv/ollama/options

Inputs (2)

NameTypeDefaultDescription
disable_thinkingBOOLEANtrueOn: skip chain-of-thought reasoning entirely — faster, and the model's whole token budget goes to the actual response. Off: explicitly re-enable thinking (only useful to override a server-side default).
optionsoptOLLAMA_OPTIONS

Outputs (1)

NameTypeDescription
optionsOLLAMA_OPTIONS