Let explicit user tool/MCP choice override auto-triggered bundled skills
What feature would you like to see?
Codex should treat an explicit user choice of tool, MCP server, plugin, or skill as the highest-priority routing signal when multiple capabilities can perform the same task.
Today, a bundled skill can auto-trigger from the task domain and then mandate its own backend even when the user explicitly named another one. This creates a strong routing bias toward bundled capabilities and makes third-party or user-provided computer-use integrations difficult to select reliably.
Concrete reproduction
In a session where both the bundled Computer Use capability and a third-party CUA Driver MCP were available:
- The user explicitly asked: “using CUA Driver MCP, open WhatsApp…”
- Because operating a local Mac app matched the bundled
computer-use:computer-useskill description, Codex automatically selected that skill. - The skill's mandatory workflow routed the action through
node_repland the bundled@oai/skyComputer Use client. - This happened despite the user repeatedly specifying CUA Driver.
- The user had to interrupt the action and ask why their selected integration was being ignored.
No message was sent in this reproduction, but the same routing problem can affect any overlapping capability: browsers, computer-use drivers, GitHub workflows, document tools, or custom MCP servers.
Expected behavior
When a user explicitly names a capability, Codex should:
- Prefer that exact tool, MCP server, plugin, or skill over auto-triggered alternatives.
- Avoid loading a conflicting bundled skill whose mandatory instructions force a different backend.
- Fall back only if the selected capability is unavailable, incompatible, or prohibited—and clearly tell the user why.
- Preserve normal safety and confirmation requirements regardless of provider.
- Expose which capability was selected and why.
Requested controls
Useful controls could include:
- Per-turn explicit selection: Natural language such as “use CUA Driver only” or a structured mention should suppress conflicting auto-routing.
- Per-session preferences: For example, “prefer
cua-driverfor computer use in this session.” - Persistent routing preferences: A user/project config mapping domains to preferred capabilities.
- Skill modes:
auto,manual, orofffor bundled and installed skills. - Clear fallback semantics: If the preferred capability cannot be used, ask or explain instead of silently switching.
- Routing provenance: Show the selected skill/tool/MCP and whether selection came from an explicit user choice, config, or automatic matching.
A possible precedence order:
- Explicit user-selected capability for the current turn
- Session/project/user preference
- Explicitly invoked skill
- Automatic skill/plugin routing
- Generic fallback tools
Why this matters
- Users may choose an alternative for privacy, reliability, accessibility, local deployment, testing, or feature reasons.
- Third-party MCPs cannot compete fairly if broad bundled skill triggers always take precedence.
- Mandatory skill workflows can turn a routing mistake into repeated use of the wrong backend.
- Explicit user intent is more reliable than domain-based inference when both are present.
Acceptance criteria
- Add a regression test with two overlapping computer-use capabilities.
- An explicit request to use capability B prevents automatic routing through capability A.
- If B is unavailable, Codex reports that fact before using A.
- The effective capability selection and its provenance are visible.
- Safety policies remain provider-neutral and unchanged.
Related issues
- #17085 — skip auto-triggered skills / per-skill
auto,manual,offmodes - #19883 — plugin router metadata, including suppression when a skill is explicitly selected
- #30967 — per-thread skill/plugin capability selection
- #35128 — implicitly selected plugin skills across product surfaces
This request is narrower: explicit user selection of a particular tool or MCP should override a conflicting auto-triggered bundled skill.
1 Comment
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action