codex - 💡(How to fix) Fix Plugins unavailable with ChatGPT login and custom model provider using env_key [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openai/codex#22466Fetched 2026-05-14 03:35:32
View on GitHub
Comments
0
Participants
1
Timeline
3
Reactions
0
Author
Participants
Timeline (top)
labeled ×3

I am using Codex Desktop with ChatGPT login and a custom model provider that uses a separate API key via env_key. Model requests to the custom provider succeed, but plugin discovery / plugin marketplace can still fail or become unavailable.

This looks like a Codex/plugin-discovery issue rather than a model-provider authentication issue: the model provider auth is separated from ChatGPT auth, so Codex should be able to use the custom key for model requests and ChatGPT auth for plugins/connectors.

Root Cause

I am using Codex Desktop with ChatGPT login and a custom model provider that uses a separate API key via env_key. Model requests to the custom provider succeed, but plugin discovery / plugin marketplace can still fail or become unavailable.

This looks like a Codex/plugin-discovery issue rather than a model-provider authentication issue: the model provider auth is separated from ChatGPT auth, so Codex should be able to use the custom key for model requests and ChatGPT auth for plugins/connectors.

Code Example

model_provider = "cato_company_gpt"
model = "gpt-5.5"

[model_providers.cato_company_gpt]
base_url = "https://model.zhenguanyu.com/v1"
name = "Company Model Platform"
env_key = "MODEL_API_KEY"
wire_api = "responses"

---

$ codex login status
Logged in using ChatGPT

---

failed to warm featured plugin ids cache
remote plugin sync request to https://chatgpt.com/backend-api/plugins/featured?platform=codex failed with status 403 Forbidden

---

https://chatgpt.com/backend-api/plugins/featured?platform=codex
=> 403 Forbidden
=> content-type: text/html; charset=UTF-8
=> Cloudflare challenge page
RAW_BUFFERClick to expand / collapse

Summary

I am using Codex Desktop with ChatGPT login and a custom model provider that uses a separate API key via env_key. Model requests to the custom provider succeed, but plugin discovery / plugin marketplace can still fail or become unavailable.

This looks like a Codex/plugin-discovery issue rather than a model-provider authentication issue: the model provider auth is separated from ChatGPT auth, so Codex should be able to use the custom key for model requests and ChatGPT auth for plugins/connectors.

Environment

  • OS: macOS
  • Codex CLI: codex-cli 0.130.0
  • Codex Desktop: 0.130.0-alpha.5 observed in logs
  • Auth mode: ChatGPT
  • Model provider: custom provider
  • Wire API: responses

Config

model_provider = "cato_company_gpt"
model = "gpt-5.5"

[model_providers.cato_company_gpt]
base_url = "https://model.zhenguanyu.com/v1"
name = "Company Model Platform"
env_key = "MODEL_API_KEY"
wire_api = "responses"

Auth status

$ codex login status
Logged in using ChatGPT

Expected behavior

When using a custom model provider with env_key while also logged in with ChatGPT, Codex should use:

  • MODEL_API_KEY for model requests to the custom model provider
  • ChatGPT auth for plugins, plugin marketplace, connectors, remote plugin sync, and MCP app tools

Plugins should remain available while the active model provider is custom.

Actual behavior

Model requests to the custom provider succeed, but plugin discovery / plugin marketplace can fail. Logs include:

failed to warm featured plugin ids cache
remote plugin sync request to https://chatgpt.com/backend-api/plugins/featured?platform=codex failed with status 403 Forbidden

Directly requesting the same endpoint returns a Cloudflare challenge / 403 instead of JSON, even while codex login status reports ChatGPT auth:

https://chatgpt.com/backend-api/plugins/featured?platform=codex
=> 403 Forbidden
=> content-type: text/html; charset=UTF-8
=> Cloudflare challenge page

Why this seems like a Codex issue

Using env_key successfully separates the custom model provider's authentication from Codex's ChatGPT login. This resolves the earlier failure mode where requires_openai_auth = true caused the custom model provider to receive a ChatGPT token and return 401.

However, after separating model auth from ChatGPT auth, plugin availability still appears to depend on Codex's remote plugin discovery path under chatgpt.com/backend-api/plugins/featured. If this endpoint fails, plugin marketplace / discovery can become unavailable even though:

  • ChatGPT login is active
  • model requests succeed through the custom provider
  • local installed plugin MCP tools may still work if already available/cached

Question

Are Codex plugins officially supported when using a custom model provider with env_key while authenticated with ChatGPT?

If yes, plugin discovery / plugin marketplace should probably continue to work with ChatGPT auth regardless of the active model provider, or degrade gracefully when plugins/featured cannot be warmed.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

When using a custom model provider with env_key while also logged in with ChatGPT, Codex should use:

  • MODEL_API_KEY for model requests to the custom model provider
  • ChatGPT auth for plugins, plugin marketplace, connectors, remote plugin sync, and MCP app tools

Plugins should remain available while the active model provider is custom.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

codex - 💡(How to fix) Fix Plugins unavailable with ChatGPT login and custom model provider using env_key [1 participants]