langchain-ai/deepagents · error · MarketplaceError

Marketplace {marketplace_name!r} is not configured

Error message

Marketplace {marketplace_name!r} is not configured

What it means

After a valid id split, _resolve_marketplace_and_entry looks the marketplace name up in the persisted marketplace records; when no record exists it raises MarketplaceError naming the marketplace. It means the `@marketplace` half of the plugin id does not correspond to any configured marketplace on this machine.

Source

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

    Args:
        plugin_id: Plugin id in `{name}@{marketplace}` form.
    """
    uninstall_plugin_record(plugin_id)


def _resolve_marketplace_and_entry(
    plugin_id: str,
) -> tuple[PluginMarketplace, MarketplacePluginEntry]:
    try:
        plugin_name, marketplace_name = split_plugin_id(plugin_id)
    except ValueError as exc:
        raise MarketplaceError(str(exc)) from exc
    records = load_marketplace_records()
    record = records.get(marketplace_name)
    if record is None:
        msg = f"Marketplace {marketplace_name!r} is not configured"
        raise MarketplaceError(msg)
    marketplace = load_marketplace_location(Path(record.install_location))
    entry = next(
        (plugin for plugin in marketplace.plugins if plugin.name == plugin_name),
        None,
    )
    if entry is None:
        msg = f"Plugin {plugin_id!r} not found in marketplace {marketplace_name}"
        raise MarketplaceError(msg)
    return marketplace, entry


@plugin_mutation_lock()
def install_plugin(plugin_id: str) -> PluginInstance:
    """Install a marketplace plugin into the versioned cache and enable it.

    Copies the plugin source into `plugins/cache/{marketplace}/{plugin}/{version}/`,
    writes `installed_plugins.json`, and enables the plugin.

View on GitHub (pinned to a1af029e6e)

Solutions

  1. Run `plugin marketplace add <source>` for the missing marketplace, then retry the install.
  2. Run `plugin marketplace list` to see configured marketplace names and correct the id.
  3. Check for typos in the marketplace segment of the id.
  4. If the marketplace was removed intentionally, pick a marketplace that hosts the plugin.

Example fix

// before
$ dcode plugin install widget@internal
MarketplaceError: Marketplace 'internal' is not configured
// after
$ dcode plugin marketplace add ~/markets/internal
$ dcode plugin install widget@internal
Defensive patterns

Strategy: validation

Validate before calling

from deepagents_code.plugins.discovery import load_marketplace_records

def ensure_marketplace_configured(marketplace_name: str) -> None:
    if marketplace_name not in load_marketplace_records():
        raise SystemExit(f"marketplace {marketplace_name!r} not configured; add it first")

Type guard

def marketplace_is_configured(name: str, records: dict) -> bool:
    return name in records

Try / catch

try:
    install_plugin("widget@internal")
except MarketplaceError as exc:
    if "is not configured" in str(exc):
        print("run: dcode plugin marketplace add <source> then retry")
    else:
        raise

Prevention

When it happens

Trigger: install_plugin with an id whose marketplace name is missing from load_marketplace_records — e.g. `plugin install widget@internal` when `internal` was never added, or was removed via `plugin marketplace remove`.

Common situations: Using a plugin id from a teammate whose marketplace is configured locally but not on your machine; forgetting `plugin marketplace add` before installing; installing from a different machine's docs/examples.

Related errors


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