Task dependencies define execution order and enable advanced orchestration patterns. Claude Board supports full DAG (Directed Acyclic Graph) dependencies with conditional branching, automatic context sharing, and sub-task spawning.Documentation Index
Fetch the complete documentation index at: https://docs.claboard.dev/llms.txt
Use this file to discover all available pages before exploring further.
Adding Dependencies
Conditional Dependencies
Dependencies can have conditions that control when child tasks are triggered:| Condition | Edge Color | Behavior |
|---|---|---|
| Always (default) | Gray solid | Child starts when parent reaches done or testing |
| On Success | Green dashed | Same as Always — child starts when parent succeeds |
| On Failure | Red dashed | Child starts only when parent has permanently failed (retries exhausted) |
Agent Context Handoff
When a parent task completes, Claude Board automatically generates a context summary containing:- Git diff statistics (files changed)
- Recent commit messages
- Last Claude output summary
- Branch information
Sub-task Spawning
Running agents can create sub-tasks via MCP tools. When an agent callscreate_task with a parent_task_id, the sub-task is linked to the parent:
- Agent calls
create_taskwithparent_task_idset to its own task ID - Sub-task is created in backlog and auto-queued
- Parent task enters awaiting sub-tasks state after its Claude process finishes
- Sub-tasks execute (respecting DAG and concurrency)
- When all sub-tasks reach
done/testing, the parent automatically completes
Sub-tasks inherit the parent’s project context. The parent task’s prompt instructs Claude on how to use
parent_task_id when creating sub-tasks.Cycle Detection
Claude Board prevents circular dependencies using DFS (Depth-First Search) traversal. If adding a dependency would create a cycle (A -> B -> C -> A), the operation is rejected.Dependency Patterns
- Chain
- Fan-out
- Fan-in
- Conditional
Sequential: A -> B -> C -> D. Each task starts only after the previous completes.
API
addDependency(taskId, dependsOnId, conditionType?)— Add dependency with optional condition (always,on_success,on_failure)removeDependency(taskId, dependsOnId)— Remove a dependencygetTaskDependencies(taskId)— Get parents and childrengetDependencyGraph(projectId)— Full graph with edges (includingconditionType) and wavesgetExecutionWaves(projectId)— Wave groupings