[BUG] Skill frontmatter `context: fork` ignored in plugin skills
Resolved 💬 2 comments Opened Apr 9, 2026 by AtkinsChang Closed Apr 9, 2026
What's Wrong?
Plugin skills silently ignore context: fork frontmatter — the skill runs inline instead of forking.
The same skill works correctly when placed in user/project .claude/skills/ directories.
Root cause
Two code paths load skills. parseSkillFrontmatterFields handles context, but the plugin skill loader doesn't:
// User/project skills — has executionContext
// grep: function Ll1(q,K,_,z="Skill")
function Ll1(q, K, _, z = "Skill") {
// ...
return {
displayName: ...,
description: ...,
allowedTools: ...,
hooks: tVz(q, _),
executionContext: q.context === "fork" ? "fork" : undefined, // handles context
agent: ...,
effort: H,
shell: ...,
};
}
// Plugin skills — missing executionContext
// grep: function s48(q,K,_,z,Y,A,O={isSkillMode
function s48(q, K, _, z, Y, A, O = { isSkillMode: false }) {
const { frontmatter: $, content: w } = K;
// ...
return {
type: "prompt",
name: q,
description: ...,
allowedTools: ...,
hooks: I,
// executionContext — never read from $, not present in return
effort: k,
shell: x,
};
}
What Should Happen?
context: fork should be respected regardless of whether the skill is loaded from user/project skills or from a plugin.
Steps to Reproduce
- Create a plugin skill with
context: forkin frontmatter:
```markdown
---
name: my-skill
description: test fork context
context: fork
---
Do something.
```
- Invoke the skill
- Observe it runs inline, not forked
- Move the same skill to
.claude/skills/— it correctly forks
Is this a regression?
I don't know
Claude Code Version
2.1.97
Platform
Anthropic API
Operating System
Other Linux
Terminal/Shell
Other
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗