SharePoint Workflow Error: This task is currently locked by a running workflow and cannot be edited

Many times you were developing a Visual Studio workflow for SharePoint. You simply create a task using the "CreateTask" activity. After a while, you need to update the task and you do not have a valid correlation token to use the "UpdateTask" activity, for example, because you are creating a task inside a replicator (I will blog about this later). for example, inside your workflow you write...

SPListItem item = workflowProperties.TaskList.Items.GetItemById(id)
item["Status"] = "Completed";

The last line will give you error "This task is currently locked by a running workflow and cannot be edited", a possible work around for this issue, is to ensure that the workflow version number of the task is 1 before you update. Your code should look like the following...

SPListItem item = workflowProperties.TaskList.Items.GetItemById(id)
item["Status"] = "Completed";
item[SPBuiltInFieldId.WorkflowVersion] = 1;

Happy Coding:)

Comments (6)

  1. Anonymous says:

    I don't think you realize how useful this was!!! Thank you!

  2. Jagadeeshwar M says:

    nice post ahmed. Thanks a lot.. it works very well..

    keep up the good work.

  3. Matt M says:

    Thanks! This saved me a lot of time.

  4. MegaMan says:

    I hope this saves my head! 😀

  5. lloyd says:

    Warning: this workaround causes OnTaskChanged activities NOT to be triggered…

  6. KENT says:

    I still had to muck with Extended Properties to get my task 'unstuck', but this saved my bacon. Thanks.

Skip to main content