I love Omnifocus.... but task dependencies

Hi all!

So I love Omnifocus and it generally is absolutely perfect. However, a lot of my work involves tasks that are constantly waiting for something else to be done. I would love to defer my tasks until a certain one is finished. Then I could stop guessing on defer dates, and changing them repeatedly.

I generally use a “waiting” tag in Omnifocus, but actual, built-in task dependencies would be amazing. Are there any good task managers that are similar to Omnifocus but include task dependencies?

That’s what sequential projects are for. The next task won’t be available until you check off the waiting task.


The only one I’ve ever liked that did task dependencies across projects was MyLifeOrganized on Windows. However, it’s lacking a lot of things that make OF effective for me. I’m okay with deep project outlines so I usually just do sequential as SteveH said and group everything under one larger project.

Unfortunately, mine are a bit more sporadic and complex than that. Such as one task triggering 3 different ones at once, one task waiting on 5 different independent tasks, etc. Sequential projects don’t quite fit the need.

Gotcha. That does make it trickier.

This might be addressed by the coincidental reply from K Case just a short time ago.



You can actually do both of these in OmniFocus by nesting parallel and sequential projects, though it’s a bit fiddly.

If tasks 2, 3, and 4 are waiting until you finish task 1: create a sequential project and put task 1 in it. Underneath task 1, create a parallel sub-project below task 1 containing tasks 2, 3, and 4. Tasks 2, 3 and 4 will be unavailable until you complete task 1, but once you check off task 1, tasks 2, 3, and 4 will become available in parallel.

If task 6 is waiting on tasks 1, 2, 3, 4, and 5: create a sequential project, then create a parallel sub-project inside it. Set the parallel sub-project to automatically complete when the last action in it is completed. Put tasks 1, 2, 3, 4, and 5 in the parallel sub-project. Put task 6 in the sequential project underneath the parallel sub-project. Until you complete the parallel sub-project, task 6 will be on hold. When you check off tasks 1, 2, 3, 4, and 5, the parallel sub-project will automatically be completed, making task 6 available.


Oh my god… Those scripts are perfect…

1 Like

I just came to share a link to these but it looks like @DrJJWMac has beaten me to it!

So glad they can help you—let me know if you run into any issues. :slight_smile:

Would you prefer comments to your code be posted at the site where the code is posted?


It doesn’t matter to me either way.

One thing I would note is that I don’t think this will work properly if the tags are assigned to projects, rather than tasks. That should be a fairly easy fix though and with any luck that will be working very soon, once I get around to looking at it.

(Also, I was thinking of adding options for setting a prerequisite on multiple tasks at once; setting multiple prerequisites at once, etc etc. Haven’t gotten that far yet but again probably just a matter of time!)

I now have multiple tasks with dependencies and the scripts are working absolutely perfect. Thank you!!

1 Like