Legacy openai-curated plugins are reported enabled while the remote catalog suppresses them
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 68/100
Research direction
Start with codex-rs/core-plugins/src/loader.rs around the suppression introduced by PR #29765, then trace the plugin inventory path used by codex plugin list --json and the capability paths exercised by codex debug prompt-input and app-server skills/list. Done means legacy openai-curated entries accurately expose their effective or suppressed state, with an explanation or migration status, while runtime loading and inventory agree.
Written by the indexing model from the issue text.
Description
What version of Codex CLI is running?
codex-cli 0.145.0
What subscription do you have?
ChatGPT Pro
Which model were you using?
Not applicable. The issue reproduces without a model response.
What platform is your computer?
Darwin 24.6.0 arm64 arm
What terminal emulator and version are you using (if applicable)?
Not terminal-specific. Reproduced through non-interactive CLI and app-server calls.
What issue are you seeing?
With ChatGPT authentication and the remote plugin catalog enabled, codex plugin list --json reports legacy @openai-curated plugins as both installed and enabled, even though Codex suppresses all of their skills, MCP servers, apps, and hooks.
Affected plugins in this reproduction:
build-ios-apps@openai-curated 9 skills
build-macos-apps@openai-curated 11 skills
remotion@openai-curated 1 skill
codex-security@openai-curated 12 skills
All 33 SKILL.md files exist and are loadable, but none appear in codex debug prompt-input.
App-server skills/list with forceReload: true also exposes 0/33 skills with no errors. Supplying the same directories through skills/extraRoots/set makes all 33 appear immediately.
The plugin inventory therefore reports these plugins as enabled while the effective runtime silently excludes them. No suppressed status, explanation, or migration path is provided.
What steps can reproduce the bug?
- Authenticate Codex through ChatGPT.
- Enable the remote plugin catalog and configure at least one legacy
@openai-curatedplugin:
[features]
remote_plugin = true
[plugins."build-ios-apps@openai-curated"]
enabled = true
- Check its reported state:
codex plugin list --json |
jq '.installed[] |
select(.marketplaceName == "openai-curated") |
{pluginId, installed, enabled}'
The plugin is reported with "installed": true and "enabled": true.
- Check the effective skills:
codex debug prompt-input probe |
rg 'build-ios-apps:|build-macos-apps:|remotion:|codex-security:'
Observed result: no matches.
What is the expected behavior?
If suppressing legacy openai-curated plugins is intentional, Codex should:
- Report that the plugin is ineffective or suppressed and explain why.
- Provide a migration path when a remote counterpart exists.
- Explicitly report when no remote counterpart is available.
- Ensure plugin inventory and runtime capability loading do not silently disagree.
For example:
{
"installed": true,
"enabled": true,
"effective": false,
"suppressedReason": "remote_catalog_active"
}
This report is not requesting that the suppression policy be reversed. It is requesting accurate effective status and a migration or explanation.
Additional information
PR #29765 introduced this suppression:
Current main still removes configured openai-curated plugins before loading their capabilities:
p.s. I would love to fix the issue, if invited to open a PR
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.5k
- Avg merge
- 1m
- Merged PRs (30d)
- 1k
Contributor guide
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 openai/codex
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
bug CLI windows-os
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
macOS sandbox blocks hw.optional.arm64 sysctl, causing Flutter to misdetect Apple Silicon as x64 Openbug CLI sandbox
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug CLI TUI
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
CLI config enhancement skills
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
A-linter
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
oxc-project/oxc#26863 ·