langchain-ai/deepagents · error · MarketplaceError

Marketplace {record.name!r} now declares the name {marketpla

Error message

Marketplace {record.name!r} now declares the name {marketplace.name!r}

What it means

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`.

Source

Thrown at libs/code/deepagents_code/plugins/discovery.py:383

                            source_type=record.source_type,
                            value=record.source,
                            ref=record.ref,
                        )
                    case "url":
                        source = UrlMarketplaceSource(
                            source_type="url", value=record.source
                        )
                    case _:
                        continue

                try:
                    marketplace, _ = materialize_marketplace_source(source)
                    if marketplace.name != record.name:
                        msg = (
                            f"Marketplace {record.name!r} now declares the name "
                            f"{marketplace.name!r}"
                        )
                        raise MarketplaceError(msg)
                except (OSError, RuntimeError, ValueError) as exc:
                    logger.warning(
                        "Could not refresh plugin marketplace %s: %s",
                        marketplace_name,
                        redact_urls_in_text(str(exc)),
                    )
                    continue

                for plugin_id, installed_entry in sorted(installed.items()):
                    if plugin_id not in enabled or installed_entry.version is None:
                        continue
                    try:
                        plugin_name, plugin_marketplace = split_plugin_id(plugin_id)
                    except ValueError:
                        continue
                    if plugin_marketplace != marketplace_name:
                        continue

View on GitHub (pinned to a1af029e6e)

Solutions

  1. Decide whether to follow the rename: remove the old marketplace (`/marketplace remove` or equivalent) and re-add the source under its new name.
  2. If the rename is unintended, fix the `name` field in the upstream marketplace JSON.
  3. Reinstall affected plugins from the renamed marketplace.
  4. Check whether a stored marketplace source was repointed at the wrong repo/file.

Example fix

// before (upstream marketplace.json)
{"name": "acme-tools", ...}
// after upstream rename breaks installs
{"name": "acme-marketplace", ...}  // remove and re-add the source under the new name
Defensive patterns

Strategy: validation

Validate before calling

import json, urllib.request
name = json.load(urllib.request.urlopen(marketplace_url))["name"]
assert name == recorded_name, f"marketplace renamed: {recorded_name} -> {name}"

Prevention

When it happens

Trigger: `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.

Common situations: 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.

Related errors


AI-assisted analysis of langchain-ai/deepagents@a1af029e6e (2026-08-29). Data as JSON: /api/errors/938b32c5300f7748. Report an issue: GitHub.