openai / openai/codex

[macOS Desktop] Enabled plugin skill is injected but its stdio MCP tools are absent after full restart

Open
#38,342 6 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

app bug mcp skills
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, ref main
  • Cowart version: 0.1.25
  • Installed commit: 6a338f016dee21fd97346c5fd8fe1bd81b1a7522; matches origin/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 ~/Downloads fails 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 call issue.
Steps to reproduce
  1. Register zhongerxin/Cowart as a Git marketplace and install/enable cowart@cowart-github.
  2. Fully quit Codex Desktop.
  3. Reopen Codex Desktop and create a new task.
  4. Ask: Open the Cowart canvas for this project.
  5. 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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.