{"record":{"id":"ac65fc0bef3203c6","repo":"langchain-ai/deepagents","slug":"unknown-sandbox-provider-name","errorCode":null,"errorMessage":"Unknown sandbox provider: {name}","messagePattern":"Unknown sandbox provider: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"libs/code/deepagents_code/integrations/sandbox_registry.py","lineNumber":330,"sourceCode":"            ValueError: If `name` is unknown.\n        \"\"\"\n        if name in self._config.providers or (\n            name in BUILTIN_METADATA and name not in self._entry_points\n        ):\n            meta = self.get_metadata(name)\n            if meta is not None:\n                return meta\n        if name in self._entry_points:\n            try:\n                provider = self.create_provider(name)\n            except Exception:  # noqa: BLE001  # Metadata probe must not crash discovery\n                logger.debug(\"Could not instantiate provider %r for metadata\", name)\n                return SandboxProviderMetadata(name=name, working_dir=\"/workspace\")\n            return _provider_metadata(provider, name)\n        meta = self.get_metadata(name)\n        if meta is None:\n            msg = f\"Unknown sandbox provider: {name}\"\n            raise ValueError(msg)\n        return meta\n\n\ndef _create_builtin_provider(name: str) -> SandboxProvider:\n    \"\"\"Instantiate a built-in provider class (lazy import avoids cycles).\n\n    Returns:\n        The built-in `SandboxProvider` instance for `name`.\n    \"\"\"\n    from deepagents_code.integrations import sandbox_factory\n\n    builders = {\n        \"agentcore\": sandbox_factory._AgentCoreProvider,\n        \"daytona\": sandbox_factory._DaytonaProvider,\n        \"langsmith\": sandbox_factory._LangSmithProvider,\n        \"modal\": sandbox_factory._ModalProvider,\n        \"runloop\": sandbox_factory._RunloopProvider,\n        \"vercel\": sandbox_factory._VercelProvider,","sourceCodeStart":312,"sourceCodeEnd":348,"githubUrl":"https://github.com/langchain-ai/deepagents/blob/a1af029e6e73cb17c36bff823d227747b28e91e1/libs/code/deepagents_code/integrations/sandbox_registry.py#L312-L348","documentation":"`SandboxRegistry.provider_metadata` raises `ValueError` when no sandbox provider with the requested name is registered. The registry first tries to instantiate the provider (falling back to default metadata if instantiation fails), but if `get_metadata(name)` returns `None` the name is simply not a known provider, so the lookup fails fast.","triggerScenarios":"Calling `provider_metadata(name)` (directly or via `get_metadata`) with a name that is not a built-in provider and not registered via an entry point — e.g. a typo like `provider_metadata('local-sandbox')` instead of `'local'`, or a plugin provider whose entry point group is missing from the installed distribution.","commonSituations":"Typos in `--sandbox <name>` values or config; a third-party sandbox plugin not installed in the current environment (wrong venv); an entry-point package installed under an old version that no longer declares the provider.","solutions":["Check the exact provider name with the registry's list of known providers (e.g. iterate `get_metadata` over registered names or run the CLI's sandbox listing) and correct the spelling","Install the package that declares the provider via its entry point (`pip install <provider-plugin>`) into the active environment","If implementing a custom provider, verify the entry point is declared in pyproject/packaging metadata under the correct group and reinstall so metadata is regenerated"],"exampleFix":"// before\nmeta = registry.provider_metadata(\"local-sandbox\")\n// after\nif registry.get_metadata(\"local-sandbox\") is None:\n    name = \"local\"  # corrected provider name\nmeta = registry.provider_metadata(name)","handlingStrategy":"validation","validationCode":"from deepagents_code.integrations.sandbox_registry import sandbox_registry\n\ndef provider_exists(name: str) -> bool:\n    return sandbox_registry.get_metadata(name) is not None\n\nif not provider_exists(\"local\"):\n    raise SystemExit(f\"sandbox provider {name!r} not installed\")","typeGuard":"def is_known_provider(name: str) -> bool:\n    return isinstance(name, str) and sandbox_registry.get_metadata(name) is not None","tryCatchPattern":"try:\n    meta = registry.provider_metadata(name)\nexcept ValueError as exc:\n    logger.error(\"unknown sandbox provider %r: %s\", name, exc)\n    available = registry.available_providers()  # or equivalent listing\n    raise SystemExit(f\"choose one of: {', '.join(available)}\")","preventionTips":["Validate the --sandbox value against the registry before the run starts","Keep sandbox plugin packages installed in the same venv as deepagents-code","Autocomplete/enum-restrict sandbox names in wrapper scripts"],"tags":["configuration","sandbox","unknown-provider"],"backgroundTag":"unknown-provider-name","analyzedSha":"a1af029e6e73cb17c36bff823d227747b28e91e1","analyzedAt":"2026-08-29T11:43:24.718Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}