[Bug]: Continue threads after restarts does not preserve Codex reasoning effort
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/server
Steps to reproduce
- Enable "Continue threads after restarts".
- Open a Codex thread and explicitly select a non-medium reasoning effort, such as High.
- Start a task and restart T3 Code while the turn is still running, without manually stopping the thread first.
- Let the thread continue automatically. Do not change the model or reasoning settings, and do not send a manual follow-up.
- Compare the reasoning effort of the automatic continuation with the setting used before the restart.
Expected behavior
The automatically continued turn should preserve the reasoning effort used before the restart. Restarting T3 Code should not change this setting.
Actual behavior
The thread continues automatically, but the reasoning effort differs from the setting used before the restart, without any manual change.
Source inspection of v0.0.40 suggests a possible cause:
- In apps/server/src/serverRuntimeStartup.ts, restart reconciliation calls providerService.sendTurn without modelSelection.
- CodexAdapter reads reasoningEffort from the current turn's modelSelection.
- In apps/server/src/provider/Layers/CodexSessionRuntime.ts, buildCodexCollaborationMode falls back to medium when effort is missing.
Impact
Minor bug or occasional failure
Version or commit
v0.0.40
Environment
No response
Logs or stack traces
Screenshots, recordings, or supporting files
No response
Workaround
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with apps/server/src/serverRuntimeStartup.ts and trace the restart reconciliation call into apps/server/src/provider/Layers/CodexSessionRuntime.ts and the CodexAdapter. Reproduce the v0.0.40 scenario with a non-medium reasoning effort and automatic continuation after a restart. Done means the continued turn preserves the effort selected before the restart, with coverage for this case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 75/100