DGCDocs
Providers & models/Thinking & reasoning

off · low · medium · high · xhigh, and preserving it

Thinking & reasoning#

DGC exposes one thinking dial, mapped to the correct wire format per provider.

Levels#

off · low · medium · high · xhigh. off is the default — a coding agent should act, not deliberate at length. xhigh is the deepest budget, for genuinely hard problems on reasoning-capable models.

  • /think — cycle, or /think high to set a level (persisted across restarts).
  • --think <level> — set it for one dgc -p run.
  • TUI: /think opens a picker; Settings → Model & sampling → Thinking effort.

Reasoning models (o-series, DeepSeek-R1, qwen-thinking) tend to do better on hard tasks with /think high (or xhigh); non-reasoning models often ignore the dial.

Showing thinking#

show_reasoning (/thoughts show|hide) controls whether the model's thinking is shown, muted, in the transcript. It does not change how hard the model reasons — that is /think.

Preserving thinking across turns#

Backends differ in whether prior-turn reasoning is carried back into context:

  • Anthropic (signed thinking blocks) and Ollama (native thinking field)

round-trip their own reasoning automatically.

  • The OpenAI-compatible / llama.cpp chat-completions transport strips the

model's reasoning every turn.

preserve_thinking (/preserve-thinking on|off, default off) re-embeds the last turn's reasoning as a <think>…</think> block in the assistant message sent back, so a compatible/local model can build on its own earlier thinking. It helps multi-turn coherence but costs context tokens, and only affects the chat-completions path (the Anthropic/Ollama paths are untouched).