[BUG/FEATURE] LLM agents fabricate non-existent `disabledSkills` settings field — silent no-op needs validation or the feature itself

Resolved 💬 2 comments Opened May 26, 2026 by wang1xiang Closed Jun 26, 2026

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:

  1. The pattern matches existing enabledPlugins
  2. It's the most natural English name
  3. 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

  1. Add "disabledSkills": ["any-skill-name"] to settings.json
  2. Restart Claude Code
  3. 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-cleaner audit tool

View original on GitHub ↗

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