fix(providers): the Codex model list is fetched as client 0.0.0 and hides the newest models
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 75/100
Research direction
Start with raven/providers/codex_catalog.py, where CLIENT_VERSION is sent as the catalogue request’s client_version; read the fetch and account_models() flow. Check the existing tests for Codex catalogue fetching and model listing. Done when the catalogue includes models available to current Codex accounts and both Add model and the chat picker can use them.
Written by the indexing model from the issue text.
Description
Summary
After signing in to OpenAI Codex, the models Raven offers for it (Settings > Model providers > OpenAI Codex > Add model) are 4 of the 7 the account has. The three missing ones are the newest: gpt-6.1-sol, gpt-6-sol and gpt-6-luna. The chat model picker takes its live Codex entries from the same fetch, so it does not offer them either.
Steps to reproduce
- Settings > Model providers > OpenAI Codex: sign in with a ChatGPT account.
- Open Add model.
- The sheet lists GPT-6 Astra, GPT-5.6 Sol, GPT-5.6 Terra and GPT-5.6 Luna, and no other model.
Expected behavior
Every visible model the account offers is listed, including models released after the code was written. For this account on 2026-10-16 that adds gpt-6.1-sol, gpt-6-sol and gpt-6-luna, matching what Codex CLI 0.163.0 lists for it.
Actual behavior
Only the models the backend serves to a client reporting version 0.0.0 are listed.
Root cause
raven/providers/codex_catalog.py:23 pins CLIENT_VERSION = "0.0.0", which _fetch sends as the client_version query parameter of every catalogue request (line 114). The backend filters the catalogue by this value, per model: each model is listed only from its own minimum client version up, so every model gated above 0.0.0 is left out of the answer.
Both surfaces read that one fetch through account_models():
- Add model:
model.fetch_models->test_provider->_probe_codex_catalog(raven/config/update_providers.py:2108) - chat model picker:
model.options->_runtime_models(raven/rpc/methods/model.py:206)
The comment on the constant leaves the endpoint's handling of the value open ("What it does with an unknown one, or with none, is not established"). The measurements below settle it.
Evidence
Same account and credential, read-only GET of the catalogue endpoint on 2026-10-16, visible (non-hide) slugs only:
client_version |
HTTP | Visible models |
|---|---|---|
0.0.0 (Raven today) |
200 | gpt-6-astra, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna |
0.163.0 (Codex CLI 0.163.0) |
200 | gpt-6.1-sol, gpt-6-astra, gpt-6-sol, gpt-6-luna, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna |
99.0.0 |
200 | the same 7 |
| omitted | 400 | - |
Bisecting over 0.N.0: gpt-6-sol and gpt-6-luna first appear at 0.155.0, gpt-6.1-sol at 0.159.0.
Notes for the fix
- Each model carries its own floor (
0.155.0and0.159.0above), so bumping the constant to today's version restores this list until the next model gated above it ships. - Open: whether
/responsesserves a model gated above0.0.0to Raven.OpenAICodexProvidersendsoriginator: ravenand no client version (raven/providers/openai_codex_provider.py:171). One chat turn on a newly listed slug shows whether the catalogue change alone is enough.
Environment
Code path, not platform specific. origin/main at 3c5b47421; comparison client Codex CLI 0.163.0.
- Dominant language
- Python
- Stars
- 4.1k
- Forks
- 94
- Avg merge
- 14h 44m
- Merged PRs (30d)
- 420
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
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.
More from EverMind-AI/Raven
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
EverMind-AI/Raven#997 ·
Maintainers usually reply within 1 day
-
fix: two error hints tell users to install raven by name, which is Sentry's client on PyPIPossibly taken @TheIrvin claimed this 15 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
EverMind-AI/Raven#845 · 2 comments ·
Maintainers usually reply within 1 day
-
security: tool output scrubbing misses raven's own oauth token filesPossibly taken @akushonkamen claimed this 6 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
EverMind-AI/Raven#842 · 2 comments ·
Maintainers usually reply within 1 day
-
WeChat send silently succeeds when iLink returns non-zero ret with errcode=0Possibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
EverMind-AI/Raven#210 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
EverMind-AI/Raven#121 ·
Maintainers usually reply within 1 day
All issues in EverMind-AI/Raven
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 65/100
521xueweihan/HelloGitHub#4025 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
aws-samples/sample-per-model-bedrock#321 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 1-3 hours Newbie friendliness 68/100
FavioVazquez/showtime#101 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
koush/ha_scrypted#81 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
google/osv-scanner-action#147 ·