[BUG] VSCode extension SKILL.md schema missing multiple supported frontmatter fields
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?
The VSCode extension's schema validation for SKILL.md frontmatter rejects several fields that are officially documented and functional in the CLI.
The warning message reveals the schema only recognizes: argument-hint, compatibility, description, disable-model-invocation, license, metadata, name, user-invokable.
However, the official frontmatter reference documents these additional supported fields that the VSCode schema rejects:
| Field | Documented purpose | VSCode schema |
|---|---|---|
| allowed-tools | "Tools Claude can use without asking permission when this skill is active." | Missing |
| model | "Model to use when this skill is active." | Missing |
| context | "Set to fork to run in a forked subagent context." | Missing |
| agent | "Which subagent type to use when context: fork is set." | Missing |
| hooks | "Hooks scoped to this skill's lifecycle." | Missing |
| user-invocable | "Set to false to hide from the / menu." | Listed as user-invokable (typo, see #23723) |
The documentation even includes an explicit example using allowed-tools:
---
name: safe-reader
description: Read files without making changes
allowed-tools: Read, Grep, Glob
---
Additionally, the schema includes fields (compatibility, license, metadata) that are not in the official documentation, suggesting the schema may be based on a different or older spec.
What Should Happen?
The VSCode extension schema should match the official frontmatter reference exactly.
Error Messages/Logs
Attribute 'allowed-tools' is not supported in skill files. Supported: argument-hint, compatibility, description, disable-model-invocation, license, metadata, name, user-invokable.
Attribute 'model' is not supported in skill files. Supported: argument-hint, compatibility, description, disable-model-invocation, license, metadata, name, user-invokable.
Steps to Reproduce
- Create
.claude/skills/my-skill/SKILL.mdwith:
---
description: Test skill
allowed-tools: Read, Grep, Glob
model: sonnet
---
- Open the file in VSCode with the Claude Code extension
- Observe warnings for
allowed-toolsandmodel - Verify both fields work correctly when invoking the skill via CLI
Related Issues
- #23723 — reports the
user-invocablevsuser-invokabletypo (same schema issue) - #23329 — earlier schema fix that appears to have been incomplete
Claude Model
Opus
Is this a regression?
I don't know
Claude Code Version
Latest (2025-02-14)
Platform
Anthropic API
Operating System
Linux (WSL2)
Terminal/Shell
bash
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗