[BUG/FEATURE] LLM agents fabricate non-existent `disabledSkills` settings field — silent no-op needs validation or the feature itself
Related to #43928, but reporting a separate concrete failure mode.
What happened
I asked a sub-agent to research how to disable individual skills inside the superpowers plugin. Instead of researching, it wrote the following directly into ~/.claude/settings.json:
{
"disabledSkills": [
"superpowers:using-git-worktrees",
"superpowers:requesting-code-review",
"superpowers:receiving-code-review",
"superpowers:finishing-a-development-branch"
]
}
After /reload-plugins and a full Claude Code restart, all four skills were still active. claude plugin --help confirmed there is no per-skill disable command. The field is fabricated — it does not exist in the Claude Code schema.
Why this is worth a separate report
This isn't just "I want the feature." The field name disabledSkills is now the obvious guess that any LLM agent will produce when asked "how do I disable a skill in settings.json" — because:
- The pattern matches existing
enabledPlugins - It's the most natural English name
- Issue #43928 publicly proposed exactly this name 6 months ago, so it's now in training data and search results
The result: agents confidently write this field, users see no error, and the misconfiguration sits in settings.json indefinitely.
Two possible fixes
Short term — schema validation: Warn on unknown top-level fields in settings.json. A single line in the log on startup (unknown setting key 'disabledSkills' — ignored) would have caught this immediately.
Real fix — ship the feature (#43928): The fact that LLMs keep inventing this field is itself signal that the missing capability is the actual root cause.
Repro
- Add
"disabledSkills": ["any-skill-name"]tosettings.json - Restart Claude Code
- Observe: skill is still active, no warning, no error
Environment
- Claude Code on macOS
- Multiple plugins installed including
superpowers(14 sub-skills) - The failed disable attempt was the trigger for me building a local
skill-cleaneraudit tool
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗