{"record":{"id":"d18602e2b9aac4ed","repo":"langchain-ai/deepagents","slug":"provider-package-package-is-installed-but-fail","errorCode":null,"errorMessage":"Provider package '{package}' is installed but failed to import for provider '{provider}': {e}","messagePattern":"Provider package '(.+?)' is installed but failed to import for provider '(.+?)': (.+?)","errorType":"exception","errorClass":"ModelConfigError","httpStatus":null,"severity":"error","filePath":"libs/code/deepagents_code/config.py","lineNumber":5500,"sourceCode":"            hint = resolve_install_hint(package)\n            if hint.extra is not None:\n                msg = (\n                    f\"Missing package for provider '{provider}'. \"\n                    f\"Install: /install {hint.extra}\"\n                )\n            else:\n                if hint.command is not None:\n                    install_hint = f\"Install with: {hint.command}\"\n                else:\n                    install_hint = f\"Install the '{package}' package manually\"\n                msg = (\n                    f\"Missing package for provider '{provider}'. \"\n                    f\"{install_hint}, then retry with `/model`.\"\n                )\n            raise MissingProviderPackageError(\n                msg, provider=provider, package=package\n            ) from e\n        raise ModelConfigError(msg) from e\n    except (ValueError, TypeError) as e:\n        if not provider:\n            # Both app auto-detection and `init_chat_model`'s own inference\n            # failed; surface a structured error so the UI can render the\n            # docs URL as a clickable link.\n            raise UnknownProviderError(model_spec=model_name) from e\n        spec = f\"{provider}:{model_name}\"\n        msg = f\"Invalid model configuration for '{spec}': {e}\"\n        raise ModelConfigError(msg) from e\n    except Exception as e:  # provider SDK auth/network errors\n        spec = f\"{provider}:{model_name}\" if provider else model_name\n        msg = f\"Failed to initialize model '{spec}': {e}\"\n        raise ModelConfigError(msg) from e\n\n\n@dataclass(frozen=True)\nclass ModelResult:\n    \"\"\"Result of creating a chat model, bundling the model with its metadata.","sourceCodeStart":5482,"sourceCodeEnd":5518,"githubUrl":"https://github.com/langchain-ai/deepagents/blob/a1af029e6e73cb17c36bff823d227747b28e91e1/libs/code/deepagents_code/config.py#L5482-L5518","documentation":"Raised as `ModelConfigError` when the provider's LangChain package IS installed (confirmed via `find_spec`) but an ImportError still escaped from `init_chat_model` — meaning an internal import inside the package failed (broken or incompatible dependency). The library deliberately surfaces the real error instead of the misleading 'missing package' hint.","triggerScenarios":"`init_chat_model` raises ImportError for a provider, but `importlib.util.find_spec(package.replace('-', '_'))` is not None, so the code takes the 'installed but failed to import' branch in `_create_model_via_init` (config.py:5460-5478, raise at 5500).","commonSituations":"Partially installed or corrupted package; version conflict between `langchain-<provider>` and `langchain-core` after a partial upgrade; a broken transitive dependency; leftover files from a failed uninstall.","solutions":["Read the chained ImportError to identify the failing internal import","Reinstall the package: `pip install --force-reinstall langchain-<provider>`","Align versions (e.g. `pip install -U langchain-core langchain-<provider>`) so the integration matches the installed core"],"exampleFix":"// before\nModelConfigError: Provider package 'langchain-anthropic' is installed but failed to import...: No module named 'anthropic._client'\n\n// after\n$ pip install --force-reinstall --upgrade langchain-anthropic anthropic\n$ dcode -m anthropic:claude-opus-5","handlingStrategy":"try-catch","validationCode":"import importlib\n\ndef package_imports_cleanly(package: str) -> bool:\n    module_name = package.replace(\"-\", \"_\")\n    try:\n        importlib.import_module(module_name)\n        return True\n    except ImportError:\n        return False","typeGuard":null,"tryCatchPattern":"from deepagents_code.model_config import ModelConfigError\ntry:\n    model = create_model(spec)\nexcept ModelConfigError as e:\n    if \"installed but failed to import\" in str(e):\n        logger.error(\"Broken provider install: %s\", e.__cause__)\n        raise SystemExit(\"Run: pip install --force-reinstall -U \" + pkg)\n    raise","preventionTips":["Keep langchain-core and langchain-<provider> versions aligned; upgrade together","Use a lock file so partial upgrades cannot corrupt the environment","Run a smoke `import langchain_<provider>` check at image-build time"],"tags":["dependency","import","langchain","corruption"],"backgroundTag":"broken-package-import","analyzedSha":"a1af029e6e73cb17c36bff823d227747b28e91e1","analyzedAt":"2026-08-29T11:43:24.718Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}