## Issue Description
长对话会话中某轮回复失败,UI 提示 `Qoder worker runtime exited with code 42`。点「重试」必然再次失败,该会话从此无法继续使用,只能重开。新会话一切正常。
通过本机日志定位到了确切根因,是一个参数自相矛盾的 bug:
- 原始 worker 启动时带 `–no-session-persistence`(见 `~/.qoder-cn/logs/runs/2026-08-30T22-40-40-084+08-00-rvso6r-p852872/manifest.json`),会话状态从未落盘——`~/.qoder-cn/projects//` 目录下不存在任何 `.jsonl` 会话文件(已核实为空)。
- 回复失败后,应用用 `–resume ` 拉起新 worker 执行重试。
- 磁盘上没有该会话的状态文件,新 worker 启动即退出:
```
process.exiting exit_code=42 reason=“input_error”
message="Error resuming session: Invalid session identifier \“dbd5edc5-…\”.
Searched current project and same-repo worktrees:
- C:\Users\\.qoder-cn\projects\…"
```
- UI 只显示裸退出码 42;由于状态文件不存在,重试永远失败。
另外主线程日志显示失败那轮模型侧(bailian / qwen3.8-max-tp)实际正常返回(`stop_reason=end_turn`),问题纯粹出在本地 worker 层,与模型服务商无关。
Steps to Reproduce
- 开始一个多轮对话会话(观察到 worker 以 `–no-session-persistence` 启动)。
- 任一轮回复失败。
- 点击「重试」。
- 每次都得到 code 42,会话永久卡死,只能重开。
Expected Behavior
重试应能恢复会话继续对话:要么原始 worker 开启会话持久化,要么重试沿用内存态会话。另外 code 42 时 UI 应展示真实错误原因(“Error resuming session: Invalid session identifier”),而不是只给一个裸退出码。
Actual Behavior
重试 worker 以 `–resume` 恢复一个从未持久化的会话,必然 `input_error` 退出(code 42),会话永久不可用。
Screenshots / Screen Recordings
暂无(日志已足够定位)。
Operating System
Windows 10.0.26100 (win32 x64)
Current Qoder Version (Menu → About Qoder → Copy)
Qoder CN 1.1.31(cli_version=1.1.31,Node v24.18.0)
附:同日还观察到 `exit_code=41 reason=“auth_error”`(Temp 目录下 SDK auth payload 文件丢失:`SDK auth payload file not found: …\Temp\qoder-sdk-auth-XXXX\payload.json`),同为本地运行时问题,一并反馈。