Skip to content
Powered by BridgeApp

Reasoning effort

Reasoning effort is how hard the model thinks before it answers. Higher effort means more deliberation, more tokens spent on internal reasoning, slower responses, and usually better answers on hard problems. Lower effort means faster, cheaper, but shallower.

Magic Coder lets you pick the level per session and change it mid-thread.

ValueWhat it does
noneDisable reasoning entirely. Anthropic mapping: no thinking.
minimalLightest level on OpenAI. Anthropic mapping: no thinking.
lowLower latency, lower token use.
mediumBalanced reasoning depth (a common default).
highMore thorough reasoning.
xhighStrongest OpenAI level. Anthropic mapping: native xhigh on Claude Opus 4.7, otherwise max when the model supports it, otherwise high.

max is accepted as a search alias for xhigh — if you type /reasoning-effort max, you’ll get xhigh.

Three ways:

  • At launchcoder --reasoning-effort high.
  • In the TUI/reasoning-effort (or /thinking) opens the picker.
  • As a default — set [generation] reasoning_effort = "high" in ~/.magic/config.toml.

The picker shows the same levels with one-line hints. To clear the per-session override and fall back to the provider default:

/reasoning-effort default

Heuristics that work for most teams:

  • medium is a good default for everyday work — bug fixes, small features, code review.
  • high when the task involves multi-file refactors, hairy debugging, or tricky algorithmic decisions.
  • xhigh for hard problems where wrong-or-incomplete is worse than slow — production migrations, security audits, complicated concurrency bugs.
  • low or minimal for fast turnaround on routine work where you can spot mistakes easily — formatting, doc edits, mechanical refactors.
  • none when you specifically want a non-reasoning response, e.g. you’re treating the model as a fast answer machine and not a problem-solver.

You can change levels mid-thread. A common workflow: start at medium for the bulk of the work, raise to high or xhigh before the final pass that produces the patch.

Magic Coder uses a single set of levels across providers. The translation looks like this:

  • OpenAI reasoning models — the values map directly: none, minimal, low, medium, high, xhigh.
  • Anthropic models with extended thinkingnone and minimal disable thinking. On Claude Opus 4.7, xhigh stays native and is the recommended starting point for coding and agentic work. On older supported Anthropic models, xhigh degrades to max when available, otherwise high.
  • Other providers — Magic Coder picks the closest equivalent the model supports.

You don’t need to remember which model speaks which dialect — pick the level you want and Magic Coder handles the translation.

The two are independent dials. You can run xhigh reasoning at a normal context length, or low reasoning at extended (long) context. See Long-context mode.

A reasoning-effort choice you make in the session (/reasoning-effort high) is also written to your user config so the same default sticks for new threads. To revert to the provider default, run /reasoning-effort default and it’s cleared from your user config too.

For the canonical list of levels, aliases, and hints — including the search aliases that accept max, min, fast, balanced, deep, etc. — see Reasoning effort values.