{"record":{"id":"533d1c999508b27d","repo":"langchain-ai/langgraph","slug":"tool-name-invocation-failed-validation-args","errorCode":null,"errorMessage":"Tool {name} invocation failed validation: {args}","messagePattern":"Tool (.+?) invocation failed validation: (.+?)","errorType":"exception","errorClass":"ToolInvocationError","httpStatus":null,"severity":"error","filePath":"libs/prebuilt/langgraph/prebuilt/tool_node.py","lineNumber":964,"sourceCode":"            if invalid_tool_message := self._validate_tool_call(call):\n                return invalid_tool_message\n            # This should never happen if validation works correctly\n            msg = f\"Tool {call['name']} is not registered with ToolNode\"\n            raise TypeError(msg)\n\n        # Inject state, store, and runtime right before invocation\n        injected_call = self._inject_tool_args(call, request.runtime, tool)\n        call_args = {**injected_call, \"type\": \"tool_call\"}\n\n        try:\n            try:\n                response = tool.invoke(call_args, config)\n            except ValidationError as exc:\n                # Filter out errors for injected arguments\n                injected = self._injected_args.get(call[\"name\"])\n                filtered_errors = _filter_validation_errors(exc, injected)\n                # Use original call[\"args\"] without injected values for error reporting\n                raise ToolInvocationError(\n                    call[\"name\"], exc, call[\"args\"], filtered_errors\n                ) from exc\n\n            # Inside try so validation errors route through _handle_tool_errors\n            return self._normalize_tool_response(\n                response, request.tool_call, input_type\n            )\n\n        # GraphInterrupt is a special exception that will always be raised.\n        # It can be triggered in the following scenarios,\n        # Where GraphInterrupt(GraphBubbleUp) is raised from an `interrupt` invocation\n        # most commonly:\n        # (1) a GraphInterrupt is raised inside a tool\n        # (2) a GraphInterrupt is raised inside a graph node for a graph called as a tool\n        # (3) a GraphInterrupt is raised when a subgraph is interrupted inside a graph\n        #     called as a tool\n        # (2 and 3 can happen in a \"supervisor w/ tools\" multi-agent architecture)\n        except GraphBubbleUp:","sourceCodeStart":946,"sourceCodeEnd":982,"githubUrl":"https://github.com/langchain-ai/langgraph/blob/38031739e551638e373fb553453256c23feeb41f/libs/prebuilt/langgraph/prebuilt/tool_node.py#L946-L982","documentation":"Error \"Tool {name} invocation failed validation: {args}\" thrown in langchain-ai/langgraph.","triggerScenarios":"Thrown at libs/prebuilt/langgraph/prebuilt/tool_node.py:964 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"}