[BUG] disable-model-invocation: true still hides skills from model entirely (regression from #43660)

Status Fixed / completed
Reported on v2.1.94
Maintainer reply None cached
Activity 2 comments · opened Aug 18, 2026 · closed Aug 19, 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?

Skills with disable-model-invocation: true are completely invisible to the model. They do not appear in the system-reminder skills list, so the model:

  • cannot suggest the user run the skill
  • cannot know the skill exists when planning
  • cannot delegate to it from a subagent
  • cannot ask the user to invoke it

The skill is discovered by the harness (it appears in slash-command autocomplete and can be invoked by the user typing /skill-name), but the model has zero awareness of it.

This was reported and closed as fixed in #43660 (v2.1.94). The bug is back — or was never fully fixed, since the original closer noted reproduction was "sporadic."

What Should Happen?

Per the changelog entry: "Improved the refusal when Claude tries to invoke a skill with disable-model-invocation: Claude is now told to ask you to run the skill instead of replicating its workflow"

The model should:

  1. See the skill in its available skills list (know it exists)
  2. Fail if it tries to invoke it via the Skill tool
  3. Be told to ask the user to run /skill-name instead

Steps to Reproduce

  1. Create ~/.claude/skills/test-skill/SKILL.md:

``yaml
---
name: test-skill
description: A test skill.
disable-model-invocation: true
---
# Test Skill
Do something.
``

  1. Start a new session
  2. Ask the model: "Do you see the /test-skill skill?"
  3. Model does not see it — it is not in the system-reminder skills list
  4. Remove disable-model-invocation: true from the frontmatter
  5. Skill appears immediately (hot-reload works)

Evidence

Tested with 10 skills in ~/.claude/skills/, all with disable-model-invocation: true — none visible to the model. Includes both real directories and NTFS junctions; the directory type makes no difference.

| Skill | disable-model-invocation | Visible to model? | In slash autocomplete? |
|-------|---------------------------|-------------------|----------------------|
| retro | true | ❌ | ✅ |
| grilling | true | ❌ | ✅ |
| teach | true | ❌ | ✅ |
| (all 10 skills) | true | ❌ | ✅ |

All skills have valid frontmatter with name and description fields.

Error Messages/Logs

No error — the skill is silently excluded from the model's context.

Claude Model

Opus 4.6

Is this a regression?

Yes — #43660 was closed as fixed in v2.1.94

Last Working Version

Reportedly 2.1.94 (per #43660 closure)

Claude Code Version

2.1.234

Platform

Anthropic API

Operating System

Windows 11

Terminal/Shell

Claude Code Desktop App + CLI (both affected)

Additional Information

Related closed/locked issues:

  • #43660 — closed as "fixed" but fix was based on sporadic reproduction
  • #43875 — closed as duplicate of #43660
  • #43809 — subagents can't invoke disable-model-invocation skills
  • #26251 — user slash command blocked by the flag
  • #19141 — docs confusion between user-invocable and disable-model-invocation

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗