[macOS Desktop] Enabled plugin skill is injected but its stdio MCP tools are absent after full restart
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.5k
- PR merge metrics
- PR metrics pending
Description
What version of Codex CLI is running?
0.147.0-alpha.6.5
What model / provider were you using?
Default OpenAI GPT model (not a custom provider).
What platform are you using?
macOS, Codex Desktop.
What issue are you seeing?
A Git marketplace plugin is enabled and its skill is injected into a newly created Desktop task, but the stdio MCP server declared by that same plugin is not exposed in the task's tool inventory.
Concrete reproduction: Cowart 0.1.25 from zhongerxin/Cowart.
The skill cowart-open-canvas is available and instructs the agent to call render_cowart_canvas_widget. The plugin manifest correctly declares .mcp.json, which defines a cowart_mcp stdio server. However, the current task has no callable cowart_mcp / render_cowart_canvas_widget tool, so the native canvas cannot open.
This survives fully quitting Codex Desktop, reopening it, and creating a brand-new task twice. The plugin/cache is current, enabled, and points at the latest upstream commit.
Environment / evidence
- Plugin:
cowart@cowart-github,enabled = true - Marketplace:
https://github.com/zhongerxin/Cowart.git, refmain - Cowart version:
0.1.25 - Installed commit:
6a338f016dee21fd97346c5fd8fe1bd81b1a7522; matchesorigin/main - Cowart skill is visible in the task environment.
- The expected MCP tool is absent from the task environment/tool discovery.
- The plugin's MCP probe can launch the server and enumerate/reach its core tools outside the Desktop task surface. A later probe assertion that writes a sample download to
~/Downloadsfails under this sandboxed diagnostic environment, but that is unrelated to the missing-tool symptom. - Active provider is OpenAI, ruling out the custom Responses-provider
unsupported callissue.
Steps to reproduce
- Register
zhongerxin/Cowartas a Git marketplace and install/enablecowart@cowart-github. - Fully quit Codex Desktop.
- Reopen Codex Desktop and create a new task.
- Ask:
Open the Cowart canvas for this project. - Observe that the skill is injected, but the task does not expose
mcp__cowart_mcp__render_cowart_canvas_widget(or any Cowart MCP tool).
Expected behavior
When a plugin skill is loaded into a new Desktop task, its declared stdio MCP server should be started/discovered and its tools should be available in that task (or dynamically discoverable).
Actual behavior
Skills and MCP tool exposure are inconsistent: the skill is available, while the associated server tools are missing even after the documented restart/new-task recovery flow.
Related issues
- https://github.com/openai/codex/issues/19425 — custom stdio MCP tools discovered but not exposed to Desktop threads
- https://github.com/openai/codex/issues/32636 — plugin replacement can leave stale skill/tool inventories
- Cowart-specific report: https://github.com/zhongerxin/Cowart/issues/56
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the plugin manifest's .mcp.json and the new Desktop task creation flow. Compare how the Cowart skill is injected with how its stdio MCP server is started and added to the task tool inventory, using the provided reproduction steps and related issues as context. Done means the declared server and render_cowart_canvas_widget are available after a full restart and new task.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, rust
- Domain
- desktop, devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100