{"record":{"id":"3ef26170cfa893ff","repo":"langchain-ai/langgraph","slug":"unsupported-schema-type-type-schema-expected","errorCode":null,"errorMessage":"Unsupported schema type: {type(schema)}. Expected BaseModel or BaseModelV1.","messagePattern":"Unsupported schema type: (.+?)\\. Expected BaseModel or BaseModelV1\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"libs/prebuilt/langgraph/prebuilt/tool_validator.py","lineNumber":200,"sourceCode":"        return output_type, message\n\n    def _func(\n        self, input: list[AnyMessage] | dict[str, Any], config: RunnableConfig\n    ) -> Any:\n        \"\"\"Validate and run tool calls synchronously.\"\"\"\n        output_type, message = self._get_message(input)\n\n        def run_one(call: ToolCall) -> ToolMessage:\n            schema = self.schemas_by_name[call[\"name\"]]\n            try:\n                if issubclass(schema, BaseModel):\n                    output = schema.model_validate(call[\"args\"])\n                    content = output.model_dump_json()\n                elif issubclass(schema, BaseModelV1):\n                    output = schema.validate(call[\"args\"])\n                    content = output.json()\n                else:\n                    raise ValueError(\n                        f\"Unsupported schema type: {type(schema)}. Expected BaseModel or BaseModelV1.\"\n                    )\n                return ToolMessage(\n                    content=content,\n                    name=call[\"name\"],\n                    tool_call_id=cast(str, call[\"id\"]),\n                )\n            except (ValidationError, ValidationErrorV1) as e:\n                return ToolMessage(\n                    content=self._format_error(e, call, schema),\n                    name=call[\"name\"],\n                    tool_call_id=cast(str, call[\"id\"]),\n                    additional_kwargs={\"is_error\": True},\n                )\n\n        with get_executor_for_config(config) as executor:\n            outputs = [*executor.map(run_one, message.tool_calls)]\n            if output_type == \"list\":","sourceCodeStart":182,"sourceCodeEnd":218,"githubUrl":"https://github.com/langchain-ai/langgraph/blob/38031739e551638e373fb553453256c23feeb41f/libs/prebuilt/langgraph/prebuilt/tool_validator.py#L182-L218","documentation":"Error \"Unsupported schema type: {type(schema)}. Expected BaseModel or BaseModelV1.\" thrown in langchain-ai/langgraph.","triggerScenarios":"Thrown at libs/prebuilt/langgraph/prebuilt/tool_validator.py:200 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"}