Repository navigation
Description
Summary
Users running Claude Code with this plugin hit a predictable friction every time they type a /codex:* command that has disable-model-invocation: true (5 of 7 commands: adversarial-review, cancel, result, review, status):
- User types e.g.
/codex:statusin chat - Autocomplete offers the command
- Agent refuses: "Skill
/codex:statusis not listed as available to me. I havecodex:rescue,codex-dual-review-file-based..." - User has to manually convince the agent to try the Skill tool anyway
This is a Claude Code bug — tracked upstream as anthropics/claude-code#50075. Reproduced in multiple unrelated sessions with different agents. The root cause is that Claude Code hides commands with disable-model-invocation: true from the agent's skills list entirely, so the agent has no knowledge the command exists.
Why this is a plugin-side concern too
The plugin uses disable-model-invocation: true correctly — for commands that shouldn't be auto-fired by the model (cancel, status, etc.). That's by design. But until the upstream Claude Code bug is fixed, every user of this plugin independently runs into the same refusal and has to figure out the workaround.
Suggested action
Two low-cost additions would let plugin users skip the friction:
1. Document the workaround in the plugin README
Add a short note under "Usage" or a new "Troubleshooting" section:
If the agent tells you a
/codex:*command (like/codex:status) is not available, paste it again or tell the agent to "try via the Skill tool anyway". This is a known Claude Code limitation (anthropics/claude-code#50075) — commands withdisable-model-invocation: trueare hidden from the agent's skill list even when you explicitly invoke them. The workaround is one line and then the command runs normally.
2. Provide a ready-to-paste CLAUDE.md snippet users can drop into their global ~/.claude/CLAUDE.md
Something like:
## Slash-commands from the user
If the user explicitly types `/<skill-name>`, try invoking it through the Skill tool
right away — even if the skill is missing from the system-reminder list. Commands
with `disable-model-invocation: true` (e.g. most of the codex-plugin-cc commands:
`/codex:status`, `/codex:adversarial-review`, `/codex:result`, `/codex:cancel`,
`/codex:review`) are hidden from the agent, but an explicit user command is not
auto-invocation. Only report failure if the Skill tool itself returns an error.That makes the first sessions of any new user of the plugin frictionless. Once upstream #50075 is fixed, both the README note and the CLAUDE.md snippet can be retired.
Context
- Reproduced with
@openai/codex-plugin-ccv1.0.3, Claude Code on Windows and Linux - Upstream bug (Claude Code): [BUG] Skills/commands with
disable-model-invocation: trueare hidden from agent, blocking user-initiated slash invocation anthropics/claude-code#50075 (contains full repro and history of prior reports closed by inactivity) - Related prior Claude Code issues, all closed NOT_PLANNED: #24042, #26251, #21649
If this direction sounds reasonable, happy to open a PR with the README change.
Activity
adrienpesa commentedon Apr 24, 2026
Field report: using
codex:codex-rescueas a read-only review fallbackAdding our concrete workaround in case it's useful for the README snippet this issue proposes.
Our team's policy (in
~/.claude/CLAUDE.md) is: before anygh pr create/gh pr merge/ protected-branch push, the agent asks the user viaAskUserQuestionwhether to run Codex review. On "yes", it was supposed to invoke/codex:review --wait— but that's gated withdisable-model-invocation: true, so the agent can't call it directly.We updated the policy to fall back to the
Agenttool withsubagent_type: codex:codex-rescue, briefed in explicit REVIEW MODE ("read-only, do NOT edit files or apply fixes, return findings only"). It's not byte-identical to/codex:review(rescue is forked-context and doesn't use the review-specific prompt template), but it routes to the Codex runtime, returns findings, and respects the consent step. In practice it caught a real accuracy bug in a UI sublabel before merge.The exact CLAUDE.md clause that worked:
Strong +1 to either the README note or a canonical snippet in the plugin. Once upstream Claude Code fixes #50075 (issue #211 here), this can retire.
docs(ultraplan): handoff §4.4 current limitations + §5 B2 re-verifica…
fix(plugin): close upstream OPEN backlog — openai#59 state migration, o…
Merge pull request #7: close upstream OPEN backlog (openai#59 / opena…
docs(changelog): sync Unreleased with PR #3-#8
dkundel-openai commentedon Aug 11, 2026
Duplicate of #211.