diff --git a/libs/core/langchain_core/runnables/base.py b/libs/core/langchain_core/runnables/base.py index 9f9a77bc705..cb11cfbd900 100644 --- a/libs/core/langchain_core/runnables/base.py +++ b/libs/core/langchain_core/runnables/base.py @@ -3593,6 +3593,12 @@ class RunnableParallel(RunnableSerializable[Input, dict[str, Any]]): == "object" for s in self.steps__.values() ): + for step in self.steps__.values(): + for k, v in step.get_input_schema(config).model_fields.items(): + if v.annotation != Any and k == "root": + return super().get_input_schema(config) + + # This is correct, but pydantic typings/mypy don't think so. return create_model_v2( # type: ignore[call-overload] self.get_name("Input"),