[BUG] 2.1.129 prints "47 skill descriptions dropped" — same files load clean on 2.1.128
Summary
Claude Code 2.1.129 prints 47 skill descriptions dropped in the statusline / /doctor on startup for a config that loads cleanly on 2.1.128 with the same files. All skills function normally in both versions — the warning appears to be a false-positive (or at least a count mismatch) introduced by the new validator added in 2.1.129.
Likely related to / regression of the cap raised in 2.1.105 ("listing cap from 250 → 1,536 chars + startup warning when descriptions are truncated") and the display-truncation issue tracked in #44780.
Repro
~/.claude/skills/with 50 SKILL.md files, all valid YAML frontmatter, alldescription:≤ 937 characters (under both the 1024-char API spec cap and the 1,536-char listing cap).- No block-scalar (
>/>-) descriptions — all single-line plain or double-quoted scalars. - No nested skill subdirs without SKILL.md (checked).
- No Claude Desktop skills (
~/Library/Application Support/Claude/claude_desktop_config.jsonhas emptymcpServersand no skills folder).
On 2.1.129
Statusline shows: 47 skill descriptions dropped · "/doctor" for details
On 2.1.128 (downgraded, same files)
No warning. All 50 skills load cleanly. Confirmed via /context showing identical skill counts and token sizes on both versions.
Inventory
- Total SKILL.md files: 50
- Descriptions over 250 chars: 22 (does not match "47")
- Descriptions over 1024 chars: 0
- Descriptions over 1,536 chars: 0
- Top 5 longest descriptions (chars): pdf-engine 937, mastra-ai 781, dudoxx-sandbox-creator 735, ddx-vhost-manager 733, create-nestjs 725
- Plus 24 agents in
~/.claude/agents/(longest description 692 chars) and 11 commands in~/.claude/commands/(longest 204 chars) - Plugins installed: 3 (
claude-mem-thedotmack,pyright-lsp-claude-plugins-official,typescript-lsp-claude-plugins-official) — none provide SKILL.md files (find ~/.claude/plugins/data -name SKILL.md→ 0 results)
What I Tried Before Discovering Downgrade Fixes It
- Trimmed all descriptions to ≤1024 chars (was 5 over, all under now).
- Converted block-scalar (
description: >) frontmatter to single-line scalars. - Removed
skills/_shared/andskills/plans/(subdirs without SKILL.md) — moved_shared/to~/.claude/lib/skill-helpers/. - Verified no over-cap descriptions in agents/commands.
- Verified no other skills directories on disk.
None of the above changed the "47 dropped" count on 2.1.129.
Expected
Either:
- No warning when descriptions are within the documented cap, OR
- Warning shows the actual dropped count (not 47 when only 22 plausibly exceed any known threshold), OR
/doctorlists which specific skills failed and why (current output is opaque).
Actual
Statusline says "47 dropped" without indicating which skills or why. /doctor is interactive (CLI/TUI) so the exact list is not easy to capture programmatically.
Environment
- macOS Darwin 25.4.0
- Claude Code: 2.1.129 (broken) ↔ 2.1.128 (works)
- Shell: zsh
- ~/.claude/ tree: 50 skills, 24 agents, 11 commands, 3 plugins, custom hooks
- No Claude Desktop skills;
claude_desktop_config.jsonhas emptymcpServers
Asks
- Document the actual cap that fires the "X descriptions dropped" warning in 2.1.129 (250? 1024? 1536? something else?). Current docs and changelog are inconsistent.
- Make
/doctornon-interactive (or add a--jsonflag) so the dropped list can be captured. - Print at least the skill name alongside the count:
47 dropped: <name1>, <name2>, .... - If this is a known regression in 2.1.129, tag it and ship a 2.1.130 fix.
Related
- #44780 — skill-creator should warn when description exceeds 250-char display limit
- 2.1.105 changelog — "raised the listing cap from 250 to 1,536 characters and added a startup warning when descriptions are truncated"
This issue has 10 comments on GitHub. Read the full discussion on GitHub ↗