Claude Code 2.1.228 blocks synced skills from shell, shadowing
A synced skill could impersonate a local command you trust or slip instructions through its metadata; the update ends both and un-freezes stuck sessions.

Copy markdown
Your local commands now win every collision
A skill synced from claude.ai can no longer shadow a local slash command or MCP prompt that shares its name — your local definition takes precedence. That closes a quiet hijack path where a synced skill could impersonate a command you already trust and intercept the call.
No shell, no payloads hidden in metadata
Synced skills are now blocked from shell execution outright, and their names and descriptions are sanitized before the model ever reads them — cutting off a prompt-injection route through the description field. Install skills from claude.ai and you get this automatically on 2.1.228.
Update now — it also un-freezes dead-looking sessions
The release ships 18 CLI changes in all, including a fix for interactive sessions that stopped redrawing entirely while the process kept running (your terminal looked frozen but wasn't), plus Git Bash detection on Windows and self-hosted-runner checkout-hook failures. Worth pulling today even if you never sync skills.