CLI plugin inventory can report account-installed plugins as uninstalled
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 55/100
Research direction
Start in codex-rs/cli/src/plugin_cmd.rs at run_plugin_list, then trace list_marketplaces_for_config and build_and_cache_remote_installed_plugin_marketplaces. Add focused CLI tests for configured, account, and combined scopes, preserving canonical marketplace identities, offline configured behavior, and explicit authentication or remote failures.
Written by the indexing model from the issue text.
Description
Codex variant
CLI. Observed on codex-cli 0.144.4 on Windows 11 / PowerShell 7.6. The configured-only list path is also present in release 0.144.5 and current main (1d941253e9354fe583a033660a6288df66e27488).
Behavior gap
codex plugin list reports configured marketplace snapshots, while account-backed installed plugins live in a separate remote inventory. When both inventories contain the same display name, the CLI can show an uninstalled configured entry while omitting the enabled account-installed entry. This makes a healthy installation look missing to users and diagnostics.
Concrete example:
superpowers@openai-curated-remote6.1.1 is account-installed and enabled.superpowers@openai-curated5.1.3 is a distinct configured-marketplace entry and is not installed.
codex plugin list --available --json exposes only the second row. App-server plugin/installed exposes the first. Installing the configured 5.1.3 row would create a real duplicate and is not a valid repair.
Source-level cause
codex-rs/cli/src/plugin_cmd.rs::run_plugin_list calls PluginsManager::list_marketplaces_for_config(...), so its inventory is configured-only. Account installations are loaded separately through PluginsManager::build_and_cache_remote_installed_plugin_marketplaces(...) and app-server plugin/installed.
The two records have distinct canonical marketplace identities and must not be coalesced by display name.
Requested behavior
Please expose an explicit account-installed CLI inventory, for example:
codex plugin list --scope configured # current default, unchanged and offline
codex plugin list --scope account # account-installed/enabled inventory
codex plugin list --scope all # both inventories, canonical IDs preserved
The exact command shape is flexible. The important compatibility requirements are:
- Existing invocations and configured-scope JSON retain their current shape and offline behavior.
- Account and combined output preserve marketplace provenance and return same-name identities separately.
- Missing authentication or a remote failure is explicit, never represented as
installed: false. --availablecontinues to apply only to configured catalog entries.
I traced the reusable manager API and can contribute focused CLI tests and an implementation. I have not opened a pull request because docs/contributing.md requires an explicit Codex-team invitation.
- 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 ·