Claude Desktop skill upload rejects disable-model-invocation frontmatter key
Resolved 💬 3 comments Opened Feb 10, 2026 by uniqueNY85 Closed Feb 14, 2026
Description
The disable-model-invocation frontmatter key is valid and functional in Claude Code CLI — it hides a skill from the model unless explicitly invoked by the user with /skill-name. However, when uploading the same skill to the Claude Desktop application, the upload fails with:
unexpected key in SKILL.md frontmatter: properties must be in ('name', 'description', 'license', 'allowed-tools', 'compatibility', 'metadata')
Steps to Reproduce
- Create a skill with
disable-model-invocation: truein the SKILL.md frontmatter:
``yaml``
---
name: sync
description: Update CLAUDE.md if appropriate, then commit and push
disable-model-invocation: true
---
- Confirm it works correctly in Claude Code CLI (skill is hidden from model, only invocable via
/sync) - Attempt to upload the same skill to Claude Desktop
- Upload fails with the frontmatter validation error
Expected Behavior
Claude Desktop should accept the same frontmatter keys that Claude Code CLI supports, or at minimum allow unknown keys to pass through gracefully (perhaps with a warning rather than a hard error).
Environment
- Claude Code CLI: skill works as expected
- Claude Desktop: upload rejected
- OS: Windows
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗