[BUG] skillOverrides silently ignored for plugin-provided skills
Environment: Claude Code 2.1.220, native install, macOS 26 (Darwin 25.6.0)
Description:skillOverrides entries for plugin-shipped skills have no effect. Setting e.g. "vercel:ai-gateway": "off" in ~/.claude/settings.json (or via the /skills UI, which happily writes the entry) leaves the skill fully listed and invocable in every session. The same overrides work correctly for skills loaded from ~/.claude/skills.
Repro:
- Enable a skill-heavy plugin (e.g.
vercel@claude-plugins-official, 28 skills). - In
/skills, set any of its skills to "off" — or add"skillOverrides": {"vercel:ai-gateway": "off"}to user settings. - Start a new session: the skill still appears in the available-skills listing and can be invoked.
Expected: the override suppresses the skill like it does for personal/project skills.
Actual: silently ignored — the settings write "succeeds", so it looks like it worked.
Likely cause: the skill status resolver in the 2.1.220 bundle returns early for plugin skills before consulting overrides: if(e.type!=="prompt"||e.source==="plugin")return"on" — the skillOverrides lookup that follows is only reachable for non-plugin skills.
Impact: with large plugins there's no way to trim the skill listing short of disabling the whole plugin (losing its commands/hooks). In my setup the vercel plugin alone contributes ~28 listing entries, pushing the listing well past the point where entries get truncated.
Related: #47747 asked for granular per-plugin-skill disable as a feature (closed not-planned). This differs: the settings schema and /skills UI already accept these overrides — they just don't do anything.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗