Skip to content
Guides

OpenClaw thinking levels

The /think ladder, the resolution order, fast mode, verbose, trace and reasoning visibility

6 min read

How hard the model thinks in OpenClaw is a directive you can type into any message: a level from off to ultra, set for one message inline or for the whole session by sending the directive alone. The same page in the docs covers the sibling switches, fast mode, verbose, trace and reasoning visibility, and the resolution order that decides which of six sources wins. Here is the ladder, the order, the two ways to set a default, and the switches that show more.

The ladder

  • The levels are off, minimal, low, medium, high, xhigh, adaptive, max and ultra, roughly mirroring the classic think, think hard, think harder and ultrathink ladder; spelled-out variants like extra-high map to xhigh and highest maps to high.
  • adaptive is provider-managed thinking, max is the provider’s maximum reasoning, and ultra is proactive sub-agent orchestration with runtime-selected reasoning where the model and runtime support it.
  • Menus are provider-profile driven: a plugin declares the exact level set for the selected model, unsupported typed levels are rejected with that model’s valid options, and a stored unsupported level is remapped by rank, so xhigh and max fall back to the largest supported level.
  • Defaults differ by model: the docs note that Claude 4.6 models default to adaptive when nothing is set, while Opus 4.7 and 4.8 keep thinking off until you set a level, and Gemini maps adaptive to its own dynamic thinking.
These are session preferences for subsequent turns, not a promise to change an already-running model call.

The resolution order

Six sources, first match wins: an inline directive on the message, which applies only to that message; the session override, set by sending a directive-only message; the per-agent default; the per-model default under the model’s params; the global default; and finally the provider-declared default, or medium for reasoning-capable models and off for the rest. A directive-only message sticks for the session, per sender by default, and answers with a confirmation; an invalid level is rejected with a hint and leaves the state unchanged. Sending the bare directive shows the current level, and the default keyword clears the override so the session inherits again. On the embedded runtime the resolved level is passed straight to the agent; on the Claude CLI backend concrete levels map to its effort flag, and adaptive removes the fixed budgets and delegates the choice.

Fast, verbose, trace, reasoning

  • Fast mode takes auto, on, off or default and has its own order ending in off; auto enables fast mode for calls that start before a cutoff, sixty seconds by default, and disables it for later retries and continuations. For OpenAI it maps to the priority service tier, for direct Anthropic requests to a native fast speed on the newest Opus models or the priority tier elsewhere, and the status command reports the policy, not the tier the provider actually honoured.
  • Verbose takes on, full or off: on sends each tool call back as its own metadata-only message as it starts, full also forwards tool outputs after completion, and shell summaries show their label without the command text unless verbose is full. Trace is narrower and exposes only plugin-owned diagnostic lines.
  • Reasoning visibility takes on, off or stream: on sends thinking as a separate message prefixed Thinking, stream previews it while the reply generates on channels that support previews, and the Control UI keeps saved reasoning only for on. The docs call reasoning, verbose and trace risky in group settings and say to keep them off there.

OpenClaw models and providers explains the provider and model choice these levels sit on, and OpenClaw slash commands the wider command surface the directives belong to.

Setting a default

A model default lives under the model’s params in the agent defaults, keyed by the full provider and model id you actually select; the provider must already be configured and the model must support the level. A per-agent default and a saved session override still win, so if a model default does not take effect the docs say to clear the session override first and then check the per-agent setting. OpenClaw config is where those keys live. The web chat has the same controls: changing model, thinking or fast mode in an existing session needs write access rather than administrator access, the effort slider writes the session override immediately, and refreshing or compacting keeps an inherited choice inherited.

On Diali

On Diali the runtime is OpenClaw, so the directives above work in whichever channel you connect, and the defaults are part of what the dashboard writes into the assistant’s config. Hosted OpenClaw on Diali is the assistant.

  • Nine levels; the provider profile decides which exist.
  • Inline beats session beats agent beats model beats global.
  • Keep reasoning, verbose and trace off in groups.
Get started

Stop reading about it, build one

Set up an agent, pick a channel, and have it working inside the app you already keep open.