Appearance
Dependencies
A dependency says one task cannot start until another finishes. Truetask keeps the chain honest: it counts what is blocking each task, refuses a loop, and clears the block the moment the last blocker is resolved.
Adding a dependency
Open a task, expand the properties block with Show all fields and click the Dependencies row. The popover has two halves, Blocked by and Blocks, with Add blocker and Add blocked task under them.

There are two ways to pick the other task:
- Search. Type at least two characters. The search runs across every board you are a member of, and each result shows the folder and board it lives on so two tasks with the same title stay apart.
- Pick a task from the board. The frame slides out of the way and the board waits for you to click a task. Esc cancels.
A dependency can cross boards. You need edit rights on both boards to create or remove one, and a task you cannot see renders as Private task rather than leaking its title.
Truetask walks the whole graph before it saves, not just the two ends: if the edge would close a loop anywhere down the chain, it is refused. A task cannot depend on itself either.
Notes on an edge
The REST API and the dependencies_create MCP tool accept a short note on a dependency (up to 280 characters). The in-app popover does not show or edit it yet.
How a blocked task reads
Truetask keeps three values on every task and recomputes them whenever an edge or a blocker changes:
| Value | Meaning |
|---|---|
| Blocked by | How many direct blockers are still unresolved. |
| Blocks | How many tasks this one holds up. |
| Actionable | True when the task is open and nothing blocks it. |
A task with at least one live blocker shows an amber badge with a link glyph and the blocker count on its preview, in every view. Hover it for "Blocked by N task(s)".
A blocker stops blocking when it is completed, cancelled or trashed. An archived blocker still blocks: archiving parks work, it does not finish it. When the last blocker clears, everyone watching the newly unblocked task gets a notification.
Completing a task that is still blocked is a soft guard, not a wall. Ticking it off raises a confirmation that names how many blockers are still open, with a Complete anyway button.
Focus mode
On a Kanban board, a task with dependencies gets a small tree button next to the Dependencies chip: Focus on dependencies. It pins the spotlight, slides the frame to a corner with room to breathe, and draws the links across the board so you can read the chain without keeping the pointer still. Click Exit focus mode, click elsewhere, or scroll to drop it.
Focus mode needs the board's Kanban view, so it does not appear when the task is open in a side panel.
Filtering by dependency
On the Tasks page two filters work off these counts:
- Blocked keeps tasks that have at least one unresolved blocker.
- Blocks others keeps tasks that hold something else up.
There is also a built-in Blocked work view, which is the Blocked filter already applied across every board you belong to.
Automations
Two triggers fire off the same recomputation:
| Trigger | Fires when |
|---|---|
| Card Blocked | A task becomes blocked by a dependency that is not done yet. |
| Card Unblocked | The last dependency blocking a task is done. |
A common pair is to add a "blocked" tag and comment what the task is waiting on, then drop the tag and hand the task back to its owner when it clears. See Automation triggers.
Agents and dependencies
The context an agent reads for a task includes its dependencies and whether the task is actionable. That is how a delegated agent knows not to start on something that is still waiting, and how a pipeline sequences work it did not lay out itself. See Delegating work to agents.

