Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.236 Home All releases olderv2.1.235 v2.1.237newer
Claude Code v2.1.236

Skills sync refuses to touch an unsafe root, matching plugins

You'll notice
Useful2 Signal1
Elsewhere

Skill sync now refuses to write when its root looks unsafe, matching plugin sync.

What

Skill syncing now checks its skills root, trash root and config home before doing anything and throws instead of writing when that root is refused, the same protection plugin sync already had. This is on for everyone in this build.

Details
  • Refusals are reported at both the extract and sweep phases and recorded as skills_sync_root_refused, mirroring the plugin side's plugins_sync_root_refused.
  • The skills manifest is now read through schema parsing with per-field defaults, so a partly corrupt manifest loses only the bad fields instead of being discarded whole.
  • Plugin sync landing failures now report a cause: download, root_refused, extract, local or deferred, plus a plugins_sync_unexpected_landing_cause warning for the case that should not occur.
Evidence

skills_sync_root_refused

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

See this entry in the whole of v2.1.236 →