One read of Claude Documentationclaude-docs-20261027T180706Z
1 pages moved out of 280 read.
Pages moved
1
significant first
Pages read
280
in this capture
Captured
18:07 UTC
Corpus hash
c7c42e4fa905
corpus-hash
What this read moved
1-1 of 1third-party/claude-desktop/extensions Changed · +26 / -1 lines
### Move a marketplace to a new source
from line 223
223223| `ref` | Branch name, tag name, or full 40-character commit SHA. Git sources only. **Required, and must be a full commit SHA,** when `installationPreference` is `"auto_install"` or `"required"`. |
224224| `path` | Subdirectory containing `.claude-plugin/marketplace.json` when not at the repository root. Git sources only. |
225225| `manifestSha256` | 64-character hex SHA-256 of the exact `marketplace.json` file to accept. `url` sources only. **Required** when `installationPreference` is `"auto_install"` or `"required"`; a served manifest with any other digest is refused. |
226| `expectedName` | If set, the fetch is rejected unless the `name` in `marketplace.json` matches this value exactly, so a change to the manifest name cannot silently replace another configured marketplace. |
226| `expectedName` | If set, the fetch is rejected unless the `name` in `marketplace.json` matches this value exactly, so a change to the manifest name can't silently replace another configured marketplace. Set it on the new entry when you [move a marketplace to a new source](#move-a-marketplace-to-a-new-source) to keep users' installed plugins. |
227227| `credentialKind` | `"anonymous"` (default), `"userGit"`, `"credentialHelper"`, or (for `url` sources) `"inferenceCredential"`. See [Marketplace credentials](#marketplace-credentials). |
228228| `credentialHelper` | Path to an executable that prints an access token on stdout. Required, and only valid, when `credentialKind` is `"credentialHelper"`. |
229229| `installationPreference` | `"available"` (default), `"auto_install"`, or `"required"`. See [Marketplace installation preferences](#marketplace-installation-preferences). |
from line 284
284284### Roll out marketplace updates
285285
286286For a git marketplace, commit the change to the repository, update the `ref` in `allowedPluginMarketplaces` to the new commit SHA, and distribute the updated managed configuration. For a `url` marketplace with a `manifestSha256` pin, publish the new archive, update its `url` and `sha256` in `marketplace.json`, and update `manifestSha256` in configuration to the new file's digest. For a `url` marketplace using [per-plugin auto-install from a trusted origin](#per-plugin-auto-install-from-a-trusted-origin), publish the new `marketplace.json` and no configuration change is needed. Devices sync to the new revision on the next app launch or periodic re-fetch. To remove a marketplace, delete its entry; Claude Desktop unregisters it and uninstalls its plugins on the next sync.
287
288### Move a marketplace to a new source
289
290Claude Desktop identifies a marketplace entry by its `repo` or `url` and its `path`. If you change one of them, for example to move from a git repository to a hosted `marketplace.json`, Claude Desktop treats the change as removing one marketplace and adding another, and uninstalls the plugins users installed from the old one. Changing `ref` is an update, not a move.
291
292To keep users' installed plugins, first make sure that every device is running Claude Desktop 3.6556.1 or later. Earlier versions uninstall them when they sync the move. Then make the move:
293
294**1. Keep the marketplace and plugin names**
295
296In the new source's `marketplace.json`, keep the marketplace `name` and the plugin names the same as in the old source. Point each plugin's `source` at content in the new marketplace's [own repository](#create-the-marketplace-repository) or [archives](#host-the-marketplace-over-https-instead-of-git). Claude Desktop doesn't carry over any other plugin, such as one whose code comes from another repository.
297
298**2. Swap the entries in one configuration change**
299
300In `allowedPluginMarketplaces`, delete the old entry and add the new entry with `expectedName` set to that `name`. The value must match exactly, including letter case. If you delete the old entry in an earlier change, devices that sync in between uninstall the plugins.
301
302**3. Leave expectedName set on the new entry**
303
304Without `expectedName`, a device that hasn't yet loaded the new source removes the old marketplace and uninstalls its plugins.
305
306On the next sync, the plugins users installed from the marketplace's own repository or archives stay installed and load from the new source. Under `"available"`, each one stays on or off as the user left it. The new entry's `installationPreference` applies as it does for a new marketplace.
307
308Move a marketplace this way when the new source holds the same marketplace. At their next session, users' installed plugins run what the new source lists under those names.
309
310* **If a device can't fetch the new source or rejects it**: the plugins from that marketplace stop loading on that device, and the **Directory** shows the reason in a banner on the **Organization** tab. That device also uninstalls a plugin that a Claude Desktop version before 1.44121.0 installed outside the marketplace's folder on the device. Once the device loads the new source, the plugins that stayed installed load again without a reinstall, and the user can install the uninstalled plugin again if the [**Organization** tab](#plugin-marketplaces-admin) lists it.
311* **If Claude Desktop drops an entry in `allowedPluginMarketplaces` as invalid**: the move waits, and the plugins already installed from the old source keep loading, until you fix the entry.
287312
288313## Organization plugins (admin)
289314