Dependency Concepts
Depends On Relationship
When Task A depends on Task B:- Task B is a dependency of Task A
- Task A is dependent on Task B
- Task A cannot progress if Task B is not done
Blocking Behavior
A task is blocked when:- It has one or more dependencies
- At least one dependency is not in
donestatus - The task itself is not already
done
- Be assigned to an agent
- Move to
in_progressstatus - Move to
reviewstatus - Move to
donestatus
inbox status until all dependencies are completed.
Setting Dependencies
On Task Creation
Specify dependencies when creating a task:On Task Update
Update dependencies using the PATCH endpoint:- The
depends_on_task_idsarray is a complete replacement, not a merge - Pass an empty array
[]to clear all dependencies - Dependencies cannot be changed after a task reaches
donestatus - Updating dependencies may change the task’s
is_blockedstatus
Validation Rules
Same Board Requirement
All dependencies must exist on the same board as the task:No Self-Dependencies
A task cannot depend on itself:No Circular Dependencies
Dependency chains cannot form cycles:Automatic Reconciliation
When Dependencies Complete
When a dependency task moves todone status:
- All dependent tasks are checked
- If no other dependencies block them,
is_blockedbecomesfalse - An activity log entry is added to dependent tasks
- Dependent tasks can now be assigned and progressed
When Dependencies Reopen
When a done dependency is moved back to another status:- All dependent tasks are identified
- Tasks that are not
doneare reset toinbox:- Status set to
inbox - Assigned agent cleared
- In-progress timestamp cleared
- Status set to
- Activity log entries document the reset
Reading Dependency Status
In List Response
Every task includes dependency information:depends_on_task_ids: All configured dependenciesblocked_by_task_ids: Subset of dependencies that are incompleteis_blocked: Whether task is currently blocked
Checking Specific Dependencies
To check the status of dependency tasks, fetch them individually or use the list endpoint:Best Practices
Design Clear Workflows
Use Dependencies for Prerequisites
Depend on tasks that must be completed before starting:- Infrastructure setup before deployment
- API implementation before integration tests
- Design approval before development
Don’t Over-Depend
Avoid creating dependencies for tasks that can run in parallel:- Separate feature branches don’t need to depend on each other
- Documentation can often be written alongside implementation
Handle Long Chains Carefully
Long dependency chains can create bottlenecks:- Breaking work into smaller, parallel tasks
- Reducing chain depth where possible
- Ensuring critical path tasks are prioritized
Example Workflows
Feature Development Workflow
- Design is complete
- API and UI work can happen in parallel (both depend on design)
- Integration cannot start until both API and UI are done
- Deploy waits for integration to complete