Skip to content

Session "set reasoning_effort" applies to the next turn only, then reverts to the config default #336

Description

@superbiche

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:

  1. Create a session, set model gpt-5.6-sol, set reasoning_effort xhigh — the set acks (config set: reasoning_effort=xhigh (5 options)).
  2. Send a prompt. The codex rollout jsonl (~/.codex/sessions/.../rollout-*.jsonl) records "effort":"xhigh" in that turn's turn_context — the set applied.
  3. 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.

Activity

  1. gilbertl commented on Jul 26, 2026

    @gilbertl

    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.

  2. agourakis82 commented on Oct 1, 2026

    @agourakis82

    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:

    "effort":"xhigh"
    "effort":"xhigh"
    "effort":"xhigh"
    

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions