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-remote 6.1.1 is account-installed and enabled.
superpowers@openai-curated 5.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.
--available continues 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.
Codex variant
CLI. Observed on
codex-cli 0.144.4on Windows 11 / PowerShell 7.6. The configured-only list path is also present in release 0.144.5 and currentmain(1d941253e9354fe583a033660a6288df66e27488).Behavior gap
codex plugin listreports 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 --jsonexposes only the second row. App-serverplugin/installedexposes 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_listcallsPluginsManager::list_marketplaces_for_config(...), so its inventory is configured-only. Account installations are loaded separately throughPluginsManager::build_and_cache_remote_installed_plugin_marketplaces(...)and app-serverplugin/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:
The exact command shape is flexible. The important compatibility requirements are:
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.mdrequires an explicit Codex-team invitation.