langchain-ai/deepagents · error · MarketplaceError
No marketplace manifest found under {root}
Error message
No marketplace manifest found under {root} What it means
load_marketplace resolves the given root directory and searches for a marketplace manifest with find_marketplace_manifest. If no recognizable manifest file exists anywhere under the root, MarketplaceError 'No marketplace manifest found under {root}' is raised. This is the discovery-failure case, distinct from a manifest that exists but is invalid.
Source
Thrown at libs/code/deepagents_code/plugins/marketplace.py:858
def load_marketplace(root: Path) -> PluginMarketplace:
"""Load a marketplace manifest from a root directory.
Args:
root: Marketplace root directory.
Returns:
Parsed marketplace.
Raises:
MarketplaceError: If no marketplace manifest exists or it is invalid.
"""
root = root.expanduser().resolve()
manifest_path = find_marketplace_manifest(root)
if manifest_path is None:
msg = f"No marketplace manifest found under {root}"
raise MarketplaceError(msg)
return _load_marketplace_from_path(root, manifest_path)
View on GitHub (pinned to a1af029e6e)
Solutions
- Verify the directory contains the expected manifest filename (e.g. marketplace.json / .marketplace.json) with `ls`; point load_marketplace at the directory that actually holds it.
- Fix the configured path/typo in your marketplace settings.
- If the manifest is at the repo root but you pass a subdirectory, pass the root; complete a partial clone (`git checkout`) if files are missing.
Example fix
// before
mp = load_marketplace(Path('~/src/team-market/plugins'))
// after (manifest lives at repo root)
mp = load_marketplace(Path('~/src/team-market')) Defensive patterns
Strategy: validation
Validate before calling
from pathlib import Path
def marketplace_root_ok(root: str) -> bool:
r = Path(root).expanduser().resolve()
return r.is_dir() and any(r.glob("*.json")) # then confirm the manifest filename matches the library's expectation Type guard
def is_marketplace_dir(p: object) -> TypeGuard[Path]:
return isinstance(p, Path) and p.is_dir() and find_marketplace_manifest(p) is not None Try / catch
from deepagents_code.plugins import MarketplaceError
try:
mp = load_marketplace(Path(path_arg))
except MarketplaceError as exc:
if str(exc).startswith("No marketplace manifest"):
print(f"{path_arg} has no marketplace manifest; point at the dir containing it")
sys.exit(2) Prevention
- Run find_marketplace_manifest (or a glob) on the directory before registering it.
- Store the directory that directly contains the manifest, not a parent or sibling.
- Log the resolved absolute root in install scripts to catch path typos early.
When it happens
Trigger: Calling load_marketplace(root) (directly or via add_local_marketplace, _validate_marketplace_repository, materialize_marketplace_source, load_marketplace_location) with a directory that contains no manifest matching find_marketplace_manifest's expected filename(s).
Common situations: Pointing at the wrong directory (repo root instead of subdirectory holding the manifest, or vice versa); cloning a repo that stores the manifest under a different name; typos in the configured marketplace path; empty or partially cloned checkout.
Related errors
- Invalid JSON syntax in {manifest_path}: {exc}
- Invalid plugin name: {name!r}
- modes can only be provided when agent is a factory
- models can only be provided when agent is a factory
- -32601
AI-assisted analysis of langchain-ai/deepagents@a1af029e6e (2026-08-29).
Data as JSON: /api/errors/844b71450ffd0775.
Report an issue: GitHub.