Labels

Labels

Tag todos with labels to slice work across lists — by theme, kind, or anything else you care about.

Lists answer where a todo lives; labels answer what kind of work it is. A todo sits in exactly one list but can carry any number of labels — bug, design, waiting, whatever distinctions matter to you.

Using labels

Add labels from a todo’s property bar or context menu, type #label in the composer title, or set them when creating the todo. Each label has a color, so a labelled list reads at a glance. Manage them under Settings → Labels.

Workspace-wide or one list

A label is offered on every list by default. Give it a list — in its settings or when creating it — and it is only offered on that list’s todos, so a project’s own vocabulary stays out of everyone else’s pickers. A todo that moves lists keeps the labels it carries and can still drop them.

When to reach for labels

  • Cross-cutting themes — a performance label finds related work across every project list
  • Kind of work — separate bug from feature from chore without separate lists
  • State that isn’t status — waiting-on-reply, needs-decision
  • Who filed it — agents label the todos they create AI, so automated filing is recognisable at a glance

Combined with filters and views — labels can be grouped by, and filtered with includes any of, includes all of or excludes — labels turn one big list into as many focused views as you need. Agents read and assign labels through the MCP server and CLI (ct create --label, ct label add).