Tool Chaining Inside create_react_agent in LangGraph

Is there any built-in functionality in LangGraph that allows mapping or chaining tools within an agent? For example, I’d like to ensure that a specific tool is automatically called immediately after another tool is executed inside a create_react_agent flow.

LangGraph’s create_react_agent doesn’t have built-in tool chaining functionality, it follows the standard ReAct pattern where the LLM decides which tools to call. However, you can implement tool chaining in a few ways:

Option 1: Composite tool

@tool
def chained_tool(input: str) -> str:
    """Automatically chains tool A and B"""
    result_a = tool_a.invoke(input)
    result_b = tool_b.invoke(result_a)
    return result_b

Option 2: Custom agent with conditional edges Create a custom StateGraph instead of create_react_agent where you can define explicit tool-to-tool transitions using conditional edges.

Option 3: Tool that calls other tools Design your primary tool to automatically invoke secondary tools based on its logic, returning the combined results to the agent.

The ReAct pattern is inherently LLM-driven, so automatic chaining goes against its design. Consider if you actually need the flexibility of ReAct or if a more structured workflow would better suit your use case