Skip to content

Document workaround for disable-model-invocation: true commands (agents refuse to invoke until nudged) #238

@V8-Software

Description

@V8-Software

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):

  1. User types e.g. /codex:status in chat
  2. Autocomplete offers the command
  3. Agent refuses: "Skill /codex:status is not listed as available to me. I have codex:rescue, codex-dual-review-file-based..."
  4. 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 with disable-model-invocation: true are 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

If this direction sounds reasonable, happy to open a PR with the README change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions