Skip to main content

Setting Task Dependencies

Dependencies let you express the order in which tasks must be completed. If Task B cannot start until Task A is finished, you create a dependency — "Task B depends on Task A." This is called a finish-to-start dependency.

Dependencies are visualized as arrows on the Gantt chart and help your team understand what is blocking progress.


What are finish-to-start dependencies?

A finish-to-start dependency means:

  • Task A must reach Done status before Task B can properly begin
  • If Task A is still in progress, Task B is shown as "waiting" or "blocked"

Example:

Task A: Set up database schema
↓ (blocks)
Task B: Build user registration API
↓ (blocks)
Task C: Build registration UI

Task C cannot sensibly begin until Task B is done, and Task B cannot begin until Task A is done.


Adding a dependency

To say "this task depends on another task":

  1. Open the task you want to set a dependency for (the dependent task — e.g., Task B).
  2. Scroll to the Dependencies section.
  3. Click Add Dependency.
  4. In the search field, type the title or ID of the task this one depends on (e.g., Task A).
  5. Select the task from the results.
  6. Click Add.

The dependency is now recorded. Task B "depends on" Task A.

Multiple dependencies

A task can depend on more than one other task. Repeat the steps above to add additional blockers.


Viewing dependencies

On the task detail page

The Dependencies section shows two lists:

  • Depends on — tasks that must be done before this task can start (blockers)
  • Blocking — tasks that are waiting for this task to complete (downstream)

On the Gantt chart

Dependencies appear as arrows connecting task bars from left to right. An arrow from Task A to Task B means Task B depends on Task A.

See Gantt chart for details on navigating dependency arrows.


Dependency warnings

Varai Sprints does not prevent you from starting a task that has unresolved dependencies — but it does warn you.

When you try to move a task to In Progress and it has blockers that are not yet Done, you will see:

"This task depends on 2 tasks that are not yet complete. You can still start it, but be aware it may be blocked."

You can acknowledge the warning and proceed, or go back and check on the blocking tasks first.


Removing a dependency

  1. Open the dependent task.
  2. In the Dependencies section, find the task you want to unlink.
  3. Click the × button next to it.
  4. The dependency is removed immediately.

Circular dependency detection

Varai Sprints automatically checks for circular dependencies. A circular dependency means Task A depends on Task B, and Task B depends on Task A — an impossible loop.

If you try to create a dependency that would cause a circular loop, you will see an error:

"Cannot add this dependency — it would create a circular dependency chain."

In that case, review your task structure and decide which task should come first.


Dependencies across sprints

You can create dependencies between tasks in different sprints (within the same workspace). This is useful for planning sequential work across sprint boundaries.

Cross-sprint dependencies on the Gantt

The Gantt chart shows the full dependency chain, even across sprint boundaries. Use the zoom out feature to see the big picture. See Gantt chart.


Best practices for using dependencies

  • Keep chains short — long dependency chains (10+ tasks) are hard to manage and delay everything if one task slips
  • Only add real blockers — not every related task needs a formal dependency
  • Review during sprint planning — identify blockers before the sprint starts, not during
  • Use the Gantt chart — visualizing the dependency graph helps spot scheduling problems early