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
{{ message }}
Repository navigation
Session "set reasoning_effort" applies to the next turn only, then reverts to the config default #336
Setup: codex-acp driven as a persistent named session over ACP (client: acpx). Tested on codex-acp 1.1.4; I found no related fix in the 1.1.5–1.1.7 changelogs and no existing issue matching this.
Reproduction:
Create a session, set model gpt-5.6-sol, set reasoning_effort xhigh — the set acks (config set: reasoning_effort=xhigh (5 options)).
Send a prompt. The codex rollout jsonl (~/.codex/sessions/.../rollout-*.jsonl) records "effort":"xhigh" in that turn's turn_context — the set applied.
Send further prompts on the same session without re-issuing the set. Each later turn_context records "effort":"high" (the codex config default) — the session setting silently reverted.
Observed twice independently: a three-turn session with turn 1 at xhigh and turns 2–3 at high; a longer multi-turn session with 29 turn_context entries at high vs 1 at xhigh.
Expected: session-level reasoning effort persists for the session's lifetime, like set model does. The model set through the same path sticks across all turns, which is why this looks like adapter-side session-config handling rather than the client dropping it — but happy to re-test against a newer version or provide full rollout excerpts if useful.
Workaround: re-issue set reasoning_effort immediately before every prompt.
@superbiche · user · drafted with Claude Fable 5, reviewed before posting; the voice and decisions are mine.
I traced this through AOE and codex-acp and opened #337. The adapter was keeping the selected effort only in its in-memory SessionState and relying on the next turn to carry it into Codex. The PR writes model/effort directly with thread/settings/update and restores mode from the resume response, so config survives adapter/worker restarts.
This looks fixed as of codex-acp 1.1.14 (newer than the 1.1.4–1.1.7 tested here).
Reproduction: session/set_config_option with configId: "reasoning_effort", value: "xhigh" once, then three session/prompt turns on the same session without re-issuing the set. Checked the actual rollout jsonl (~/.codex/sessions/.../rollout-*.jsonl) rather than inferring from token counts, since a model can legitimately emit zero reasoning tokens on a trivial turn even at high effort:
All three turn_context entries held xhigh — no revert to the config default. Worth a maintainer confirming which patch version fixed it, but 1.1.14 at least doesn't reproduce this anymore.
Activity
gilbertl commentedon Jul 26, 2026
I traced this through AOE and codex-acp and opened #337. The adapter was keeping the selected effort only in its in-memory SessionState and relying on the next turn to carry it into Codex. The PR writes model/effort directly with thread/settings/update and restores mode from the resume response, so config survives adapter/worker restarts.
agourakis82 commentedon Oct 1, 2026
This looks fixed as of
codex-acp1.1.14 (newer than the 1.1.4–1.1.7 tested here).Reproduction:
session/set_config_optionwithconfigId: "reasoning_effort", value: "xhigh"once, then threesession/promptturns on the same session without re-issuing the set. Checked the actual rollout jsonl (~/.codex/sessions/.../rollout-*.jsonl) rather than inferring from token counts, since a model can legitimately emit zero reasoning tokens on a trivial turn even at high effort:All three
turn_contextentries heldxhigh— no revert to the config default. Worth a maintainer confirming which patch version fixed it, but 1.1.14 at least doesn't reproduce this anymore.