{"record":{"id":"5661140804c30f4a","repo":"langchain-ai/deepagents","slug":"marketplace-marketplace-name-r-is-not-configured","errorCode":null,"errorMessage":"Marketplace {marketplace_name!r} is not configured","messagePattern":"Marketplace (.+?) is not configured","errorType":"exception","errorClass":"MarketplaceError","httpStatus":null,"severity":"error","filePath":"libs/code/deepagents_code/plugins/discovery.py","lineNumber":191,"sourceCode":"\n    Args:\n        plugin_id: Plugin id in `{name}@{marketplace}` form.\n    \"\"\"\n    uninstall_plugin_record(plugin_id)\n\n\ndef _resolve_marketplace_and_entry(\n    plugin_id: str,\n) -> tuple[PluginMarketplace, MarketplacePluginEntry]:\n    try:\n        plugin_name, marketplace_name = split_plugin_id(plugin_id)\n    except ValueError as exc:\n        raise MarketplaceError(str(exc)) from exc\n    records = load_marketplace_records()\n    record = records.get(marketplace_name)\n    if record is None:\n        msg = f\"Marketplace {marketplace_name!r} is not configured\"\n        raise MarketplaceError(msg)\n    marketplace = load_marketplace_location(Path(record.install_location))\n    entry = next(\n        (plugin for plugin in marketplace.plugins if plugin.name == plugin_name),\n        None,\n    )\n    if entry is None:\n        msg = f\"Plugin {plugin_id!r} not found in marketplace {marketplace_name}\"\n        raise MarketplaceError(msg)\n    return marketplace, entry\n\n\n@plugin_mutation_lock()\ndef install_plugin(plugin_id: str) -> PluginInstance:\n    \"\"\"Install a marketplace plugin into the versioned cache and enable it.\n\n    Copies the plugin source into `plugins/cache/{marketplace}/{plugin}/{version}/`,\n    writes `installed_plugins.json`, and enables the plugin.\n","sourceCodeStart":173,"sourceCodeEnd":209,"githubUrl":"https://github.com/langchain-ai/deepagents/blob/a1af029e6e73cb17c36bff823d227747b28e91e1/libs/code/deepagents_code/plugins/discovery.py#L173-L209","documentation":"After a valid id split, _resolve_marketplace_and_entry looks the marketplace name up in the persisted marketplace records; when no record exists it raises MarketplaceError naming the marketplace. It means the `@marketplace` half of the plugin id does not correspond to any configured marketplace on this machine.","triggerScenarios":"install_plugin with an id whose marketplace name is missing from load_marketplace_records — e.g. `plugin install widget@internal` when `internal` was never added, or was removed via `plugin marketplace remove`.","commonSituations":"Using a plugin id from a teammate whose marketplace is configured locally but not on your machine; forgetting `plugin marketplace add` before installing; installing from a different machine's docs/examples.","solutions":["Run `plugin marketplace add <source>` for the missing marketplace, then retry the install.","Run `plugin marketplace list` to see configured marketplace names and correct the id.","Check for typos in the marketplace segment of the id.","If the marketplace was removed intentionally, pick a marketplace that hosts the plugin."],"exampleFix":"// before\n$ dcode plugin install widget@internal\nMarketplaceError: Marketplace 'internal' is not configured\n// after\n$ dcode plugin marketplace add ~/markets/internal\n$ dcode plugin install widget@internal","handlingStrategy":"validation","validationCode":"from deepagents_code.plugins.discovery import load_marketplace_records\n\ndef ensure_marketplace_configured(marketplace_name: str) -> None:\n    if marketplace_name not in load_marketplace_records():\n        raise SystemExit(f\"marketplace {marketplace_name!r} not configured; add it first\")","typeGuard":"def marketplace_is_configured(name: str, records: dict) -> bool:\n    return name in records","tryCatchPattern":"try:\n    install_plugin(\"widget@internal\")\nexcept MarketplaceError as exc:\n    if \"is not configured\" in str(exc):\n        print(\"run: dcode plugin marketplace add <source> then retry\")\n    else:\n        raise","preventionTips":["Run `plugin marketplace add` before installing from a new marketplace.","Confirm names with `plugin marketplace list`.","Beware ids copied from another machine with different configured marketplaces.","Check for typos in the marketplace segment.","Re-add marketplaces after removing or moving their sources."],"tags":["marketplace","configuration"],"backgroundTag":"marketplace-not-configured","analyzedSha":"a1af029e6e73cb17c36bff823d227747b28e91e1","analyzedAt":"2026-08-29T11:43:24.718Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}