codex - 💡(How to fix) Fix Plugin-installed MCP servers appear to register in Codex runtime but do not show in MCP Settings UI, and the plugin page incorrectly suggests manual setup is still required [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openai/codex#17360Fetched 2026-04-11 06:16:58
View on GitHub
Comments
1
Participants
2
Timeline
7
Reactions
0
Timeline (top)
labeled ×4unlabeled ×2commented ×1
RAW_BUFFERClick to expand / collapse

What version of the Codex App are you using (From “About Codex” dialog)?

Version 26.406.31014 (1395)

What subscription do you have?

ChatGPT Pro

What platform is your computer?

MacOS Tahoe

What issue are you seeing?

Summary

On April 10, 2026, I installed a local Codex plugin that bundles both skills and an MCP server. After install and restart, the plugin page correctly shows the skills and an MCP server row, but it still displays Set up in MCP settings. The global MCP Settings page does not show the plugin’s MCP server at all.

However, Codex runtime appears to have already registered the MCP server successfully:

  • codex mcp list shows the plugin MCP server as enabled
  • codex mcp get <server> returns the expected stdio config
  • launching the installed MCP entrypoint directly returns a valid MCP initialize response

This suggests a mismatch between:

  1. plugin-managed MCP registration in runtime, and
  2. the desktop UI for MCP settings / plugin status

What steps can reproduce the bug?

Reproduction Steps

  1. Create or install a local Codex plugin with:
    • .codex-plugin/plugin.json
    • "mcpServers": "./.mcp.json"
    • a valid .mcp.json stdio server config
  2. Install the plugin in Codex.
  3. Restart/reopen Codex.
  4. Open the plugin details page.
  5. Open global MCP Settings.

Observed Behavior

  • The plugin details page shows:
    • the plugin metadata
    • bundled skills
    • an MCP server row
  • The plugin details page still shows Set up in MCP settings
  • Global MCP Settings does not list the plugin’s MCP server
  • But the CLI shows the MCP server is already registered and enabled

What is the expected behavior?

Expected Behavior

One of these should happen consistently:

  1. If plugin-installed MCP servers are meant to be auto-registered:

    • the plugin page should show them as active/configured
    • MCP Settings should either list them or clearly indicate they are plugin-managed
    • the UI should not instruct the user to manually set them up
  2. If plugin-installed MCP servers are not meant to be auto-registered:

    • codex mcp list should not show them as enabled until setup is completed
    • the plugin page should clearly explain that a separate activation step is required

Additional information

Environment

  • Codex desktop app on macOS
  • Date observed: April 10, 2026
  • Local plugin install from workspace/repo
  • Plugin type: repo-local Codex plugin with:
    • skills
    • .codex-plugin/plugin.json
    • .mcp.json
    • stdio MCP server

Actual Runtime Evidence

The plugin-managed MCP server was already present in runtime:

Also, the global MCP config file only listed a manually added MCP server (playwright), not the plugin-managed one:

Impact

  • Users are told to perform setup that may already be complete
  • Users may manually add duplicate MCP entries unnecessarily
  • It is unclear whether plugin-installed MCP servers are active, inactive, or partially active
  • The UI makes plugin/MCP behavior look broken even when runtime registration appears successful

Suggested Fix

  • Make plugin-installed MCP servers visible in MCP Settings, or clearly separate “plugin-managed MCP servers” from manually configured/global MCP servers
  • Remove or change the Set up in MCP settings prompt when the plugin MCP server is already registered and enabled
  • Ensure plugin details, MCP settings UI, and codex mcp list all reflect the same source of truth

extent analysis

TL;DR

The issue can be resolved by making plugin-installed MCP servers visible in MCP Settings or clearly separating them from manually configured/global MCP servers.

Guidance

  • Verify that the plugin's MCP server is correctly registered in the Codex runtime by checking the output of codex mcp list and codex mcp get <server>.
  • Check the global MCP config file (config.toml) to ensure it does not list the plugin-managed MCP server, which could cause confusion.
  • Consider modifying the plugin details page to remove or change the Set up in MCP settings prompt when the plugin MCP server is already registered and enabled.
  • Ensure that the UI reflects the same source of truth as the codex mcp list command to avoid confusion.

Example

No code snippet is provided as the issue seems to be related to the UI and configuration rather than code.

Notes

The issue seems to be related to a mismatch between the plugin-managed MCP registration in runtime and the desktop UI for MCP settings/plugin status. The suggested fix should address this discrepancy.

Recommendation

Apply a workaround to make plugin-installed MCP servers visible in MCP Settings or clearly separate them from manually configured/global MCP servers, as this will provide a consistent user experience and avoid confusion.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING