Repository navigation
Codex desktop plugin marketplace unreachable — Cloudflare challenge blocks plugins/featured API, preventing new plugin installs #16808
Description
What version of the Codex App are you using (From “About Codex” dialog)?
26.325.31654
What subscription do you have?
chatgpt plus
What platform is your computer?
Darwin 24.6.0
What issue are you seeing?
Related issue
This compounds with the desktop nav wiring bug where Plugins is not exposed in the sidebar unless [features] plugins = true is manually added to ~/.codex/config.toml. CLI plugin installs write per-plugin config but don't set this feature flag, creating a bootstrap deadlock. That issue was worked around manually, but this marketplace fetch failure is a separate problem.
Summary
The plugin manager's background warmup request to https://chatgpt.com/backend-api/plugins/featured?platform=codex receives a Cloudflare JS challenge page (403 Forbidden) instead of the featured plugin list. This prevents the marketplace from populating, so users cannot discover or install new plugins from the desktop app. Existing installed plugins continue to function.
Actual behavior
On app launch, codex_core::plugins::manager attempts to warm the featured plugin IDs cache
Request to https://chatgpt.com/backend-api/plugins/featured?platform=codex returns 403
Response body is a Cloudflare managed challenge page (_cf_chl_opt, challenge-platform/h/b/orchestrate/chl_page/v1) requiring JavaScript execution
Plugin manager logs: WARN codex_core::plugins::manager: failed to warm featured plugin ids cache
Marketplace cannot list available plugins; no new plugins can be installed through UI
CLI /plugins marketplace works (likely uses a different fetch path that can pass Cloudflare)
Expected behavior
Plugin manager's HTTP client should authenticate with chatgpt.com backend-api in a way that bypasses Cloudflare bot protection, or use an API endpoint that doesn't sit behind Cloudflare challenge pages.
Log evidence
From ~/.codex/log/codex-tui.log:
2026-04-04T12:31:28.664894Z WARN codex_core::plugins::manager: failed to warm featured plugin ids cache
error=remote plugin sync request to https://chatgpt.com/backend-api/plugins/featured
failed with status 403 Forbidden: ...
Response contains:
window._cf_chl_opt — Cloudflare challenge configuration
cZone: 'chatgpt.com', cType: 'managed'
cRay: '9e70548c2984f770'
JS script load from /cdn-cgi/challenge-platform/h/b/orchestrate/chl_page/v1
"Enable JavaScript and cookies to continue" noscript fallback
Root cause hypothesis
The desktop plugin manager (codex_core::plugins::manager) makes a plain HTTP request to chatgpt.com/backend-api/plugins/featured. This request:
Likely lacks the session cookies / auth headers that the browser-based CLI marketplace includes
Presents as an automated client to Cloudflare (missing browser fingerprint, no JS execution capability)
Gets classified as bot traffic and receives a managed challenge instead of the API response
The CLI /plugins path works, suggesting it either:
Uses a WebView / embedded browser that passes Cloudflare transparently
Hits a different endpoint or includes ChatGPT session auth that the background warmup does not
What steps can reproduce the bug?
Launch Codex desktop on macOS build 26.325.31654 with ChatGPT auth
Ensure [features] plugins = true in config
Open Plugins in sidebar
Observe marketplace does not populate / shows no available plugins
Check ~/.codex/log/codex-tui.log for failed to warm featured plugin ids cache with 403
Run codex --no-alt-screen → /plugins — CLI marketplace works
What is the expected behavior?
No response
Additional information
No response
Activity
github-actions commentedon Apr 4, 2026
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
plugins/featuredreturns a Cloudflare challenge page #16543Powered by Codex Action
DrewDawson2027 commentedon Apr 20, 2026
Additional repro/evidence from another macOS app install.
Environment
26.415.40636codex-cli 0.122.0-alpha.1Darwin 25.4.0codex login statusreturnsLogged in using ChatGPTWhat is new here
This does not appear to be limited to opening the Plugins UI. I can reproduce the same
https://chatgpt.com/backend-api/plugins/featuredwarmup failure from a normal non-marketplace operator flow.Repro
codex exec '$doctor'.codex_core::plugins::manager,codex_analytics::client,codex_otel::events::session_telemetry, orcodex_core::shell_snapshotwarnings appear in the transcript.codex exec '/doctor'.Why this matters
The
plugins/featuredwarmup seems to run on a slash-command startup path too, even when:/pluginsSo the bug looks broader than just "marketplace UI cannot populate". It also leaks into otherwise unrelated operator flows and makes slash-path behavior noisier / less trustworthy than the equivalent skill path.
If helpful, I can provide the sanitized transcript grep I used to isolate it:
$doctorpath: no warning matches/doctorpath: still shows theplugins/featured403 at session startglowcup commentedon Apr 24, 2026
I’m seeing what appears to be the same/similar failure in Codex desktop.
Symptom
The Plugins and Skills pages render with huge white/pale loading blocks over the plugin/skill cards. The page heading and search bar are visible, and some text from the cards is partially visible underneath/around the blocks, but the list is unusable.
Environment
26.422.21637205613.7.8/ build22H730x86_64Log evidence
Earlier logs from
~/.codex/log/codex-tui.logshowed:The returned HTML included Cloudflare challenge text instead of JSON:
Troubleshooting already tried
--disable-gpu: did not resolve it, and caused an app hang during one attempt.com.apple.quarantinemetadata to stop App Translocation; Codex then verified as notarized/accepted, but issue persisted.~/Library/Application Support/Codexand related caches.~/.codex/.tmp/pluginsout of the way to force a fresh temporary plugin marketplace cache.At this point it does not look like a local install/cache/GPU/network issue. It looks like Codex desktop is receiving bad HTML/403 challenge content from the plugin marketplace/API path and the UI is failing to recover gracefully, leaving the Plugins/Skills pages visually blocked.
glowcup commentedon Apr 24, 2026
Additional diagnostics after deeper research:
Region / network
Honduras itself does not appear to be the issue. OpenAI’s supported-country list includes Honduras, and I also tested through a VPS/network change with no improvement.
From the current route, Cloudflare trace reports:
So the failing request path is not currently being treated as Honduras-only traffic.
Live endpoint probes
Unauthenticated probes against:
all returned Cloudflare challenge responses:
This happened for:
curl/8.7.1User-Agent: reqwest/0.12.0User-Agent: Codex-Desktop/26.422.21637That suggests the mitigation is not explained only by the string User-Agent in this environment; TLS/client fingerprint or missing browser challenge state/cookies may also be part of the block.
Current official Intel macOS download
I inspected the current official Intel Mac download from the Codex docs:
Headers showed it was last modified on:
After mounting the DMG without installing it, the version inside is exactly the same as the installed app:
So reinstalling the current official Intel DMG does not provide a newer desktop build.
Possible version gap
The open-source
rust-v0.124.0release published Apr 23 includes:But the current official Intel desktop DMG still embeds:
That may mean the current desktop build does not yet include the stable
0.124.0Cloudflare-cookie/plugin discovery fixes, or those fixes are not wired into the affected desktop plugin/API request path.Updated conclusion
This now looks like a Codex desktop/runtime + Cloudflare interaction rather than local corruption:
lycadvice commentedon May 15, 2026
Adding another affected Codex Desktop case with a slightly different endpoint (
/backend-api/ps/plugins/installed).Environment:
0.131.0-alpha.926.513.1155026.4.1/ build25E253scutil --proxyreturns an empty dictionary)User-visible symptom:
@in Codex Desktop leaves plugins/local files stuck loading.skills/listandapp/listcan succeed, butplugin/listrepeatedly fails when fetching remote installed plugins.Log evidence from
~/Library/Logs/com.openai.codex/2026/05/15/codex-desktop-...-t0-i1-032109-0.log:The returned HTML contains Cloudflare challenge markers:
Repeated occurrences in the same session:
2026-05-15T03:21:26Z:plugin/list-> 403 Cloudflare challenge2026-05-15T03:26:56Z:plugin/list-> 403 Cloudflare challenge2026-05-15T03:27:01Z:plugin/list->404 Not Found: {"detail":"Not Found"}for the same installed plugins endpointEarlier in the same logs, some
plugin/listcalls returnederrorCode=null, so this appears intermittent but persistent enough to block the@mention UI.Expected behavior:
@mention UI should degrade gracefully and still allow local file mentions to load/use normally.I can provide more sanitized log excerpts if useful.