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
performancelabel finds related work across every project list - Kind of work — separate
bugfromfeaturefromchorewithout 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).