Skip to content

0.142.0 /plugins remote catalog hides installed local openai-curated plugins in TUI #29633

Closed

Description

@dualecton

Title: 0.142.0 /plugins remote catalog hides installed local openai-curated plugins in TUI

Labels: bug, CLI, TUI, plugins, regression

What version of Codex CLI is running?

codex-cli 0.142.0

What subscription do you have?

ChatGPT account login. I can provide the exact plan if needed.

Which model were you using?

gpt-5.5

What platform is your computer?

Linux 7.0.12-arch1-1 x86_64 unknown

What terminal emulator and version are you using?

kitty, TERM=xterm-kitty, no terminal multiplexer.

Codex doctor report

I ran codex doctor --json. Summary:

{
  "codexVersion": "0.142.0",
  "overallStatus": "warning",
  "notableChecks": {
    "installation": "ok",
    "runtime.provenance": "ok: running npm on linux-x86_64",
    "config.load": "ok",
    "auth.credentials": "ok: auth is configured",
    "mcp.config": "ok",
    "network.websocket_reachability": "ok",
    "state.paths": "ok",
    "state.rollout_db_parity": "warning: rollout files and state DB thread inventory differ"
  }
}

The warning appears to be unrelated old thread/archive state. Install, auth, config, network, and state databases are otherwise healthy.

What issue are you seeing?

After upgrading to Codex CLI 0.142.0, opening /plugins in the TUI briefly shows a larger plugin list, then most entries disappear after the UI refreshes.

The final visible TUI state shows only about:

9 available
3 installed

However, CLI and app-server diagnostics show the local plugin inventory is still present and healthy:

codex plugin list --available --json
installed: 8
available: 172
enabledInstalled: 6
disabledInstalled: 2

Installed plugin IDs reported by the CLI:

figma@openai-curated
github@openai-curated
cloudflare@openai-curated
build-web-apps@openai-curated
build-web-data-visualization@openai-curated
codex-security@openai-curated
tailwind-plus-codex@ricks
shopify-plugin@ricks

Direct app-server calls also show the local marketplaces correctly:

plugin/list params: {}

openai-curated:
  path: /home/raccoon/.codex/.tmp/plugins/.agents/plugins/marketplace.json
  plugins: 178
  installed: 6
  enabled: 6

ricks:
  path: /home/raccoon/workspace/ricks-codex-marketplace/.agents/plugins/marketplace.json
  plugins: 2
  installed: 2
  enabled: 0

But when querying the new remote/vertical catalog path:

plugin/list params: {"marketplaceKinds":["vertical"]}

openai-curated-remote:
  path: null
  plugins: 7
  installed: 1
  enabled: 1

This matches the symptom: the TUI appears to initially show local plugin data, then refresh to a smaller remote/vertical catalog view. If this is intended behavior after the 0.142.0 plugin UI changes, it is very hard to tell from the UI, because installed local plugins appear hidden or no longer discoverable from /plugins.

What steps can reproduce the bug?

  1. Install or upgrade to Codex CLI 0.142.0.

  2. Have local openai-curated plugins installed/enabled. In my case:

    figma@openai-curated
    github@openai-curated
    cloudflare@openai-curated
    build-web-apps@openai-curated
    build-web-data-visualization@openai-curated
    codex-security@openai-curated
    
  3. Start the Codex TUI.

  4. Open /plugins.

  5. Observe that the plugin list briefly shows more entries, then collapses to a much smaller list.

  6. Compare against:

    codex plugin list --available --json
  7. Optional app-server checks:

    plugin/list params: {}
    plugin/installed params: {}
    plugin/list params: {"marketplaceKinds":["local"]}
    plugin/list params: {"marketplaceKinds":["vertical"]}
    

Observed app-server result:

plugin/list {}
  openai-curated: 178 plugins, 6 installed/enabled
  ricks: 2 installed, 0 enabled

plugin/installed {}
  openai-curated: 6 installed/enabled
  ricks: 2 installed, 0 enabled

plugin/list {"marketplaceKinds":["vertical"]}
  openai-curated-remote: 7 plugins, 1 installed/enabled

What is the expected behavior?

Either:

  1. /plugins should continue to show installed local plugins from openai-curated and other local marketplaces after the remote catalog refresh, or
  2. if 0.142.0 intentionally changed /plugins to prioritize remote plugin sections, the UI should clearly expose a separate Local/Installed section so installed local plugins do not appear to disappear.

The CLI and TUI should not disagree in a way that makes installed plugins look missing.

Additional information

This may be related to the 0.142.0 change that reorganized /plugins into remote sections such as OpenAI Curated, Workspace, and Shared with me.

Possibly related to #26703 by @canvrno-oai. I am not sure whether the local catalog being replaced/hidden is intended behavior or a regression in the local/remote catalog merge.

I searched for existing issues before filing. I found some plugin UI issues, including a possibly related Desktop/Windows report about hiding openai-curated, but I did not find a matching CLI/TUI Linux issue for 0.142.0 where the remote/vertical catalog appears to replace or hide installed local openai-curated plugins.

Related but not identical:

#29478 Codex Desktop Windows hides openai-curated Plugin Directory when Statsig gate 4218407052=true

This report is for the CLI/TUI on Linux, with app-server evidence that local plugin state is intact while the TUI appears to present a smaller remote/vertical subset.

Activity

  1. added
    bugSomething isn't working
    CLIIssues related to the Codex CLI
    TUIIssues related to the terminal user interface: text input, menus and dialogs, and terminal display
    skillsIssues related to skills
    on Jun 23, 2026
  2. github-actions commented on Jun 23, 2026

    @github-actions
    Contributor

    Potential duplicates detected. Please review them and close your issue if it is a duplicate.

    Powered by Codex Action

  3. J3m5 commented on Jun 24, 2026

    @J3m5

    I came here because of this bug.
    The complete list of plugins is displayed, then replaced by another list of 7 plugins.

    Image Image
  4. appe233 commented on Jun 25, 2026

    @appe233

    Note: this investigation/comment was prepared with help from Codex.

    I reproduced and narrowed down the 7-plugin replacement path.

    The important distinction seems to be that there are two different remote catalog calls:

    Full global catalog:

    GET /backend-api/ps/plugins/list?scope=GLOBAL&limit=100
    

    For my account, this paginates correctly:

    page 1: 100 plugins
    page 2: 81 plugins
    total: 181 plugins
    contains superpowers: yes
    

    But the legacy vertical collection returns exactly the 7 plugins that the TUI ends up showing:

    GET /backend-api/ps/plugins/list?scope=GLOBAL&collection=vertical&limit=100
    

    Result:

    total: 7
    contains superpowers: no
    
    creative-production
    data-analytics
    investment-banking
    metabase
    product-design
    public-equity-investing
    sales
    

    So the backend global catalog is not actually limited to 7 plugins. The 7-plugin list is the collection=vertical sub-collection.

    Relevant client path:

    • codex-rs/tui/src/app/background_requests.rs

      • fetch_additional_plugin_remote_sections
      • when Feature::RemotePlugin is disabled, it requests the "vertical" section labeled as "OpenAI Curated".
    • codex-rs/app-server/src/request_processors/plugins.rs

      • plugin_list_response
      • include_vertical && !Feature::RemotePlugin calls:
        fetch_openai_curated_remote_collection_marketplace(...)
    • codex-rs/core-plugins/src/remote.rs

      • fetch_openai_curated_remote_collection_marketplace
      • calls:
        /ps/plugins/list?scope=GLOBAL&collection=vertical
    • codex-rs/tui/src/chatwidget/plugin_catalog.rs

      • merge_remote_marketplaces
      • when openai-curated-remote is present, local openai-curated can be removed/replaced.

    This means collection=vertical is being modeled/merged as if it were the full OpenAI Curated marketplace, but it is only a small sub-collection. That explains the UI behavior: the full local curated marketplace is visible briefly, then the async vertical-section refresh replaces/hides it with the 7 vertical entries.

    Suggested fix direction: do not treat collection=vertical as a replacement for the full OpenAI Curated marketplace. Either keep it as a separate section/identity, or only replace local openai-curated with remote data when the remote response is known to be the full catalog rather than the vertical sub-collection.

  5. appe233 commented on Jun 25, 2026

    @appe233

    This issue should be fixed by v0.142.2.

  6. dualecton commented on Jun 26, 2026

    @dualecton
    Author

    Fixed for me in 0.142.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    CLIIssues related to the Codex CLITUIIssues related to the terminal user interface: text input, menus and dialogs, and terminal displaybugSomething isn't workingskillsIssues related to skills

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions