Repository navigation
[Bug]:invalid_request_error No enabled canonical OpenAI provider for modelย #257
Description
Summary
xxx@MacBookPro-10 .codex % ocx init
๐ง opencodex (ocx) setup
Available providers:
ChatGPT login:
1. OpenAI โ ChatGPT login (no key; account pool default, Direct selectable)
Account login (OAuth โ then run: ocx login ):
2. Cursor (experimental) โ account login
3. xAI (Grok) โ account login
4. Anthropic (Claude) โ account login
API key (paste a key from the provider's dashboard):
5. Anthropic (API key)
Account login (OAuth โ then run: ocx login ):
6. Kimi (Moonshot) โ account login
7. Kiro (AWS CodeWhisperer) โ account login
API key (paste a key from the provider's dashboard):
8. OpenAI API
9. Umans AI Coding Plan
10. opencode go
11. Neuralwatt Cloud
12. OpenRouter
13. OrcaRouter
14. Groq
15. Google Gemini
16. Google Vertex AI
Account login (OAuth โ then run: ocx login ):
17. Google Antigravity โ account login
API key (paste a key from the provider's dashboard):
18. Azure OpenAI
Local servers (usually no key):
19. Ollama (local)
20. vLLM (local)
21. LM Studio (local)
API key (paste a key from the provider's dashboard):
22. DeepSeek
23. Cerebras
24. Together
25. Fireworks
26. Fire Pass (Fireworks Kimi)
27. Moonshot (Kimi API)
28. Hugging Face
29. NVIDIA NIM
30. Venice
31. Z.AI โ GLM Coding Plan
32. NanoGPT
33. Synthetic
34. Qwen Cloud
35. Qianfan (Baidu)
36. Alibaba Coding Plan
37. Alibaba Token Plan (Beijing)
38. Alibaba Token Plan (International)
39. Parallel
40. ZenMux
41. LiteLLM (self-hosted)
42. Ollama Cloud
43. Mistral
44. MiniMax โ Coding Plan
45. MiniMax โ Coding Plan (CN)
46. Kimi (coding)
47. opencode zen
48. Vercel AI Gateway
49. OpenCode Free
50. Xiaomi MiMo
51. Kilo
52. MiMo Free
53. Cloudflare AI Gateway
54. Cloudflare Workers AI
Account login (OAuth โ then run: ocx login ):
55. GitHub Copilot โ account login
API key (paste a key from the provider's dashboard):
56. GitLab Duo
- custom (enter URL manually)
Select provider (number): 1
๐ก OpenAI โ ChatGPT login (no key; account pool default, Direct selectable)
Base URL: https://chatgpt.com/backend-api/codex
No API key needed โ forwards your existing codex login.
Proxy port [10100]:
โ
Config saved to ~/.opencodex/config.json
Inject into Codex config.toml? [Y/n]: Y
Fetching available models from provider...
โ
Pointed Codex's built-in openai provider at the opencodex proxy (openai_base_url).
Codex model catalog: /Users/xxx/.codex/opencodex-catalog.json
Codex resume history: untouched (threads keep their native openai tag).
All models now route through opencodex proxy (like OpenRouter).
OpenAI models (gpt-5.5, etc.) are passed through to OpenAI.
Custom models route to their configured providers.
Fallback reference: /Users/xxx/.codex/opencodex.config.toml
Install Codex autostart shim? [Y/n]: Y
๐ Setup complete! Run 'ocx start' to start the proxy.
xxx@MacBook-Pro-10 .codex % ocx start
176 | const original = io.read(source);
177 | // v2 snapshot path. The historical .pre-openai-tiers-v1.bak is read only by restore
178 | // docs/fixtures and is never reused or overwritten as the v2 snapshot.
179 | const backup = ${source}.pre-openai-tiers-v2.bak;
180 | if (io.exists(backup)) {
181 | if (!sameBytes(original, io.read(backup))) throw new OpenAiTierBackupCollisionError();
^
OpenAiTierBackupCollisionError: Existing OpenAI tier backup differs from the current config
at backupConfigBeforeOpenAiTierMigration (/Users/xxx/.nvm/versions/node/v22.22.3/lib/node_modules/@bitkyc08/opencodex/src/config.ts:181:54)
at runOpenAiTierStartupMigration (/Users/xxx/.nvm/versions/node/v22.22.3/lib/node_modules/@bitkyc08/opencodex/src/providers/openai-tier-startup.ts:23:8)
at startServer (/Users/xxx/.nvm/versions/node/v22.22.3/lib/node_modules/@bitkyc08/opencodex/src/server/index.ts:149:18)
at handleStart (/Users/xxx/.nvm/versions/node/v22.22.3/lib/node_modules/@bitkyc08/opencodex/src/cli/index.ts:157:16)
Bun v1.3.14 (macOS arm64)
Reproduction
- run ocx init
- select 1 provider, openai
- ocx start
- throw exception
Logs and screenshots
xxx@MacBook-Pro-10 .codex % ocx init
๐ง opencodex (ocx) setup
Available providers:
ChatGPT login:
1. OpenAI โ ChatGPT login (no key; account pool default, Direct selectable)
Account login (OAuth โ then run: ocx login <id>):
2. Cursor (experimental) โ account login
3. xAI (Grok) โ account login
4. Anthropic (Claude) โ account login
API key (paste a key from the provider's dashboard):
5. Anthropic (API key)
Account login (OAuth โ then run: ocx login <id>):
6. Kimi (Moonshot) โ account login
7. Kiro (AWS CodeWhisperer) โ account login
API key (paste a key from the provider's dashboard):
8. OpenAI API
9. Umans AI Coding Plan
10. opencode go
11. Neuralwatt Cloud
12. OpenRouter
13. OrcaRouter
14. Groq
15. Google Gemini
16. Google Vertex AI
Account login (OAuth โ then run: ocx login <id>):
17. Google Antigravity โ account login
API key (paste a key from the provider's dashboard):
18. Azure OpenAI
Local servers (usually no key):
19. Ollama (local)
20. vLLM (local)
21. LM Studio (local)
API key (paste a key from the provider's dashboard):
22. DeepSeek
23. Cerebras
24. Together
25. Fireworks
26. Fire Pass (Fireworks Kimi)
27. Moonshot (Kimi API)
28. Hugging Face
29. NVIDIA NIM
30. Venice
31. Z.AI โ GLM Coding Plan
32. NanoGPT
33. Synthetic
34. Qwen Cloud
35. Qianfan (Baidu)
36. Alibaba Coding Plan
37. Alibaba Token Plan (Beijing)
38. Alibaba Token Plan (International)
39. Parallel
40. ZenMux
41. LiteLLM (self-hosted)
42. Ollama Cloud
43. Mistral
44. MiniMax โ Coding Plan
45. MiniMax โ Coding Plan (CN)
46. Kimi (coding)
47. opencode zen
48. Vercel AI Gateway
49. OpenCode Free
50. Xiaomi MiMo
51. Kilo
52. MiMo Free
53. Cloudflare AI Gateway
54. Cloudflare Workers AI
Account login (OAuth โ then run: ocx login <id>):
55. GitHub Copilot โ account login
API key (paste a key from the provider's dashboard):
56. GitLab Duo
57. custom (enter URL manually)
Select provider (number): 22
๐ก DeepSeek
Base URL: https://api.deepseek.com
๐ Get your key: https://platform.deepseek.com/api_keys
API key (paste, or env var $DEEPSEEK_API_KEY): sk-sssssxxxxxxxxxxx
Default model [deepseek-v4-flash]:
Proxy port [10100]:
โ
Config saved to ~/.opencodex/config.json
Inject into Codex config.toml? [Y/n]: Y
Fetching available models from provider...
โ
Pointed Codex's built-in openai provider at the opencodex proxy (openai_base_url).
Codex model catalog: /Users/xxx/.codex/opencodex-catalog.json
Codex resume history: untouched (threads keep their native openai tag).
All models now route through opencodex proxy (like OpenRouter).
OpenAI models (gpt-5.5, etc.) are passed through to OpenAI.
Custom models route to their configured providers.
Fallback reference: /Users/xxx/.codex/opencodex.config.toml
Install Codex autostart shim? [Y/n]: Y
โ ๏ธ Codex autostart shim already installed at /var/folders/fm/5q9nyz2n7n304qwgt6g_92zw0000gn/T/cmux-cli-shims/D23EFD3C-8CFF-421C-A62B-A2F9D0B848B0/codex.
๐ Setup complete! Run 'ocx start' to start the proxy.
xxx@MacBook-Pro-10 .codex % ocx start
โ ๏ธ Previous session (PID 57159) did not shut down cleanly. Codex state restored from journal.
๐ opencodex proxy running on http://localhost:10100
POST /v1/responses โ provider translation
GET /healthz โ health check
GET /api/* โ management API
GET / โ GUI dashboard
[opencodex] Provider model discovery for "deepseek" omitted configured model ids; dropping them from the authoritative live catalog: deepseek-chat, deepseek-reasoner.
+ 2 models appended to Codex catalog (/Users/xxx/.codex/opencodex-catalog.json)
Pointed Codex's built-in openai provider at the opencodex proxy (openai_base_url).
Codex model catalog: /Users/xxx/.codex/opencodex-catalog.json
Codex resume history: untouched (threads keep their native openai tag).
All models now route through opencodex proxy (like OpenRouter).
OpenAI models (gpt-5.5, etc.) are passed through to OpenAI.
Custom models route to their configured providers.
Fallback reference: /Users/xxx/.codex/opencodex.config.toml
xxx@MacBook-Pro-10 .codex % curl http://127.0.0.1:10100/v1/responses \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"input": "Hello, world!"
}'
{"error":{"message":"No enabled canonical OpenAI provider for model: gpt-5.5","type":"invalid_request_error","code":"invalid_request_error"}}% xxx@MacBook-Pro-10 .codex % curl http://127.0.0.1:10100/v1/responses \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"input": "Hello, world!"
}'
{"error":{"message":"No enabled canonical OpenAI provider for model: gpt-5.6-sol","type":"invalid_request_error","code":"invalid_request_error"}}%Area
CLI
Version
27.13
OS
mac os 26.5.2 (25F84)
Config shape
Checks
- I searched existing issues and docs first.
- I removed secrets, tokens, and personal data from logs and screenshots.
Activity
Ingwannu commentedon Jul 22, 2026
ํ์ธ ๊ฒฐ๊ณผ ๋ณด๊ณ ์๋ ๋ ๋์์ด ์์ฌ ์์์ต๋๋ค.
OpenAiTierBackupCollisionError๋ก ์์์ด ๋งํ๋ ํ์์ ์ค์ ๋ฒ๊ทธ์์ต๋๋ค.ocx init์ด ์ด๋ฏธ ํ์ฌ 3-tier OpenAI ๊ตฌ์กฐ๋ฅผ ์ฐ๋ฉด์๋ ๋ฒ์ ํ์์ ๋ฃ์ง ์์, ์ด์ ์ immutable v2 ๋ฐฑ์ ์ด ์์ผ๋ฉด startup migration์ด ์ config๋ฅผ legacy๋ก ์ค์ธํ์ต๋๋ค.dev์ 2aa4430c์์ fresh/re-init config์ ํ์ฌ tier version์ ๊ธฐ๋กํด ๋ถํ์ํ migration๊ณผ backup collision์ ์์ด์ต๋๋ค. ๊ธฐ์กด ๋ฐฑ์ ์ ๋ถ๋ณ์ฑ์ ์ฝํํ์ง ์์์ต๋๋ค.DeepSeek๋ง ํ์ฑํํ ์ํ์์ bare
gpt-5.5/gpt-5.6-sol์ดNo enabled canonical OpenAI provider๋ก ๊ฑฐ๋ถ๋๋ ๊ฒ์ ์๋๋ fail-closed ๋์์ ๋๋ค. ํด๋น bare OpenAI ๋ชจ๋ธ์ ์ฐ๋ ค๋ฉด canonicalopenai๋๋openai-apikeytier๊ฐ ํ์ฑํ๋ผ ์์ด์ผ ํ๋ฉฐ, ๋ค๋ฅธ provider๋ก ๋ณด๋ด๋ ค๋ฉดprovider/modelํํ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.Fresh-config migration ํ๊ท ํ ์คํธ, config ํ ์คํธ, ์ ์ฒด ๊ฒฉ๋ฆฌ ํ ์คํธ 3,394๊ฐ ๋ฐ privacy scan์ ํต๊ณผํ์ต๋๋ค. ์ค์ startup ๊ฒฐํจ์ ํด๊ฒฐ๋๊ณ ๋๋จธ์ง ๋ฉ์์ง๋ ์ค์ ์ค๋ฅ๋ฅผ ์ ํํ ๋ง๋ ๋์์ด๋ฏ๋ก ์๋ฃ ์ฒ๋ฆฌํฉ๋๋ค.
fix(config): replace stale pre-migration backup instead of crashing (#โฆ
fix(init): preserve valid pre-migration rollback backup instead of unโฆ
fix(config): replace stale pre-migration backup instead of crashing (lโฆ
fix(init): preserve valid pre-migration rollback backup instead of unโฆ