Appearance
Tags
Tags are flexible cross-cutting labels you can apply to any task, project, or note. Use them for anything that doesn't fit into Areas of Focus or Projects — topics, themes, statuses, or anything you want to filter on later.
Five categories
Every tag has a category that affects how it renders and where it surfaces:
| Category | Example | Where it surfaces |
|---|---|---|
| person | @sarah, @mom | Auto-detected as a "Waiting on" person; renders with @ prefix in the task list |
| place | @home, @office, @grocery | GTD-style location context; renders with @ prefix |
| context | @phone, @computer, @errands | GTD-style tool/state context; renders with @ prefix |
| topic | #renewal, #research, #hiring | Standard topical label; renders with # prefix |
| label | #urgent, #blocked, #15min | Status / meta label; same # prefix as topic |
The category is set when you create the tag — MLW infers from the prefix character you type (@ → person/place/context, # → topic/label). You can change the category later in Settings → Tags.
Nested tags
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.
The terminology in MLW is nested tags — not "hierarchical tags" or "sub-tags" — to keep the language simple.
The tag tree (Notes view)
The Notes view has a tag tree on the side. It shows:
- Areas at the top — every tag belongs to an Area of Focus
- Tags within each area, indented to show parent/child nesting
- Notes that have a tag can be expanded inline under that tag
- Drag-and-drop:
- Drag a tag onto another tag → makes it a child
- Drag a tag onto an Area row → moves the tag (and its children) to that Area
- Drag a note onto a tag → adds the tag to the note
- Drag a note onto an Area → promotes the note (assigns it to that Area)
The tree updates live across tabs.
Creating tags
Three ways:
- Inline in any capture — type
#topicor@personin a task title, note title, or note body. MLW creates the tag if it doesn't exist and attaches it. - Tag picker — open a task or note, click the
+ Tagschip in the detail pane, type a name. (,tchord on a selected task.) - Settings → Tags — explicitly create with a chosen category, color, and icon. Useful when you want full control or to bulk-rename.
Tags created inline default to the "topic" or "label" category; the picker lets you set the category up front.
Tag icons
Each tag can have an emoji or Lucide icon. MLW auto-suggests one when you create a tag (based on the name — #meeting gets a calendar icon, #travel gets a plane). You can override in Settings → Tags or via the inline picker on the tag tree.
Icons appear next to the tag name in the tree and in pill chips in detail panes.
Filtering by tag
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. The chip rail uses the standard three-state include/exclude/off interaction.
Tag filters AND across categories, OR within. "Show me tasks tagged #urgent OR #blocked, that ALSO have @phone context" is a single state of the chip rail.
Renaming + deleting
Rename: Settings → Tags → click the tag → edit name. The rename propagates to every entity using the tag — no broken references.
Delete: same panel → trash icon. Confirms the count of items using the tag before destroying. Tasks and notes keep existing; they just lose the tag.
Keyboard shortcut
| Shortcut | Action |
|---|---|
, t | Open the Tags picker on the selected task |
What MLW doesn't do (yet)
- No tag descriptions — tags are names + categories + icons + color, not full notes about themselves
- No saved tag combinations — you can't pin "#urgent + @phone" as a one-click view (use pinned filter combos in the chip rail for that — different feature)
- No tag aliases —
#meetingand#meetingsare distinct tags; bulk-rename is the workaround
Related
- Notes & references — the tag tree lives in the Notes view
- Areas of Focus — every tag belongs to an area
- Quick Capture —
#tagand@personparse inline at capture time