{"version":"2.1.304","anchor":"plugin-sync-required-plugins-first-server-id-renames-aske","canonical_anchor":"plugin-sync-required-plugins-first-server-id-renames-aske","heading":"Plugin and skills sync reworked: required plugins first, renames, and wider skills-as-plugins sync","tier":"notice","area":"Plugins","scope":"both","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/plugin-sync-required-plugins-first-server-id-renames-aske","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304","markdown":"### Plugin and skills sync reworked: required plugins first, renames, and wider skills-as-plugins sync\n\nPlugin sync now fetches required plugins first, handles server-side renames, and can sync skills as plugins outside hosted sessions\n\n**What**\n\nPlugin sync is how Claude Code downloads the plugins set up for your account or organization. Plugins are add-ons that extend Claude Code. Several parts of it changed:\n\n- Download order: plugins already on the machine come first, then plugins whose `installationPreference` (`installation_preference`) is `\"required\"`, then the rest. In the sync list result, only the order changes.\n\n- Renames: when a plugin's id on the server differs from the id stored locally, sync detects this and handles it as a rename.\n\n- Asked lists: `askedListIds` is now saved in the manifest, the local record of what was synced.\n\n- Reuse shortcut: reusing an earlier sync round now needs one extra check to pass.\n\n- Skills as plugins: the check for whether to sync skills as plugins is now worked out once per session. It no longer applies only in the `hosted_worker` mode. It also applies when the mode is `\"none\"` and a further condition holds, and it is gated by `CLAUDE_CODE_SYNC_PLUGINS` or a function. A separate check decides whether the skills list asks for this. Before, `CLAUDE_CODE_SYNC_SKILLS` was an opt-in for some cases.\n\n- Converted skills: when enabled, the skills sync round waits for an earlier step and passes a `convertedSkillsAsPlugins` flag to the bucket sync and the list call. The key for the last listing gets a `.converted-skills` suffix, so switching this mode forces a fresh listing instead of reusing an old one.\n\n**Why**\n\nRequired plugins are fetched before optional ones, which matters if a sync is cut short. Syncing skills as plugins may now happen in sessions that are not hosted, and changing that mode no longer reuses a stale list.\n\n- Area: Plugins\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5\n- Scope: both\n- Heads-up: yes"}