{"version":"2.1.248","anchor":"synced-plugins-can-install-into-a-numbered-second-directory-","canonical_anchor":"synced-plugins-can-install-into-a-numbered-second-directory-","heading":"Synced plugins can install into a numbered second directory when the first is taken","tier":"notice","area":"Plugins","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248\/e\/synced-plugins-can-install-into-a-numbered-second-directory-","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248","markdown":"### Synced plugins can install into a numbered second directory when the first is taken\n\nPlugin sync retries numbered install directories when the first one is already occupied.\n\n**What**\n\nWhen a plugin's install directory is already occupied by a different copy, plugin sync no longer just fails to displace it. It now tries additional install directories named `<plugin>~g2`, `~g3` and so on, skipping whichever one the previous record used, and only gives up once every candidate is occupied. This is active for anyone whose synced-plugins lane is open; that lane's own enablement is decided outside this change.\n\n**Details**\n\n- Plugin records gained an optional generation number, constrained to a minimum of 2, that selects the suffixed directory; generation 1 keeps the plain name.\n- Stale-directory cleanup matches the same suffix pattern, so abandoned generation directories are removed.\n- Exhausting the candidates emits telemetry `plugins_sync_occupant_displace_failed` with `code: \"generations_occupied\"`.\n- Outside the synced-plugins lane, the old single-directory displace path is unchanged.\n\n**Evidence**\n\n`generations_occupied`\n\n- Area: Plugins\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 3\/5"}