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

  1. Create a skill with disable-model-invocation: true in the SKILL.md frontmatter:

``yaml
---
name: sync
description: Update CLAUDE.md if appropriate, then commit and push
disable-model-invocation: true
---
``

  1. Confirm it works correctly in Claude Code CLI (skill is hidden from model, only invocable via /sync)
  2. Attempt to upload the same skill to Claude Desktop
  3. 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

View original on GitHub ↗

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