# Even after conditional edge, child nodes are called in parallel

**URL:** <https://forum.langchain.com/t/even-after-conditional-edge-child-nodes-are-called-in-parallel/1051>\
**Category:** LangGraph\
**Tags:** python-help\
**Created:** [August 10, 2025, 10:53am UTC](https://forum.langchain.com/t/even-after-conditional-edge-child-nodes-are-called-in-parallel/1051 "2025-08-10T10:53:24Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![tojainesh](https://yyz1.discourse-cdn.com/flex007/user_avatar/forum.langchain.com/tojainesh/32/530_2.png) [@tojainesh](https://forum.langchain.com/u/tojainesh)\
**Post date:** [August 10, 2025, 10:53am UTC](https://forum.langchain.com/t/even-after-conditional-edge-child-nodes-are-called-in-parallel/1051/1 "2025-08-10T10:53:24Z")

</div>

Hello Everyone,

I am very new to Langgraph. I am trying to run a program but I am nnot getting the expected result.

Here is my graph and the code

 ![Screenshot 2025-08-10 at 6.44.16 AM](https://canada1.discourse-cdn.com/flex007/uploads/langchain/original/1X/a89cf77d6b98bcb522311ef48bab4174757efff2.png)

```auto
graph = StateGraph(Person)
graph.add_node("node_1", node_1)
graph.add_node("node_2", node_2)
graph.add_node("node_3", node_3)
graph.add_node("node_4", node_4)
graph.add_node("node_5", node_5)
graph.add_node("node_6", node_6)

graph.add_edge(START,"node_1")
graph.add_conditional_edges("node_1", condition_node1)
graph.add_edge("node_2",END)
graph.add_edge("node_3", "node_4")
graph.add_edge("node_3", "node_5")
graph.add_edge("node_3", "node_6")
graph.add_conditional_edges("node_3", condition_node3)
graph.add_edge("node_4",END)
graph.add_edge("node_5", END)
graph.add_edge("node_6", END)

compiled_graph = graph.compile()
print(compiled_graph.get_graph().draw_mermaid())

result = compiled_graph.invoke({"name":"Hi I am Burhan", "age":5, "city":"LON", "gametype":"men"})

```

Based on the below output, it looks like node4, node5 and node6 all are executed in parallel although based on the condition only node4 should be executed. Below are the print statements from each of the python functions.

**Output**

node\_1  
node\_3  
node4  
node5  
node\_6

Looking forward to guidance.

Thanks,

Jainesh

---

<div class="post-metadata">

**Author:** ![bKluss](https://yyz1.discourse-cdn.com/flex007/user_avatar/forum.langchain.com/bkluss/32/1251_2.png) [@bKluss](https://forum.langchain.com/u/bKluss)\
**Post date:** [October 14, 2025, 12:32pm UTC](https://forum.langchain.com/t/even-after-conditional-edge-child-nodes-are-called-in-parallel/1051/2 "2025-10-14T12:32:56Z")

</div>

Hey Jainesh,

the problem is in the following lines:

> ```auto
> graph.add_edge("node_3", "node_4")
> graph.add_edge("node_3", "node_5")
> graph.add_edge("node_3", "node_6")
> graph.add_conditional_edges("node_3", condition_node3)
> graph.add_edge("node_4",END)
> graph.add_edge("node_5", END)
> graph.add_edge("node_6", END)
> 
> ```

After node\_3 you always enter node\_4, node\_5 and node\_6 in parallel as they are all connected via an edge to node\_3. Afterwards, you have an extra conditional edge to all 3 nodes, which explains the decision of node 4. If you delete the first quoted 3 lines you should get your desired results.

Best regards.
