Skip to article

Todo Dependencies & Gate Mode

Dependencies let you express that one todo cannot (or should not) be completed until other todos are done first — useful for sequential work like "Deploy to production" only being possible after "QA sign-off" is done.

At a glance

  • Link any todo to one or more blocking todos in the Blocked By field
  • Blocked todos show a locked indicator when any blocker is still open
  • Gate mode (optional) enforces the dependency server-side — completion is rejected if blockers remain
  • Bulk mark-done automatically skips gated todos whose blockers are not yet done

Adding a dependency

  1. 1

    Open the blocked todo

    Click the title of the todo that should be blocked to open its detail dialog.

  2. 2

    Find the Blocked By field

    Scroll to the Dependencies section. Click the Blocked By search field.

  3. 3

    Search and select blockers

    Type to search open todos in the project. Completed or canceled todos are excluded from results. Select one or more todos that must be done first.

  4. 4

    Save

    Click Save. The blocked todo now shows a blocked indicator; the blocking todo shows a "blocking" label.

Informational vs gate mode

Informational (default)

Dependencies are visible but do not prevent completion. Useful when you want to express "ideally done after X" without a hard block.

Gate mode (enforced)

The server rejects marking the todo done until all blockers reach done status. A lock icon appears on the todo row when gate mode is active and blockers are outstanding.

Toggle gate mode from the dependency section of the todo detail dialog using the Enable Gate toggle.

⚠️ Warning

Gate mode is enforced at the API level — it cannot be bypassed from the UI or keyboard shortcuts. If a todo is gated and a blocker is still open, you must complete the blocker first.

Best practices

  • Use gate mode for hard sequential steps where proceeding would cause real problems.
  • Leave gate mode off for soft suggestions — "ideally done after X but not a blocker".
  • Keep dependency chains short. Long chains are hard to visualise and prone to getting stuck.
  • Use the Timeline view to spot blocked overdue todos — they appear with a distinct visual indicator.