# Update WorkflowID in workflow.ChildWorkflowOptions{..}

**URL:** <https://community.temporal.io/t/update-workflowid-in-workflow-childworkflowoptions/12281>\
**Category:** Community Support\
**Tags:** go-sdk, child-workflow, versioning, workflow-options\
**Created:** [May 29, 2024, 9:26pm UTC](https://community.temporal.io/t/update-workflowid-in-workflow-childworkflowoptions/12281 "2024-05-29T21:26:57Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![pateljay134](https://avatars.discourse-cdn.com/v4/letter/p/aeb1de/32.png) [@pateljay134](https://community.temporal.io/u/pateljay134)\
**Post date:** [May 29, 2024, 9:26pm UTC](https://community.temporal.io/t/update-workflowid-in-workflow-childworkflowoptions/12281/1 "2024-05-29T21:26:57Z")

</div>

I am working on a temporal workflow with a few child workflows. I want to update WorkflowID of one of the child workflows while workflows are running.

```auto
func (w Workflow) ParentWorkflow(ctx workflow.Context, parentWorkflowRequest models.ParentWorkflowRequest) error {
...
cwo := workflow.ChildWorkflowOptions{
		WorkflowTaskTimeout: time.Minute,
	}
childctx := workflow.WithChildOptions(ctx, cwo)
	err = workflow.ExecuteChildWorkflow(childctx, w.ChildWorkflow, childWorkflowRequest).Get(childctx, nil)
	if err != nil {
		return err
	}

```

I want change ChildWorkflowOptions from

```auto
cwo := workflow.ChildWorkflowOptions{
		WorkflowTaskTimeout: time.Minute,
	}

```

to

```auto
cwo := workflow.ChildWorkflowOptions{
		WorkflowTaskTimeout: time.Minute,
		WorkflowID: GetChildWorkflowID("hostname"),
	}

```

I see after changes, workflow fails with following error:

```auto
A non-deterministic error has caused the Workflow Task to fail. This usually means the workflow code has a non-backward compatible change without a proper versioning branch.

```

Can we handle this change with [versoning](https://docs.temporal.io/dev-guide/go/versioning)? I do not see a guide or example for workflow option updates that could be supported with versioning.

---

<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 30, 2024, 5:47am UTC](https://community.temporal.io/t/update-workflowid-in-workflow-childworkflowoptions/12281/2 "2024-05-30T05:47:21Z")

</div>

```auto
v := workflow.GetVersion(ctx, "options", workflow.DefaultVersion, 1)
if v == workflow.DefaultVersion {
        cwo = workflow.ChildWorkflowOptions{
		WorkflowTaskTimeout: time.Minute,
	}
} else {
       cwo = workflow.ChildWorkflowOptions{
		WorkflowTaskTimeout: time.Minute,
		WorkflowID: GetChildWorkflowID("hostname"),
	}
}

```

---

<div class="post-metadata">

**Author:** ![pateljay134](https://avatars.discourse-cdn.com/v4/letter/p/aeb1de/32.png) [@pateljay134](https://community.temporal.io/u/pateljay134)\
**Post date:** [May 30, 2024, 4:44pm UTC](https://community.temporal.io/t/update-workflowid-in-workflow-childworkflowoptions/12281/3 "2024-05-30T16:44:15Z")

</div>

Thank you. Will try this out.
