Skip to content

Codex plugin healthcheck reports a plugin was dropped upstream

Source: Troubleshooting reference

Symptom: install/codex.sh dies with Declared Codex plugin was dropped upstream: <plugin>@openai-curated, even though the plugin still appears in the curated marketplace.

Root cause: codex-cli 0.153.0 changed plugin list --json: uninstalled plugins are omitted unless --available is passed, and an unscoped listing can prefer a same-named remote plugin over an installed local-marketplace plugin. Older install/codex.sh code read that incomplete global inventory and mistook the missing row for an upstream removal.

Confirm using the marketplace-scoped complete inventory:

Terminal window
codex plugin list --marketplace openai-curated --available --json \
| jq -r '.installed[].pluginId, .available[].pluginId'

Fix: update the dotfiles checkout and rerun bootstrap.sh. The installer now queries each declared marketplace with --available, so collisions with remote plugins do not hide installed curated plugins. If the scoped inventory really does omit a declared selector, prune or replace that selector in packages/codex-plugins.txt; declarations remain a hard contract.

The WARNING: failed to clean up stale arg0 temp dirs: Directory not empty line from codex-cli is unrelated NFS noise (.nfs* files in its temp dir) — harmless.