{"version":"2.1.232","anchor":"marketplace-registry-writes-take-a-lock-and-re-read-before-s","canonical_anchor":"marketplace-registry-writes-take-a-lock-and-re-read-before-s","heading":"Marketplace registry writes take a lock and re-read before saving","tier":"notice","area":"Plugins","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.232\/e\/marketplace-registry-writes-take-a-lock-and-re-read-before-s","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.232","markdown":"### Marketplace registry writes take a lock and re-read before saving\n\nTwo sessions editing plugin marketplaces at once no longer clobber each other's entries.\n\n**What**\n\nChanges to the list of installed plugin marketplaces (refresh times, installs, auto-update toggles) now take a lock file first and re-read the current file inside it, so two Claude Code sessions running at once no longer overwrite each other's entries.\n\n**Details**\n\n- The helper acquires a `.lock` alongside `known_marketplaces.json` with retries, applies the mutation to freshly read state, and skips the write entirely when nothing changed.\n- If the lock cannot be taken or is compromised, it logs `known_marketplaces.json lock compromised:`, writes anyway, and reports `tengu_known_marketplaces_fallback_write`.\n- Marketplaces whose install location sits inside a bundled plugin directory return no write at all, so those entries are never rewritten.\n\n**Evidence**\n\n`tengu_known_marketplaces_fallback_write`, `known_marketplaces.json lock compromised: `\n\n- Area: Plugins\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 1\/5"}