# Error child workflow already started

**URL:** <https://community.temporal.io/t/error-child-workflow-already-started/8310>\
**Category:** Community Support\
**Tags:** go-sdk\
**Created:** [May 22, 2023, 1:50pm UTC](https://community.temporal.io/t/error-child-workflow-already-started/8310 "2023-05-22T13:50:09Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jonsve](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/jonsve/32/1626_2.png) [@jonsve](https://community.temporal.io/u/jonsve)\
**Post date:** [May 22, 2023, 1:50pm UTC](https://community.temporal.io/t/error-child-workflow-already-started/8310/1 "2023-05-22T13:50:09Z")

</div>

Got this error, never seen it before:

![bild](https://us1.discourse-cdn.com/flex016/uploads/temporal/original/2X/6/67df3b610039f9cf74c816784cfd2bbe86e21d8f.png)

Seems to have orignated here:

 ![bild](https://us1.discourse-cdn.com/flex016/uploads/temporal/original/2X/a/adf3a43076e086619bf9f5e1655db275d850b16b.png)  
Basically we generate a unique workflow ID for a device, and run this workflow. Can all ExecuteWorkflow return this error ? If so, do we solve it using this helper  
 ![bild](https://us1.discourse-cdn.com/flex016/uploads/temporal/original/2X/f/f02c78b6cb41b21cff6d7e069b28ca416546acdb.png)  
?

---

<div class="post-metadata">

**Author:** ![jonsve](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/jonsve/32/1626_2.png) [@jonsve](https://community.temporal.io/u/jonsve)\
**Post date:** [May 22, 2023, 1:58pm UTC](https://community.temporal.io/t/error-child-workflow-already-started/8310/2 "2023-05-22T13:58:44Z")

</div>

would be better for us if it just ran again

---

<div class="post-metadata">

**Author:** ![maxim](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/maxim/32/8_2.png) [@maxim](https://community.temporal.io/u/maxim)\
**Post date:** [May 22, 2023, 3:53pm UTC](https://community.temporal.io/t/error-child-workflow-already-started/8310/3 "2023-05-22T15:53:57Z")

</div>

This means that a child workflow with that ID was started already. Did you check that?

---

<div class="post-metadata">

**Author:** ![jonsve](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/jonsve/32/1626_2.png) [@jonsve](https://community.temporal.io/u/jonsve)\
**Post date:** [May 22, 2023, 5:49pm UTC](https://community.temporal.io/t/error-child-workflow-already-started/8310/4 "2023-05-22T17:49:02Z")

</div>

Yes it was already started and finished (1-2 month ago we ran it manually, as a regular workflow).

 ![bild](https://us1.discourse-cdn.com/flex016/uploads/temporal/original/2X/4/4e9a9f4f157a9ed69b36ae7aaa88c371703f90ff.png)

I was not aware that it was considered an error that the workflow had already ran. I thought it would just run again but with another runID ?

---

<div class="post-metadata">

**Author:** ![maxim](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/maxim/32/8_2.png) [@maxim](https://community.temporal.io/u/maxim)\
**Post date:** [May 22, 2023, 5:51pm UTC](https://community.temporal.io/t/error-child-workflow-already-started/8310/5 "2023-05-22T17:51:20Z")

</div>

It depends on the [WorkflowIdReusePolicy](https://github.com/temporalio/sdk-java/blob/ae5fb81293a62f2d9c83f53d57fb1ab683713da1/temporal-sdk/src/main/java/io/temporal/workflow/ChildWorkflowOptions.java#L151). But this only applies if a workflow is closed. There is no way to run two parallel workflows with the same WorkflowId. Don’t assign a child workflow id or ignore the “AlreadyStarted” exception in the parent.

---

<div class="post-metadata">

**Author:** ![jonsve](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/jonsve/32/1626_2.png) [@jonsve](https://community.temporal.io/u/jonsve)\
**Post date:** [May 22, 2023, 5:56pm UTC](https://community.temporal.io/t/error-child-workflow-already-started/8310/6 "2023-05-22T17:56:48Z")

</div>

ofc yes, I see that the workflow was running when it got this error, so it makes sense now, need to figure out why it was running for so long, but anyway, no issue with temporal just our logic.
