FeatureEvery plan

Subtasks, three levels deep

A task can hold subtasks, and those can hold sub-subtasks. Three levels total, and a parent will not close while a child is still open.

By Updated

Task, subtask, sub-subtask. That is the floor and the ceiling, and it is enforced in the database rather than the interface, so nothing can sneak a fourth level in. Try it and you get told the task can only nest three levels deep.

Deeper trees stop being a plan and start being a filing system. Every tool that allowed unlimited nesting ended up with users who could not find their own work.

A task called Launch the site holds two subtasks, and one of those, Ship the pricing page, holds two sub-subtasks: Draft hero section which is ticked, and Sign off legal which is not. That is the deepest nesting allowed, and a fourth level is drawn below as a dashed struck-through row labelled not allowed. Both Launch the site and Ship the pricing page show a padlock where their checkbox would be, because each still has unfinished work beneath it, so the locks trace up the tree from the single open sub-subtask. Alongside, the same parent is shown padlocked while Sign off legal is open, because finishing the last open descendant is what releases it.
The padlock climbs: any task with unfinished work under it wears one.

Seven routes, depending on whether the parent exists yet and whether the child does. The first two cover almost everything.

  1. Open the task and type into Add a subtask.

    The everyday route. The drawer has a subtask list with an input at the bottom, and Enter files each one and leaves the field ready for the next.

    Open All Tasks
  2. Or build the checklist before the task exists.

    K opens Quick Capture, where a Subtasks switch adds the rows alongside the parent. Off by default, because a checklist editor sitting open turns a capture box into a form.

  3. Or use Add subtask in the row's three-dot menu.

    Look for at the right-hand end of every task row. Those three dots open that task's actions, and they are always on screen rather than appearing on hover, so they sit in the same place on a phone as on a laptop.

    Useful when you are scanning a list rather than working inside one task. The item disappears on a sub-subtask, because a fourth level is not allowed and offering it would only fail.

  4. For a task that already exists, use Make subtask of.

    Also in the three-dot menu. It files an existing task under another one, and it is select-then-confirm rather than click-to-commit, because a list of similar-looking names is easy to mis-tap.

  5. Or drag one row onto another.

    The direct version of the same thing. It asks for a precise gesture across however many rows lie between the two, which is exactly why the menu item exists.

Two ways, both of which write several subtasks in one action.

  • A task template can be stamped underneath an existing task, so a checklist you use repeatedly arrives complete rather than retyped.
  • Project Blueprint drafts subtasks as part of a whole project, up to fifteen under any one task, with priorities and dates already set.

Because something under it is still open. Its checkbox shows instead of an empty box: a parent cannot be completed while any subtask below it is incomplete, and the answer is to finish the children first.

This is what makes a parent and its subtasks behave like a real checklist rather than a suggestion. The checkbox is disabled where the app can see the children, but the rule is enforced on the server, so it holds on filtered surfaces like Today where the children are not on screen.

Watch out

Bulk selection is the deliberate exception. Selecting a parent and completing it through the bulk action bar completes everything underneath it too, and reopening it reopens them. That is the fast way to close out a finished group, and the slow way to lose track of what you actually did.

That is most of what Project Blueprint is for. Describe the outcome and it returns tasks with their subtasks already written, with priorities and due dates set.

You edit the whole tree before a single row is saved, so the breakdown is a starting point rather than something you have to undo. It needs Squad or Business, or one of the three generations in the trial.

Any task can become a subtask of another, and a subtask can be pulled back out. Make subtask of and Move out of parent sit next to each other in that same menu as a matching pair, and Move out of parent lifts exactly one level rather than jumping to the top.

Moving a task takes its whole subtree with it, including across projects and across workspaces, so you never end up with a parent in one place and its children in another. See moving tasks.

Similar readings

Everything below is in the Happiness Center.

Was this article helpful?