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
- Read the WARNING log line (it includes a traceback) to identify which distribution's metadata is broken.
- Reinstall the offending package: `pip install --force-reinstall <pkg>` (or delete and recreate the venv).
- Recreate the environment from your lockfile (`uv sync` / `pip install -r requirements.txt`) if multiple distributions look damaged.
- 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
- Avoid killing pip/uv mid-install; use atomic installs in containers.
- Never hand-edit files under site-packages or *.dist-info.
- Rebuild venvs from lockfiles rather than patching installed packages in place.
- Run `pip check` in CI to catch metadata/dependency inconsistencies early.
- Use one package manager per environment.
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
- Skipping {group} plugin {plugin_label}: failed to load entry
- Skipping {group} plugin {plugin_label}: registration callabl
- Cannot determine location for {package_root}
- Skipping {group} plugin {plugin_label}: entry point {ep.valu
- modes can only be provided when agent is a factory
AI-assisted analysis of langchain-ai/deepagents@a1af029e6e (2026-08-29).
Data as JSON: /api/errors/b7b34e79bd2c66c7.
Report an issue: GitHub.