A task cannot be sent to a custom provider's model: the task catalog never lists it
@AbirAbbas ci sta già lavorando.
Dal 23/9/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
What happened
A conversation running on a custom OpenAI-compatible connection (model_sources, written: local, address http://127.0.0.1:8317/v1) talks to its local model with no trouble, and the runner is up and lists that model. Asking for a task on the same model is refused: "no model here is called <local model> — did you mean <three cloud model ids>? Name one of those, or leave model out to run on <another cloud model>."
Every suggestion and the fallback are cloud models. There is no spelling of the local model the door will accept, so a task from a locally-backed conversation always runs on a billed cloud model or not at all.
Where
propose_task's model is resolved by resolveTaskModel against Config.TaskModels (internal/session/taskmodel.go). That list is built by v3TaskModels in cmd/codeaf/chatv3.go, which takes tui3.ChatModels(v3Models(models)) — the chat catalog. The custom source's models are not in it, even though the conversation's own model comes from that source.
The refusal is taskModelUnknown: zero candidates against a non-empty list. When the list is warming and returns nil, the same code takes the named model as written and lets the provider answer for it, so the failure only appears once the catalog has loaded.
Not specific to one branch
v3TaskModels is byte-identical on origin/main and origin/santos/dev2 (git diff shows nothing in it), and the running binary that reproduced it (codeaf 80bdef3, built 2026-09-23 13:47) is an ancestor of santos/dev2. Whatever fixes it belongs on the line that lands, not on a side branch.
Acceptance
- A task proposal naming a model the custom connection serves resolves to that model and runs on it, the way the conversation already does.
- A model the connection does not serve is still refused, with the connection's own models among the suggestions rather than only the cloud catalog.
- A conversation on a cloud model is unchanged: naming an unknown id is still refused, and an empty
modelstill falls back as it does today.
Reproduced 2026-09-23 on darwin/arm64 against the local runner at 127.0.0.1:8317, which was listing the conversation's model at the time.
- Lingua principale
- Go
- Stelle
- 115
- Fork
- 14
- Merge medio
- 9h 38m
- PR unite (30g)
- 730
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Agent-Field/CodeAF
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Agent-Field/CodeAF#1489 ·
-
area:chat bug good first issue sev:papercut
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Agent-Field/CodeAF#1470 ·
-
area:chat bug good first issue sev:papercut
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
Agent-Field/CodeAF#1469 ·
-
area:chat bug sev:papercut
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
Agent-Field/CodeAF#1468 ·
-
area:tests bug hygiene sev:papercut
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Agent-Field/CodeAF#1460 ·
Tutte le issue di Agent-Field/CodeAF
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
prometheus/procfs#872 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
bazel-contrib/rules_go#4726 · 1 commento ·
-
area/auto-scaling area/monitoring area/ops-productivity kind/enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100