Skip to content

Think Mode (Reasoning)

The Think checkbox in the chat panel activates extended reasoning on models that support it. The AI produces an explicit chain of thought before writing code — better quality on hard problems, higher token cost, longer response time.

When to use it

Turn Think ON for:

  • Algorithmic problems ("implement a custom skip list")
  • Complex state machines (multi-step wizards, async flows with branches)
  • Unfamiliar library integration where the AI might guess an API
  • Debugging a tricky crash (pair with a stack trace dump)
  • Multi-file refactors where decisions in one place affect another

Turn Think OFF for:

  • Small edits ("add a label next to the field")
  • UI tweaks ("make the button dark green")
  • Well-established patterns the AI has seen thousands of times
  • Quick iterations where speed matters more than quality

Which models support it

Backend Models Think supported?
Claude Sonnet 5, Opus 5, Fable 5 Yes, with a depth ladder. Fable always thinks.
Claude Haiku 4.5 Yes (extended thinking), no depth control
DeepSeek V4 Pro, V4 Flash Yes, with a depth ladder up to Max
Gemini 2.5 Pro, 3 Flash Yes, with a depth ladder
OpenRouter varies per model Check the Thinks capability chip; depth ladder where the model reports one
Ollama reasoning models (qwen3, deepseek-r1, ...) On or off only

When you turn on Think for a model that doesn't support it, the control greys out and the generation proceeds as if Think were off. No error.

Thinking depth

New in v2.5.0. Think is no longer just on or off. Where a backend exposes a real ladder, the checkbox is replaced by a dropdown next to it, and only the levels the selected model actually accepts are listed:

Backend Levels offered
Gemini Off, Low, Medium, High
DeepSeek Off, Low, Medium, High, Max
OpenRouter Off, Low, Medium, High
Claude Effort ladder on Sonnet 5, Opus 5 and Fable 5
Ollama On / off (the API takes a plain flag)

Before v2.5.0, "Think" quietly meant "spend the maximum" on every backend. Now Low is a real middle setting: a bit of reasoning for a moderately tricky change at a fraction of Max's cost. Your chosen depth is remembered across backend switches.

What it costs

Reasoning tokens count toward your bill, and they can be substantial:

  • Typical non-reasoning generation: 5k-10k output tokens
  • Typical reasoning generation: 15k-30k output tokens (reasoning chain + final answer)

On Claude Sonnet that's roughly $0.05 vs $0.15 per generation. Worth it for hard problems; wasteful for trivial ones.

Think + Expand combined

Both checkboxes stack. Expand → detailed spec → Think reasons about the detailed spec → AI writes code.

This combination is the highest-quality mode Whittl has. Use it on the hard 5% of generations, not the routine 95%.

How the reasoning is displayed

Whittl collapses the reasoning chain into a single "Thinking..." node in chat, since it is noisy and most people do not want to read it. Click the node to expand the full trace.

Where the setting lives

Think is a per-request control in the chat panel: the Think checkbox, or the thinking-depth dropdown on backends that offer levels. There is no global preference; the control keeps its last state within the session, and the chosen depth is remembered across backend switches.

What Think doesn't do

  • Doesn't improve non-reasoning models. If you tick Think on a model without a reasoning mode, the control does nothing. Only reasoning-capable models actually reason.
  • Doesn't replace Agent Mode. Agent Mode is about how many rounds the AI gets; Think is about how much the AI reasons within a single round. They compose — Agent Mode + Think is "many rounds of careful reasoning."
  • Doesn't speed things up. Think is slower per-response, always. If latency matters more than quality, leave it off.

What's next