Org-synced plugin archives containing a .git entry are rejected and re-extracted safely.
What's wrong with this entry?
When Claude Code unpacks a plugin delivered by org plugin sync, it now rejects any archive whose contents include an entry named .git, on top of the existing symlink and oversize checks. Rejected archives are unpacked again with the built-in extractor, which drops .git path segments entirely.
- Any non-ok verdict, including the new
reservedverdict for.git, logsplugins_sync_unzip_fallbackwith the reason before re-extracting. - Only affects the synced-plugins path (
CLAUDE_CODE_SYNC_PLUGINSand org-synced plugins), not locally installed plugins.
plugins_sync_unzip_fallback
Strings lifted out of the shipped bundle, so the claim above can be checked against them.