Repository navigation
/crew and Settings → Providers name different models for the same seats #1764
Description
What happened
2026-10-05, dev@f81638787 (dev-20261005-f816387875e5), on a fresh profile with an OpenRouter key and nothing pinned. Found in the v0.7.1 happy-path pass, under the release checklist's "/crew and setup report the same models and limits".
The limits agree everywhere: /crew, /budget, /settings → Spending and the seats row. The models do not. /crew says:
worker auto · likely glm-5.3-flash
planner auto · likely claude-opus-5.5
checker auto · likely claude-opus-5.5
and those are the models do and /task actually use (per codeaf logs). But /settings → Providers, under the same seats, lists worker, checker, careful, repair, shaper, vision and designer all as ~deepseek/deepseek-v4-flash-latest. The shaper row's own description says it "follows the checker seat (/crew)", yet it names a different model from the one /crew says that seat will use.
codeaf models says the same thing as Settings (panel: none — … every call goes to ~deepseek/deepseek-v4-flash-latest), though the crew's calls go elsewhere.
Replication
Deterministic (no model). Not yet written. A tui3 test can render /crew and the Settings Providers tab over one fresh profile and compare the model each shows for the worker and checker seats.
Field. Use a fresh CODEAF_HOME with OPENROUTER_API_KEY. In codeaf chat, open /crew and read the seats. Then open /settings, press → to Providers, and read the roles · … rows. Nothing is spent.
Where
The roles rows on the Settings Providers tab in internal/tui3. The /crew panel's likely resolution. The models command in cmd/codeaf.
The fix
Every surface that names the model a seat or role will use resolves it the same way /crew does. Settings either shows auto · likely glm-5.3-flash for an auto seat or does not name a model for it. codeaf models says the crew's seats are picked per task rather than that every call goes to the chat model.
Acceptance
- e2e: on a fresh profile,
/crewand Settings → Providers name the same model for the worker and checker seats. - e2e:
codeaf modelson that profile does not claim every call goes to the chat model.
Activity