[BUG] Skills with `disable-model-invocation: true` cannot be invoked by subagents even when parent agent explicitly references the skill
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
When a parent agent explicitly references a skill (via /skill-name slash command or direct mention), subagents spawned by that parent cannot invoke the skill if it has disable-model-invocation: true in its frontmatter. The error returned is:
Error: Skill cc-use-subagents cannot be used with Skill tool due to disable-model-invocation
The disable-model-invocation flag is designed to prevent automatic/unsolicited invocation by the model. However, it currently blocks all model-driven invocations — including cases where the user explicitly referenced the skill in their prompt and a subagent needs to load it for context.
What Should Happen?
When a parent agent explicitly references a skill (via slash command or direct mention in the prompt), all subagents spawned by that parent should inherit the right to invoke that skill — regardless of disable-model-invocation: true.
The flag should only prevent unsolicited automatic invocation, not block access when the user has clearly indicated intent to use the skill. The invocation chain should be: user references skill -> parent agent -> subagent should be able to load it.
Error Messages/Logs
Error: Skill cc-use-subagents cannot be used with Skill tool due to disable-model-invocation
Steps to Reproduce
- Create a skill with
disable-model-invocation: truein frontmatter:
```markdown
---
name: my-reference-skill
description: A reference skill with instructions for subagents
disable-model-invocation: true
---
# Instructions
Some instructions that subagents should follow...
```
- Place it in
~/.claude/skills/my-reference-skill/SKILL.md
- Write a prompt that references this skill (e.g.
/my-reference-skill) and involves spawning subagents (e.g. a complex task that gets decomposed)
- The parent agent or any subagent attempts to load the skill via the Skill tool
- Error appears:
Error: Skill my-reference-skill cannot be used with Skill tool due to disable-model-invocation
Note: The workaround is to remove disable-model-invocation: true, but this defeats the purpose of preventing unsolicited automatic invocations.
Claude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.92
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Proposed solution: Implement skill invocation permission inheritance. When a user explicitly references a skill (via slash command or mention), the parent agent should mark that skill as "user-authorized" for the current session. Subagents spawned by that parent should inherit this authorization, allowing them to invoke the skill via the Skill tool despite disable-model-invocation: true.
This would preserve the original intent of disable-model-invocation (prevent unsolicited auto-invocation) while fixing the broken workflow where explicit user intent is being blocked.
Related issues:
- #26251 — Skill with
disable-model-invocation: truecannot be invoked by user via slash command - #22345 — Plugin skills don't support
disable-model-invocation - #31935 —
disable-model-invocation: truedoes not suppress skill descriptions
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗