langchain-ai/deepagents · error

Skipping plugin : failed to load entry point

Error message

Skipping {group} plugin {plugin_label}: failed to load entry point {ep.value!r}: {type(exc).__name__}: {exc}

What it means

A warning emitted when a single third-party profile plugin's entry point fails to LOAD (`ep.load()` raises) while other plugins in the group continue to load. This isolates the failure to one plugin — typically a missing dependency or an import-time error in that plugin's module. Logged at ERROR with full traceback via `logger.exception`.

Solutions

  1. Read the traceback in the ERROR log to see which import or statement failed inside the plugin's module.
  2. Install the plugin's missing dependencies (often an extra: `pip install '<plugin-pkg>[full]'`).
  3. Upgrade or downgrade the plugin to a version compatible with your deepagents release.
  4. Uninstall the broken plugin (`pip uninstall <pkg>`) if you don't need it — remaining plugins still load.
  5. Report/fix the plugin's entry point if it's your own package (declare dependencies, fix import-time errors).

Example fix

# before
pip install my-custom-profiles  # missing optional deps

# after
pip install 'my-custom-profiles[deepagents]'  # pulls declared plugin deps
Defensive patterns

Strategy: try-catch

Validate before calling

from importlib.metadata import entry_points
for ep in entry_points(group='deepagents.provider_profiles'):
    try:
        ep.load()
    except Exception as e:
        print(f"plugin {ep.value!r} will be skipped: {type(e).__name__}: {e}")

Type guard

def loadable(entry_point) -> bool:
    try:
        entry_point.load()
        return True
    except Exception:
        return False

Try / catch

import warnings
with warnings.catch_warnings(record=True) as caught:
    warnings.simplefilter("always")
    load_app()
skipped = [str(w.message) for w in caught if "failed to load entry point" in str(w.message)]
if skipped:
    install_missing_plugin_deps(skipped)  # messages name the failing ep.value

Prevention

When it happens

Trigger: During `_invoke_profile_plugins` iteration, an installed distribution declares an entry point under the profile plugin group whose `ep.value` (e.g. `mypkg.hooks:register`) raises on import — `ModuleNotFoundError` for an undeclared dependency, a syntax error, or an exception at module import time.

Common situations: Plugin package installed without its extras (`pip install mypkg` instead of `pip install mypkg[plugins]`); plugin built against an older deepagents with a moved import path; a broken plugin pinned in the environment; partial wheel install.

Related errors


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

Appendix: source

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

    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:
            msg = f"Skipping {group} plugin {plugin_label}: registration callable {ep.value!r} raised: {type(exc).__name__}: {exc}"
            logger.exception(msg)
            warnings.warn(msg, stacklevel=2)

View on GitHub (pinned to a1af029e6e)