Reasoning effort: how hard a model thinks
Reasoning effort is a request setting that tells a thinking model how much to deliberate; DevFlow pins it to the maximum for 2 roles, planning and verification.
The general idea
Some models think before answering: they generate hidden reasoning, then the visible reply. Providers expose a knob for how much of that thinking to do, usually from low to high. More deliberation tends to help on hard problems, but it takes longer and produces more billable tokens.
When DevFlow raises the effort
DevFlow requests the highest level, xhigh, in two situations. The planning and verifier roles always get it, whatever the model, because planning and review are where a shallow answer costs the most later.
Every other role gets xhigh only when the chosen model accepts the setting. DevFlow decides that from a short curated list of model names, currently DeepSeek models and qwen3.7-max, extended by OpenRouter's catalog, where listing the parameter among the supported ones is enough to qualify.
If the catalog is cold or unreachable, the curated list alone decides. The catalog entry proves that an effort parameter is accepted, and OpenCode maps xhigh onto each provider's own maximum.
How the setting is applied
The setting is written only on the OpenCode backend; the Claude Code path is untouched. Before each run, DevFlow writes a fresh opencode.json in a config directory it owns, with the effort option under the chosen provider and model.
The same file carries other per-run options, such as the relay address in container mode. Writing the file per run means a previous run's setting never lingers. Keeping the file out of the worktree means it can never clobber a configuration file in your repository.
Counting the thinking
Thinking models report their hidden tokens apart from regular output. DevFlow stores those tokens under a separate <model>:reasoning key on the same run, so they stay visible without inflating the other counts.
Analytics, the dashboard's performance section and the planned public snapshot all skip those rows. The rows are bookkeeping and can never be selected for a role.
Choosing where to spend
Because effort follows the role, tiering is the main lever. Heavy roles such as planning already sit in the max tier, and lighter roles in the fast tier are good candidates for models without a thinking mode.
FAQ
Does reasoning effort in DevFlow change my repository config?
No. DevFlow writes the setting into a config file in a directory that DevFlow owns, rewritten for every run, never into the worktree.
What if a model does not support reasoning effort?
For planning and verification, DevFlow sends the setting anyway and accepts that the provider may ignore or reject it. Other roles get the setting only when the model is known to accept it.