openai / openai/codex

[Windows] plugin-scoped Context7 MCP disable override is silently ignored

Open
#38,775 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug CLI config mcp skills windows-os
Dominant language
Rust
Stars
125k
Forks
19.5k
PR merge metrics
PR metrics pending

Description

Environment
  • Codex Desktop: 26.810.6296.0
  • Codex CLI: 0.147.0
  • Plugin: context7@context7-marketplace version 1.0.1
  • Platform: Windows x64
Summary

A one-run plugin-scoped config override is accepted without an error but does not disable the plugin's MCP server.

The installed plugin inventory reports Context7 as installed and enabled. The baseline MCP inventory contains one enabled context7 streamable-HTTP server.

Reproduction

Run the read-only inventory with this one-run override:

codex mcp list --json --config 'plugins."context7@context7-marketplace".mcp_servers.context7.enabled=false'

Actual result:

{
  "name": "context7",
  "enabled": true,
  "disabled_reason": null
}

The command exits normally and does not report that the key was unsupported or ignored.

As a control, the equivalent top-level override is honored:

codex mcp list --json --config 'mcp_servers.context7.enabled=false'

With that control, the Context7 MCP entry is absent from the resulting inventory. This confirms that --config forwarding is functioning and isolates the mismatch to the plugin-scoped path.

Expected behavior

One of the following should happen deterministically:

  1. the plugin-scoped MCP override disables only that plugin MCP server for the invocation; or
  2. Codex rejects the unsupported key with an actionable validation error.
Actual impact

The supported-looking override silently has no effect. Users cannot rely on it to keep a plugin installed while disabling only its MCP surface for one bounded invocation.

This report does not claim a provider or authentication failure. No Context7 tool or external data request was made; only local plugin/MCP inventory commands were used.

Suggested correction
  • Apply plugin-scoped mcp_servers.<name>.enabled overrides during effective MCP inventory construction; or
  • reject unknown/unsupported nested plugin keys instead of silently accepting them;
  • add a regression test comparing plugin-scoped and top-level one-run overrides.

No account identifiers, credentials, private data, local paths, or raw unrelated logs are included.

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 reproduced codex mcp list --json command and compare the plugin-scoped and top-level --config overrides. Trace effective MCP inventory construction, then add a regression test covering both paths; done means the plugin-scoped override disables only the selected server or returns an actionable validation error.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
70/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.