Great question — answering as the UphillTech team:
You're not missing a graph pattern, you're running into LangGraph's superstep model directly. Everything reachable from START in one step is barrier synchronized before the next step runs, so assign_city can't start until every node in that step finishes, even after set_random_number has already made get_city_preference 's result irrelevant. Two ways around it that stay correct rather than racy: Don't put get_city_preference on the unconditional path. Compute random_number first, then use a conditional edge (or Send ) to only dispatch get_city_preference when random_number > 50 . That collapses your two branch fan-out into a single conditional hop for the case where you don't need it. No...
Full answer by Druhin Bala: https://stackoverflow.stackexchange.com/a/80000271 (CC BY-SA 4.0).
Need it done for your business? UphillTech.