Sub-workflow with active Wait Node suddenly treated as Completed

I have a workflow that was running to satisfaction for weeks now. It invoked a sub-workflow that has a timed loop that polls every 10 minutes whether the result of an asynchronous API call was completed.

But suddenly, with no change made to either the main or the sub workflow, the behaviour changed. Now when the sub-workflow is executing the Wait node, it enters a “waiting” status. Then at the main workflow level, that is treated as if the sub-workflow is completed. This makes the whole workflow fail because it depends on the sub-workflow to actually be completed.

I tried making sure that “Wait For Sub-Workflow Completion” option in the sub-workflow node is on (even though initially everything worked without having activated that option), but it does not do the trick; waiting is now apparently just considered “Completed”.

This behavior is not logical to me, but the weirdest part is that it worked perfectly up until a few days ago and now suddenly started behaving this way without making any change.

Does anyone know what is going on and how to fix this?

I’m selfhosting and running Version 1.103.2.

Hello @Miguel_Quinto,

hitting a Wait node within a sub-workflow can prematurely signal success to the parent, even though the sub-workflow hasn’t truly finished.

I think the issue is rooted in n8n’s design: a sub-workflow that enters a Wait node is treated as “complete” by the parent. To work around this, move the waiting logic to the parent or refactor how you track async completion.

You can try to use an external scheduler or repeat pattern (e.g., Cron, Delay) in the main workflow instead.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.