{"record":{"id":"14b54541dd1a9768","repo":"langchain-ai/langgraph","slug":"label-capitalize-must-be-a-file-resolved","errorCode":null,"errorMessage":"{label.capitalize()} must be a file: {resolved}","messagePattern":"(.+?) must be a file: (.+?)","errorType":"exception","errorClass":"IsADirectoryError","httpStatus":null,"severity":"error","filePath":"libs/cli/langgraph_cli/uv_lock.py","lineNumber":759,"sourceCode":"    import_str: str,\n    plan: UvLockPlan,\n    *,\n    label: str,\n) -> str:\n    module_str, _, attr_str = import_str.partition(\":\")\n    if not module_str or not attr_str:\n        raise ValueError(\n            f'Import string \"{import_str}\" must be in format \"<module>:<attribute>\".'\n        )\n\n    if \"/\" not in module_str and \"\\\\\" not in module_str:\n        return import_str\n\n    resolved = (config_path.parent / module_str).resolve()\n    if not resolved.exists():\n        raise FileNotFoundError(f\"Could not find {label}: {resolved}\")\n    if not resolved.is_file():\n        raise IsADirectoryError(f\"{label.capitalize()} must be a file: {resolved}\")\n\n    container_path = _resolve_uv_lock_container_path(resolved, plan)\n    if container_path is None:\n        copied_dirs = \", \".join(\n            package.root.relative_to(plan.project_root).as_posix() or \".\"\n            for package in plan.install_order\n        )\n        raise click.UsageError(\n            f\"{label.capitalize()} '{import_str}' resolves to {resolved}, which is \"\n            f\"not inside the target package '{plan.target.name}' or any of its \"\n            f\"workspace dependencies. Only these directories are copied into the \"\n            f\"container: {copied_dirs}. If this file lives in another workspace \"\n            f\"package, add it as a dependency of '{plan.target.name}' with \"\n            \"`{ workspace = true }` in [tool.uv.sources].\"\n        )\n\n    return f\"{container_path.as_posix()}:{attr_str}\"\n","sourceCodeStart":741,"sourceCodeEnd":777,"githubUrl":"https://github.com/langchain-ai/langgraph/blob/38031739e551638e373fb553453256c23feeb41f/libs/cli/langgraph_cli/uv_lock.py#L741-L777","documentation":"Error \"{label.capitalize()} must be a file: {resolved}\" thrown in langchain-ai/langgraph.","triggerScenarios":"Thrown at libs/cli/langgraph_cli/uv_lock.py:759 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"38031739e551638e373fb553453256c23feeb41f","analyzedAt":"2026-08-26T18:02:49.312Z","schemaVersion":2},"datasetVersion":"2026-08-26T21:11:00.512Z"}