Model picker selection not applied to the live session until /reload when the same model id exists in the Command Code and OpenAI ChatGPT/Codex lanes
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
Start in the model-select handler behind the /model picker, where rebuildHarnessSession is gated on provider !== configuredProvider. Check how a bare catalog id resolves to a lane when the same id exists in both the Command Code and OpenAI BYOK lanes. Reproduce by switching lanes without /reload and watching for the · openai (byok) header suffix. Done when a cross-lane pick rebuilds the live session and the header updates immediately.
由索引模型根据 Issue 内容生成。
描述
Summary
Picking a model in the /model picker that lives in two lanes at once (Command Code gateway and the OpenAI ChatGPT/Codex BYOK lane) does not apply the selection to the running session. The picker closes and shows the confirmation status, but the session keeps routing through the previous lane until the user runs /reload. This is especially visible with the OpenAI models (gpt-5.6-luna, gpt-5.6-sol, gpt-6-luna, …), which exist in both the Command Code catalog and the ChatGPT/Codex provider lane.
Expected Behavior
Selecting a model with enter in /model should immediately apply it to the active session (rebuilding the harness session when the routing lane changes), without requiring a manual /reload.
Actual Behavior
After selecting a model that exists in both lanes, the UI shows the "Model set to …" status but the session keeps using the previous lane's route (verifiable via the · openai (byok) suffix missing from the transcript header, and by the routing behavior). Running /reload rebuilds the session from the persisted config and the new model + provider then apply correctly. Restarting the CLI also applies it, which confirms the persisted state is correct and only the live session is stale.
Steps to reproduce the issue
- Connect an OpenAI ChatGPT/Codex account (
/connect→ OpenAI ChatGPT/Codex) with a ChatGPT Plus plan. - Start a session with a Command Code catalog model as the active model.
- Open
/model, select e.g.gpt-5.6-lunafrom the OpenAI lane, press enter. - The picker closes with "Model set to …" but the session keeps routing through the old lane (no
· openai (byok)suffix in the header; requests don't hit the ChatGPT backend). - Run
/reload→ after the reload the model + provider apply and requests route through the ChatGPT subscription.
Command Code Version
1.88.2
Operating System
Windows
Terminal/IDE
Windows Terminal
Shell
cmd.exe / PowerShell 5.1
Session file (optional)
No response
Fix prompt (optional)
In the model-select handler, the harness session is only rebuilt when the selected model's lane provider differs from the currently configured provider (rebuildHarnessSession is gated on provider !== configuredProvider). When the same model id exists in both the Command Code catalog and a BYOK lane, resolving the pick to the bare catalog id makes the change look like a no-op, so neither the session rebuild nor the lane handoff happens and the live session keeps its old route. The pick should carry the lane/routeProvider through to the harness (like the route-aware path used elsewhere) so a cross-lane pick of an identical id still triggers the rebuild, or the rebuild condition should compare the resolved route (model + routeProvider), not just the provider field. Verify by selecting an OpenAI model from the Codex lane while a Command Code catalog model is active, then checking the header shows · openai (byok) without any reload.
Additional context
- Persisted state is written correctly on selection (config
model/modelProviderupdate); only the running session is stale, which is why/reloador a restart "fixes" it. - Related but distinct from #860 (that one is about the session not running as the selected model at all right after connecting; this one is about an already-connected session ignoring a lane-crossing model pick until reload).
- Environment notes: the BYOK OpenAI provider package was installed into the provider cache and the ChatGPT/Codex credential was present and valid while reproducing this; the bug reproduced consistently across several model switches between the two lanes.
- 主要语言
- 没有语言数据
- 星标
- 4.2k
- 派生
- 377
- 平均合并
- 1 天 17 分钟
- 30 天内合并 PR
- 7
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
CommandCodeAI/command-code 的其他 Issue
-
Provider /v1/messages rejects role:"system" inside messages[] — Claude Code ≥ 2.1.154 incompatible未关闭
难度 2/5 1-3 小时 新手友好度 75/100
CommandCodeAI/command-code#1085 ·
维护者通常 1 天内回复
-
Feature request: auto-reconnect remote control (/rc) after restart可能已有人在做 @aliarain 于 20 天前认领。 未关闭p2
难度 2/5 1-3 小时 新手友好度 85/100
CommandCodeAI/command-code#992 · 1 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
CommandCodeAI/command-code#933 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
CommandCodeAI/command-code#855 ·
维护者通常 1 天内回复
-
grep tool passes empty file type to ripgrep可能已有人在做 @ahmadbilaldev 于 19 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 68/100
CommandCodeAI/command-code#655 · 1 条评论 ·
维护者通常 1 天内回复
查看 CommandCodeAI/command-code 的全部 Issue
相似的 Issue
-
enhancement
难度 2/5 1-3 小时 新手友好度 65/100
developmentwithyash/yaan#60 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
area/billing area/config comp/tui-gateway P2 provider/openrouter type/bug
难度 2/5 1-3 小时 新手友好度 68/100
NousResearch/hermes-agent#153086 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
维护者通常 2 天内回复
-
ai-generated structs tech-debt
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复