{"record":{"id":"938b32c5300f7748","repo":"langchain-ai/deepagents","slug":"marketplace-record-name-r-now-declares-the-name","errorCode":null,"errorMessage":"Marketplace {record.name!r} now declares the name {marketplace.name!r}","messagePattern":"Marketplace (.+?) now declares the name (.+?)","errorType":"exception","errorClass":"MarketplaceError","httpStatus":null,"severity":"error","filePath":"libs/code/deepagents_code/plugins/discovery.py","lineNumber":383,"sourceCode":"                            source_type=record.source_type,\n                            value=record.source,\n                            ref=record.ref,\n                        )\n                    case \"url\":\n                        source = UrlMarketplaceSource(\n                            source_type=\"url\", value=record.source\n                        )\n                    case _:\n                        continue\n\n                try:\n                    marketplace, _ = materialize_marketplace_source(source)\n                    if marketplace.name != record.name:\n                        msg = (\n                            f\"Marketplace {record.name!r} now declares the name \"\n                            f\"{marketplace.name!r}\"\n                        )\n                        raise MarketplaceError(msg)\n                except (OSError, RuntimeError, ValueError) as exc:\n                    logger.warning(\n                        \"Could not refresh plugin marketplace %s: %s\",\n                        marketplace_name,\n                        redact_urls_in_text(str(exc)),\n                    )\n                    continue\n\n                for plugin_id, installed_entry in sorted(installed.items()):\n                    if plugin_id not in enabled or installed_entry.version is None:\n                        continue\n                    try:\n                        plugin_name, plugin_marketplace = split_plugin_id(plugin_id)\n                    except ValueError:\n                        continue\n                    if plugin_marketplace != marketplace_name:\n                        continue\n","sourceCodeStart":365,"sourceCodeEnd":401,"githubUrl":"https://github.com/langchain-ai/deepagents/blob/a1af029e6e73cb17c36bff823d227747b28e91e1/libs/code/deepagents_code/plugins/discovery.py#L365-L401","documentation":"During `auto_update_plugins`, each installed plugin's marketplace is refreshed from its recorded source via `materialize_marketplace_source`. If the refreshed marketplace declares a different `name` than the locally recorded `record.name`, the marketplace identity has changed and the update for that marketplace is aborted with this `MarketplaceError`.","triggerScenarios":"`auto_update_plugins()` runs (manually or on startup when auto-update is enabled) and a recorded marketplace source now points to a repo/file whose marketplace JSON `name` field differs from the name under which the marketplace was added.","commonSituations":"Upstream repo renamed its marketplace; a user edited a local marketplace JSON's `name`; a stored URL was repointed at a different marketplace; a fork diverged and renamed the marketplace.","solutions":["Decide whether to follow the rename: remove the old marketplace (`/marketplace remove` or equivalent) and re-add the source under its new name.","If the rename is unintended, fix the `name` field in the upstream marketplace JSON.","Reinstall affected plugins from the renamed marketplace.","Check whether a stored marketplace source was repointed at the wrong repo/file."],"exampleFix":"// before (upstream marketplace.json)\n{\"name\": \"acme-tools\", ...}\n// after upstream rename breaks installs\n{\"name\": \"acme-marketplace\", ...}  // remove and re-add the source under the new name","handlingStrategy":"validation","validationCode":"import json, urllib.request\nname = json.load(urllib.request.urlopen(marketplace_url))[\"name\"]\nassert name == recorded_name, f\"marketplace renamed: {recorded_name} -> {name}\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Do not rename the `name` field in a published marketplace JSON; treat it as a stable id.","Periodically re-check stored marketplace sources against their upstream.","When a rename is intentional, remove and re-add the marketplace under the new name.","If you repoint a stored source URL, expect this error and migrate installed plugins."],"tags":["plugins","marketplace","auto-update","identity-mismatch"],"backgroundTag":"marketplace-name-mismatch","analyzedSha":"a1af029e6e73cb17c36bff823d227747b28e91e1","analyzedAt":"2026-08-29T11:43:24.718Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}