Repository navigation
Allow xhigh, max and custom reasoning effort values - #11
Merged
imonlinux merged 1 commit intoNov 6, 2026
Merged
Conversation
Providers define their own reasoning_effort levels beyond low/medium/high: Meta's Model API documents xhigh and max (on some models), and other OpenAI-compatible servers have their own. Add xhigh and max as presets and let the selector accept a typed custom value, as the model picker already does, so new levels do not need a release. Custom values are free text, so the provider trims whitespace and treats a blank value like the none default (parameter omitted). Follow-up to imonlinux#7.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #7 and #9: the other half of the #7 suggestion,
xhigh/maxand custom values.Current OpenAI models go above
high, and the selector can't reach those levels today:ReasoningEffortasnone,minimal,low,medium,high,xhigh,max(reasoning_effort.py).openai_conversationoffersxhighfor gpt-5.2 through gpt-5.5, andxhigh/maxfor gpt-5.6 and gpt-6 (_get_reasoning_optionsin itsconfig_flow.py).xhigh, andmaxon some models (docs). OpenRouter accepts both.Changes
const.py: addsxhighandmaxtoREASONING_EFFORT_OPTIONS.config_flow.py: setscustom_value=Trueon the reasoning effort selector, the same pattern the model picker already uses. Providers with their own levels can be configured by typing the value, without waiting for a release.providers/openai_chat_provider.py: trims whitespace from the configured value, since custom values are typed. A blank value is treated like thenonedefault, so the parameter is omitted.strings.json/translations/en.json: adds "Extra high" and "Max" labels. The field description now mentions that a custom value can be typed.xhigh,max, a custom value, whitespace trimming, and blank values.The default is unchanged (
none), so existing entries behave exactly as before. As with the other levels, support depends on the model, and the existing "Leave at Default if your model or server does not support it" description covers that.The custom-value part is separable. If you'd rather keep the selector to presets only, dropping the
custom_value=Trueline (and its test case) leaves a purexhigh/maxaddition.Validation
requirements_test.txt: 145 passed, 2 skipped (the 134 baseline, plus 11 new parametrized cases).custom_valueor the trimming reverted, the custom-value, whitespace and blank cases fail.