langchain-ai/deepagents · warning

Failed to enumerate {group} entry points; no third-party plu

Error message

Failed to enumerate {group} entry points; no third-party plugins in this group will load: {type(exc).__name__}: {exc}

What it means

A warning emitted when `importlib.metadata.entry_points(group=...)` itself raises while `_invoke_profile_plugins` loads third-party profile plugins. Because enumeration failed for the whole group (e.g. malformed `dist-info` metadata in site-packages), NO plugin in that group loads, even ones that are individually healthy. It is logged at WARNING with a traceback via `exc_info=True`.

Source

Thrown at libs/deepagents/deepagents/profiles/_builtin_profiles.py:215

        `TypeError` / etc. The plugin's registrations are silently absent
        if this is suppressed, so the elevated level helps users notice.

    Plugins are iterated in whatever order
    `importlib.metadata.entry_points` returns — callers MUST NOT rely on
    a specific ordering when two plugins register under the same key.
    Registration semantics are additive (`register_*_profile` merges on
    top), so later entries layer on earlier ones.

    Args:
        group: Entry-point group name to iterate (e.g.
            `deepagents.provider_profiles`).
    """
    try:
        eps = entry_points(group=group)
    except Exception as exc:  # noqa: BLE001
        msg = f"Failed to enumerate {group} entry points; no third-party plugins in this group will load: {type(exc).__name__}: {exc}"
        logger.warning(msg, exc_info=True)
        warnings.warn(msg, stacklevel=2)
        return
    for ep in eps:
        plugin_label = _format_plugin_label(ep)
        try:
            register = ep.load()
        except Exception as exc:
            msg = f"Skipping {group} plugin {plugin_label}: failed to load entry point {ep.value!r}: {type(exc).__name__}: {exc}"
            logger.exception(msg)
            warnings.warn(msg, stacklevel=2)
            continue
        if not callable(register):
            msg = f"Skipping {group} plugin {plugin_label}: entry point {ep.value!r} did not resolve to a callable."
            logger.error(msg)
            warnings.warn(msg, stacklevel=2)
            continue
        try:
            register()
        except Exception as exc:

View on GitHub (pinned to a1af029e6e)

Solutions

  1. Read the WARNING log line (it includes a traceback) to identify which distribution's metadata is broken.
  2. Reinstall the offending package: `pip install --force-reinstall <pkg>` (or delete and recreate the venv).
  3. Recreate the environment from your lockfile (`uv sync` / `pip install -r requirements.txt`) if multiple distributions look damaged.
  4. As a workaround, clear only the broken `*.dist-info` directory so enumeration no longer raises, then reinstall that package.

Example fix

# before: corrupted metadata in .venv
pip list  # may crash or misreport

# after: clean rebuild
rm -rf .venv && uv sync
Defensive patterns

Strategy: validation

Validate before calling

python -c "from importlib.metadata import entry_points; print(len(entry_points(group='deepagents.provider_profiles')))"
# if this raises, your environment metadata is broken — fix before importing deepagents

Type guard

def entry_points_healthy(group: str) -> bool:
    try:
        from importlib.metadata import entry_points
        entry_points(group=group)
        return True
    except Exception:
        return False

Try / catch

import warnings
with warnings.catch_warnings(record=True) as caught:
    warnings.simplefilter("always")
    load_app()
for w in caught:
    if "Failed to enumerate" in str(w.message):
        group = str(w.message).split()[3]
        raise RuntimeError(f"Environment metadata broken; plugin group {group} skipped. Rebuild the venv.")

Prevention

When it happens

Trigger: Calling any API that triggers `_ensure_builtin_profiles_loaded` (most deepagents entry points) in an environment where `entry_points(group='deepagents.provider_profiles')` throws — typically corrupted or hand-edited `*.dist-info/METADATA`/`RECORD` files, or a broken `importlib.metadata` state.

Common situations: Interrupted `pip install`/`uv pip` leaving partial dist-info; manually deleting package files from site-packages; mixing package managers in one environment; filesystem corruption in a venv or container layer.

Related errors


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