# Graph execution goes back to a previous node

**URL:** <https://forum.langchain.com/t/graph-execution-goes-back-to-a-previous-node/1701>\
**Category:** LangGraph\
**Tags:** python-help\
**Created:** [October 1, 2025, 10:38am UTC](https://forum.langchain.com/t/graph-execution-goes-back-to-a-previous-node/1701 "2025-10-01T10:38:42Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ignacio](https://yyz1.discourse-cdn.com/flex007/user_avatar/forum.langchain.com/ignacio/32/1153_2.png) [@ignacio](https://forum.langchain.com/u/ignacio)\
**Post date:** [October 1, 2025, 10:38am UTC](https://forum.langchain.com/t/graph-execution-goes-back-to-a-previous-node/1701/1 "2025-10-01T10:38:42Z")

</div>

I’m running a graph with the architecture below, by which it should only execute the node `get_product_id` until a `tool_condition` calls it out of the React flow, and then it should go on with route\_decision.

But I’m getting an error:

_InvalidUpdateError("At key ‘route’: Can receive only one value per step. Use an Annotated key to handle multiple values.\nFor troubleshooting, visit:_ [INVALID\_CONCURRENT\_GRAPH\_UPDATE](https://python.langchain.com/docs/troubleshooting/errors/INVALID_CONCURRENT_GRAPH_UPDATE) _")Traceback (most recent call last):_

When I look at the tracing (copied also below) I see that the `get_product_id` node gets executed again, later, causing the key issue (that’s my guess…). Any ideas what might be happening?

I’m using a custom state that inherits from MessageState and adds other keys.

 ![image](https://canada1.discourse-cdn.com/flex007/uploads/langchain/original/2X/5/57b0e6ba288ae28c0e93dfd9592eeae0e93629cf.png)

---

<div class="post-metadata">

**Author:** ![pawel-twardziak](https://yyz1.discourse-cdn.com/flex007/user_avatar/forum.langchain.com/pawel-twardziak/32/960_2.png) [@pawel-twardziak](https://forum.langchain.com/u/pawel-twardziak)\
**Post date:** [October 1, 2025, 12:24pm UTC](https://forum.langchain.com/t/graph-execution-goes-back-to-a-previous-node/1701/2 "2025-10-01T12:24:07Z")

</div>

Hi @ignacio

could you share some more code? I have an idea why this might happen, but I need more details about how you have coded your agent.

---

<div class="post-metadata">

**Author:** ![ignacio](https://yyz1.discourse-cdn.com/flex007/user_avatar/forum.langchain.com/ignacio/32/1153_2.png) [@ignacio](https://forum.langchain.com/u/ignacio)\
**Post date:** [October 1, 2025, 8:20pm UTC](https://forum.langchain.com/t/graph-execution-goes-back-to-a-previous-node/1701/3 "2025-10-01T20:20:54Z")

</div>

Solved! There was a double edge going from get\_product\_id to route\_deceision, the conditional and a fixed one. I removed the fixed edge and now it works.

---

<div class="post-metadata">

**Author:** ![pawel-twardziak](https://yyz1.discourse-cdn.com/flex007/user_avatar/forum.langchain.com/pawel-twardziak/32/960_2.png) [@pawel-twardziak](https://forum.langchain.com/u/pawel-twardziak)\
**Post date:** [October 1, 2025, 8:24pm UTC](https://forum.langchain.com/t/graph-execution-goes-back-to-a-previous-node/1701/4 "2025-10-01T20:24:40Z")

</div>

That was something in my head too 🙂  
Great you have fixed that - good job! 🙂
