langchain-ai/deepagents · error · MarketplaceError

Unsupported marketplace source type: {source.source_type}

Error message

Unsupported marketplace source type: {source.source_type}

What it means

materialize_marketplace_source dispatches on source.source_type and supports "url", "github", "git", and local directory types. Any other source_type value falls through all branches and triggers this final error listing the unknown type.

Source

Thrown at libs/code/deepagents_code/plugins/marketplace.py:437

        marketplace = _load_marketplace_file(path)
        _reject_url_marketplace_with_local_plugins(marketplace, source.value)
        return marketplace, path
    if source.source_type == "github":
        if not isinstance(source, RepositoryMarketplaceSource):
            msg = "GitHub marketplace source is missing repository metadata"
            raise MarketplaceError(msg)
        root = _materialize_marketplace_repository(
            source, f"https://github.com/{source.value}.git"
        )
        return load_marketplace(root), root
    if source.source_type == "git":
        if not isinstance(source, RepositoryMarketplaceSource):
            msg = "Git marketplace source is missing repository metadata"
            raise MarketplaceError(msg)
        root = _materialize_marketplace_repository(source, source.value)
        return load_marketplace(root), root
    msg = f"Unsupported marketplace source type: {source.source_type}"
    raise MarketplaceError(msg)


def _reject_url_marketplace_with_local_plugins(
    marketplace: PluginMarketplace, url: str
) -> None:
    """Reject URL marketplaces whose plugins need a sibling filesystem tree.

    Direct marketplace JSON URLs only cache the catalog file. Relative plugin
    sources such as `./plugins/foo` cannot be resolved from that cache alone.

    Raises:
        MarketplaceError: If any plugin entry uses a local relative source.
    """
    local_plugins = [
        plugin.name
        for plugin in marketplace.plugins
        if _source_path(plugin.source) is not None
    ]

View on GitHub (pinned to a1af029e6e)

Solutions

  1. Correct the source_type in the config to one of the supported values (url, github, git, or a local path)
  2. Upgrade the library if the source type was added in a newer release
  3. Validate/normalize source_type before constructing the source object

Example fix

// before
source = RepositoryMarketplaceSource(source_type="Github", value="org/repo")
// after
source = RepositoryMarketplaceSource(source_type="github", value="org/repo")
Defensive patterns

Strategy: validation

Validate before calling

SUPPORTED = {"url", "github", "git", "local", "directory"}
if source.source_type not in SUPPORTED:
    raise ValueError(f"unsupported marketplace source_type: {source.source_type!r}")

Try / catch

try:
    marketplace, path = materialize_marketplace_source(source)
except MarketplaceError as exc:
    if "Unsupported marketplace source type" in str(exc):
        log.error("Check source_type spelling and library version: %s", exc)
    raise

Prevention

When it happens

Trigger: Passing a source object whose source_type is a typo (e.g. "Github", "https"), a newer type unsupported by the installed library version, or a corrupted/empty value.

Common situations: Typo in a marketplace config file; a config written against a newer library version being read by an older one; programmatic construction with an invalid type string.

Related errors


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