[BUG] Skills with `disable-model-invocation: true` cannot be invoked by subagents even when parent agent explicitly references the skill

Resolved 💬 1 comment Opened Apr 5, 2026 by stefansimik Closed May 15, 2026

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

  1. Create a skill with disable-model-invocation: true in 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...
```

  1. Place it in ~/.claude/skills/my-reference-skill/SKILL.md
  1. Write a prompt that references this skill (e.g. /my-reference-skill) and involves spawning subagents (e.g. a complex task that gets decomposed)
  1. The parent agent or any subagent attempts to load the skill via the Skill tool
  1. 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: true cannot be invoked by user via slash command
  • #22345 — Plugin skills don't support disable-model-invocation
  • #31935 — disable-model-invocation: true does not suppress skill descriptions

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗