You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OMP's internal reasoning/effort scale tops out at xhigh — the levels are off | minimal | low | medium | high | xhigh (the :thinkingLevel suffix and defaultThinkingLevel enum both stop at xhigh). There is no max tier.
Anthropic, however, now exposes a dedicated output_config.effort parameter whose highest value is max, available on Opus 4.6 / 4.7 / 4.8, Sonnet 4.6, Fable 5, Mythos 5 (per the API docs; not Opus 4.5). This effort knob is separate fromthinking.budget_tokens — the two combine, controlling different dimensions.
Per the provider-endpoint docs, for the anthropic-messages format OMP maps reasoning only to "Anthropic thinking enablement and thinking-budget tokens, not OpenAI-style fields." So today there is:
no max level anywhere in the internal effort scale, and
no code path that emits Anthropic's output_config.effort at all.
Net effect: a user on Claude Code can run claude --model claude-opus-4-8 --effort max, but from OMP there is no way to request the model's highest effort. The closest knob (xhigh + raising thinkingBudgets.xhigh) only scales the thinking-budget dimension — it is not the same as Anthropic's effort: max.
I run Opus 4.8 (and other max-capable Anthropic models) from OMP and want the model's highest reasoning effort — parity with Claude Code's --effort max / CLAUDE_CODE_EFFORT_LEVEL=max.
Right now the only available ceiling is xhigh. Increasing thinkingBudgets.xhigh raises the thinking-token budget but does not set output_config.effort, so OMP cannot reach the effort level these models actually support. This blocks getting maximum quality out of newer Anthropic models from within OMP.
Area
Provider / Model support
Proposed Solution
Add a max effort tier above xhigh in the internal effort scale, gated by per-model capability metadata so it only surfaces for models that advertise it (Opus 4.6/4.7/4.8, Sonnet 4.6, Fable 5, Mythos 5, …). Models without max keep xhigh as their ceiling.
Wire anthropic-messages to output_config.effort. When the selected level is max (and the model supports it), emit output_config: { effort: "max" }alongside the existing thinking budget, instead of only translating reasoning into budget tokens. Ideally expose the effort dimension and the thinking-budget dimension independently.
Extend reasoningEffortMap so effort-string providers benefit from a real max tier (e.g. DeepSeek already maps xhigh -> "max"); this also addresses the conflation in deepseek-v4-pro no max effort option #2727 where a provider's true max effort is unreachable.
Surface it in the UI/flags: model browser, the requested /effort command (/effort command #2694), --effort/--thinking, and a :max thinking suffix — all guarded by capability detection so it is hidden for models that reject it.
Capability detection via model metadata / modelOverrides so unsupported models (e.g. Opus 4.5) don't get an invalid effort: "max" and 400.
Alternatives Considered
models.ymlmodelOverrides[].compat.extraBody to manually inject output_config: { effort: max }. It's unclear/unverified whether extraBody is merged into the anthropic-messages request body (the documented extraBody examples are OpenAI-style payloads). Even if it works, it's a per-user manual hack, has no capability gating, and never appears in the model browser or /effort.
Raising thinkingBudgets.xhigh — only scales the thinking-budget dimension, not Anthropic's effort knob; not equivalent to effort: max.
Description
OMP's internal reasoning/effort scale tops out at
xhigh— the levels areoff | minimal | low | medium | high | xhigh(the:thinkingLevelsuffix anddefaultThinkingLevelenum both stop atxhigh). There is nomaxtier.Anthropic, however, now exposes a dedicated
output_config.effortparameter whose highest value ismax, available on Opus 4.6 / 4.7 / 4.8, Sonnet 4.6, Fable 5, Mythos 5 (per the API docs; not Opus 4.5). Thiseffortknob is separate fromthinking.budget_tokens— the two combine, controlling different dimensions.Per the provider-endpoint docs, for the
anthropic-messagesformat OMP maps reasoning only to "Anthropic thinking enablement and thinking-budget tokens, not OpenAI-style fields." So today there is:maxlevel anywhere in the internal effort scale, andoutput_config.effortat all.Net effect: a user on Claude Code can run
claude --model claude-opus-4-8 --effort max, but from OMP there is no way to request the model's highest effort. The closest knob (xhigh+ raisingthinkingBudgets.xhigh) only scales the thinking-budget dimension — it is not the same as Anthropic'seffort: max.Refs (Anthropic):
output_config.effortlevels and per-model availability — https://platform.claude.com/docs/en/build-with-claude/effortUse Case
I run Opus 4.8 (and other
max-capable Anthropic models) from OMP and want the model's highest reasoning effort — parity with Claude Code's--effort max/CLAUDE_CODE_EFFORT_LEVEL=max.Right now the only available ceiling is
xhigh. IncreasingthinkingBudgets.xhighraises the thinking-token budget but does not setoutput_config.effort, so OMP cannot reach the effort level these models actually support. This blocks getting maximum quality out of newer Anthropic models from within OMP.Area
Provider / Model support
Proposed Solution
maxeffort tier abovexhighin the internal effort scale, gated by per-model capability metadata so it only surfaces for models that advertise it (Opus 4.6/4.7/4.8, Sonnet 4.6, Fable 5, Mythos 5, …). Models withoutmaxkeepxhighas their ceiling.anthropic-messagestooutput_config.effort. When the selected level ismax(and the model supports it), emitoutput_config: { effort: "max" }alongside the existingthinkingbudget, instead of only translating reasoning into budget tokens. Ideally expose the effort dimension and the thinking-budget dimension independently.reasoningEffortMapso effort-string providers benefit from a realmaxtier (e.g. DeepSeek already mapsxhigh -> "max"); this also addresses the conflation in deepseek-v4-pro no max effort option #2727 where a provider's true max effort is unreachable./effortcommand (/effort command #2694),--effort/--thinking, and a:maxthinking suffix — all guarded by capability detection so it is hidden for models that reject it.modelOverridesso unsupported models (e.g. Opus 4.5) don't get an invalideffort: "max"and 400.Alternatives Considered
models.ymlmodelOverrides[].compat.extraBodyto manually injectoutput_config: { effort: max }. It's unclear/unverified whetherextraBodyis merged into theanthropic-messagesrequest body (the documentedextraBodyexamples are OpenAI-style payloads). Even if it works, it's a per-user manual hack, has no capability gating, and never appears in the model browser or/effort.thinkingBudgets.xhigh— only scales the thinking-budget dimension, not Anthropic'seffortknob; not equivalent toeffort: max.Related issues
/effortcommand (UX surface this tier should plug into)reasoningEffortMapnot working properly (closed)xhigheffort lost after 14.7.5 (closed)