# Tool Chaining Inside create\_react\_agent in LangGraph

**URL:** <https://forum.langchain.com/t/tool-chaining-inside-create-react-agent-in-langgraph/762>\
**Category:** LangGraph\
**Tags:** intro-to-langgraph, python-help\
**Created:** [July 28, 2025, 9:49am UTC](https://forum.langchain.com/t/tool-chaining-inside-create-react-agent-in-langgraph/762 "2025-07-28T09:49:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Najiya](https://avatars.discourse-cdn.com/v4/letter/n/d07c76/32.png) [@Najiya](https://forum.langchain.com/u/Najiya)\
**Post date:** [July 28, 2025, 9:49am UTC](https://forum.langchain.com/t/tool-chaining-inside-create-react-agent-in-langgraph/762/1 "2025-07-28T09:49:10Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![AbdulBasit](https://yyz1.discourse-cdn.com/flex007/user_avatar/forum.langchain.com/abdulbasit/32/72_2.png) [@AbdulBasit](https://forum.langchain.com/u/AbdulBasit)\
**Post date:** [July 28, 2025, 2:11pm UTC](https://forum.langchain.com/t/tool-chaining-inside-create-react-agent-in-langgraph/762/2 "2025-07-28T14:11:12Z")

</div>

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**

```auto
@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
