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
Codex CLI >= 0.144.0 supports model_reasoning_effort=max (introduced alongside the GPT-5.6 model family, GA July 2026). Humanize currently rejects max at every validation site:
codex_effort: "max" in config.json is silently ignored with a warning (hooks/lib/loop-common.sh)
start-rlcr-loop --codex-model MODEL:max fails at setup (scripts/setup-rlcr-loop.sh)
the stop hook rejects max when re-reading loop state (hooks/loop-codex-stop-hook.sh)
map_effort errors on max (scripts/lib/model-router.sh)
So users on GPT-5.6 can't run RLCR reviews at the deepest reasoning tier even though their CLI supports it.
Changes
Add max to the four effort whitelists and the corresponding error messages
map_effort: downgrade max -> high for the claude provider, same as the existing xhigh mapping (the info log now interpolates the actual effort value)
docs/usage.md: update both codex_effort value lists
tests/test-unified-codex-config.sh: keep the replicated validation regexes in sync
tests/test-model-router.sh: add Test 21 (max passes through for codex) and Test 22 (max maps to high for claude)
Testing
tests/test-model-router.sh: new Tests 21/22 pass (Tests 11/13 fail only on my box because codex/claude exist in /usr/bin, which defeats the missing-binary simulation; unrelated to this change)
tests/test-unified-codex-config.sh, tests/test-config-merge.sh, tests/test-config-error-handling.sh: all pass
bash -n clean on all changed shell files
Verified end-to-end on a patched install: codex_effort: "max" in config is accepted without warning and ask-codex runs with model=gpt-5.6-sol effort=max
Codex CLI >= 0.144.0 supports model_reasoning_effort=max (introduced
with the GPT-5.6 family). Humanize currently rejects it at every
validation site, so codex_effort=max in config.json is ignored with a
warning and start-rlcr-loop --codex-model MODEL:max fails at setup.
- Add max to the effort whitelists in loop-common.sh (config
validation), setup-rlcr-loop.sh (loop setup), loop-codex-stop-hook.sh
(state validation), and model-router.sh (map_effort)
- Map max -> high for the claude provider, same as xhigh
- Update error messages and docs/usage.md value lists
- Add map_effort test cases: max passthrough (codex), max -> high
(claude)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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
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.
Motivation
Codex CLI >= 0.144.0 supports
model_reasoning_effort=max(introduced alongside the GPT-5.6 model family, GA July 2026). Humanize currently rejectsmaxat every validation site:codex_effort: "max"inconfig.jsonis silently ignored with a warning (hooks/lib/loop-common.sh)start-rlcr-loop --codex-model MODEL:maxfails at setup (scripts/setup-rlcr-loop.sh)maxwhen re-reading loop state (hooks/loop-codex-stop-hook.sh)map_efforterrors onmax(scripts/lib/model-router.sh)So users on GPT-5.6 can't run RLCR reviews at the deepest reasoning tier even though their CLI supports it.
Changes
maxto the four effort whitelists and the corresponding error messagesmap_effort: downgrademax->highfor theclaudeprovider, same as the existingxhighmapping (the info log now interpolates the actual effort value)docs/usage.md: update bothcodex_effortvalue liststests/test-unified-codex-config.sh: keep the replicated validation regexes in synctests/test-model-router.sh: add Test 21 (maxpasses through for codex) and Test 22 (maxmaps tohighfor claude)Testing
tests/test-model-router.sh: new Tests 21/22 pass (Tests 11/13 fail only on my box becausecodex/claudeexist in/usr/bin, which defeats the missing-binary simulation; unrelated to this change)tests/test-unified-codex-config.sh,tests/test-config-merge.sh,tests/test-config-error-handling.sh: all passbash -nclean on all changed shell filescodex_effort: "max"in config is accepted without warning andask-codexruns withmodel=gpt-5.6-sol effort=max🤖 Generated with Claude Code