@context, #topic, @person, @place — five tag categories that thread through tasks, notes, and projects. They nest, they filter, they drag-and-drop. One model handles the whole graph.
Every tag has a category. The category drives how it renders and where it surfaces:
@sarah, @mom. Auto-detected as a "Waiting on" person; renders with @ in task lists.@home, @office, @grocery. GTD-style location context.@phone, @computer, @errands. GTD-style tool/state context.#renewal, #research, #hiring. Standard topical label.#urgent, #blocked, #15min. Status / meta label.
The category is set when you create the tag — Mind Like Water infers from the prefix character you type (@ → person/place/context, # → topic/label). You can change it later in Settings → Tags.
Tags can have parent tags. #meetings/standups is a sub-tag of #meetings, which makes filtering hierarchical:
#meetings → see every standup, retro, and 1:1.#meetings/standups → just standups.
Build the tree to match the structure your work actually has. #clients/acme, #clients/globex, #clients/initech all live under #clients; filter by the parent for "all client work" or any leaf for one specific client.
Terminology: we say "nested tags," not "hierarchical tags" or "sub-tags." Same thing, simpler word.
The Notes view has a tag tree on the side. It shows:
Drag-and-drop is the whole interaction:
The tree updates live across tabs.
#topic or @person in a task title, note title, or note body. Mind Like Water creates the tag if it doesn't exist and attaches it.+ Tags chip in the detail pane, type a name. Or use ,t on a selected task.Tags created inline default to "topic" or "label" category. The picker lets you set the category up front. Mind Like Water also auto-suggests an emoji or Lucide icon based on the tag name when you create one.
Most task views (Today, Next Actions, Inbox, Project Detail) have a tag chip in the chip rail when at least two of your visible tasks share a tag. Click to filter; shift-click to exclude. Three states: include, exclude, off.
Tag filters AND across categories, OR within. "Show me tasks tagged #urgent OR #blocked, that ALSO have @phone context" is one state of the chip rail.
Areas of Focus and tags do different jobs. Areas are a scope — pick one and the whole app narrows to it. Tags are cross-cutting — apply them across Areas to find work by some other dimension (a client, a person, a context).
Every tag belongs to an Area, so when you switch the Areas filter, only that Area's tags show in the picker. Tags that span multiple Areas (a person who shows up in both Work and Personal) live in the Area where they make most sense; the work-related tags live under Work.
#urgent + @phone" as a one-click view yet. Use pinned filter combos in the chip rail for that.#meeting and #meetings are distinct tags. Bulk-rename is the workaround.Tags can have parent tags. #meetings/standups is a sub-tag of #meetings, which makes filtering hierarchical: filter by #meetings and you see every standup, retro, and 1:1; filter by #meetings/standups for just standups.
Person (@sarah), place (@home), context (@phone), topic (#renewal), and label (#urgent). Person/place/context render with @ prefix; topic/label render with # prefix. Mind Like Water infers the category from the prefix you type, and you can change it in Settings → Tags.
Three ways. Inline in any capture (type #topic or @person and the tag is created and attached). The tag picker (open the Tags chip on a task or note, ,t shortcut). Or Settings → Tags for explicit control of category, color, and icon.
Renaming propagates to every entity using the tag — no broken references. Deleting confirms the count of items using the tag before destroying. Tasks and notes keep existing; they just lose the tag.
14 days free, no credit card. Five categories, drag-and-drop nesting, the whole tree at your fingertips.
Start free trial Free for 14 days. Pro is $8/month after.