Codex Desktop MCP panel shows only global/plugin servers while repo-scoped MCP servers are active and usable
Summary
Codex Desktop’s MCP panel shows only global/plugin MCP servers, while repo-scoped MCP servers from the current workspace are active and usable in the session.
This appears related to:
- #10499: Desktop/project MCP visibility mismatch vs CLI
- #17360: runtime MCP registration does not match Desktop MCP Settings UI
But this repro is distinct because the repo-scoped MCPs are actually loaded and callable from the active repo session; only the Desktop MCP panel is missing them.
What version of the Codex App are you using (From “About Codex” dialog)?
26.429.20946
What subscription do you have?
API access
What platform is your computer?
macOS 26.4
Darwin 25.4.0 arm64
What issue are you seeing?
In a workspace with a project-level .codex/config.toml defining multiple repo-scoped MCP servers, codex mcp list from that workspace shows the repo-scoped MCP servers enabled, plus 4 global/plugin entries.
However, the Desktop MCP panel only shows these 4:
chrome-devtoolscomputer-usefigmapagerduty
The repo-scoped MCP servers are not shown in the panel even though they are active and usable in the session.
Example proof:
splunk-mcp-serveris configured in the workspace- it does not appear in the Desktop MCP panel
- but a direct MCP call from the active session succeeds (
get_user_info()returned successfully)
What steps can reproduce the bug?
- Configure repo-scoped MCP servers in a workspace
.codex/config.toml. - Also have some global/plugin MCP servers enabled.
- Open Codex Desktop in that workspace.
- Restart the app.
- Run
codex mcp listin the workspace. - Confirm repo-scoped MCP servers are enabled.
- Use one of the repo-scoped MCP tools successfully from the session.
- Open the Desktop MCP panel.
What is the expected behavior?
The Desktop MCP panel should show the MCP servers actually active for the current workspace/session, including repo-scoped MCP servers from the workspace .codex/config.toml.
What is the actual behavior?
The Desktop MCP panel appears to show only the global/plugin MCP set, not the merged workspace-scoped MCP set for the active repo session.
Additional information
Examples of repo-scoped MCPs expected in such a workspace:
aws-mail-devaws-mail-prodsplunk-mcp-serverstatsig- ...
Local evidence:
codex mcp listin the workspace shows repo-scoped MCP servers enabledcodex mcp listoutside the workspace collapses to the same 4 entries shown in the Desktop panel- direct repo-scoped MCP calls succeed from the active session
This makes it look like the Desktop MCP panel is resolving server status without the workspace/repo overlay applied.