Search pages
Every search opens a search page in its own tab; a tag’s overview is the search page for that tag. Open one by Cmd/Ctrl-clicking a tag in the editor, selecting a tag anywhere Deckard shows one, searching from Home or Find, or running Deckard: Open Search Page…. A search already open comes forward. Parked notes and tasks are listed last, marked Parked.

- One tag is its overview. The page’s title is the tag or the entity it names, with its hub note above the entries.
- Anything more is a search. Add another tag, words, or a condition such as
is:open, and the title says Search; the search box and Builder show every filter. The box’s × returns to the original tag. - Refine shows five values of each kind, with +N more. On a page of one tag, or tags joined by AND, it offers related Tags first.
- Notes and Tasks are two tabs or side by side; a tag’s page adds its Story. The Tasks list shows every task the search found, with checkboxes that update the Markdown. A search that finds nothing on the tab shown and something on the other shows the other.
- Questions is a tab after Tasks, or a list under the two side by side, when the search finds questions: on a tag’s or a person’s page, those under the tag or naming it. The open ones come first, oldest first, each with how long it has been open and Answer…; then the answered ones, with their answers. A search that finds only questions, such as
is:unanswered, opens on it. - A type’s rows. A search for a type,
type = team, is titled Teams and opens on a first tab of its own, Teams (4): a table of the rows it finds, with a column for each field, which sorts, groups, and renames the field everywhere, or a board of them as cards, in columns and lanes by two fields. See A type’s rows. - Group by (in ⋯): Tag groups what the search found under each tag Refine offers, in Refine’s order, with the results under none of them last, in either layout: with tabs, the Notes tab groups the notes and the Tasks tab the tasks; side by side, each group is a row, its notes beside its tasks. A group says how many notes and tasks it holds and, where its tasks are shown, how many are done, with a bar at the right of its name. A grouped card leaves out its task lines, since its tasks are listed with it. A note or task is shown where it is most specific: under the tags written on it, or, when none of those is one Refine offers, under those of the nearest heading above it that has one, then its front matter. So a
## Decision #decision/acceptedunder a tagged# Plansits under its own tag, not beside the plan, and the plan’s card leaves its text out. A note with two of the tags is in both groups. A group draws its first ten notes and ten tasks; Show all narrows the search to its tag, and its tag does the same. - Heading, the other way to group, nests the results the way their notes nest tagged headings, for notes where the H1 is a project and each H2 a part of it. A note’s front matter, its H1, and its H2 each name a level by the first tag written there, unless that’s the tag searched for: on a project’s own page the project’s heading makes no level, and its parts come first. So
# Checkout v2 #project/checkout-v2holds its## Design #phase/design, and a Design under another project is that project’s own. A project’s bar counts its parts’ tasks too. Levels stop at three. A part’s tag narrows the search to that part within its project. - Sort, beside Notes and Tasks while the notes are shown (at the Notes heading side by side), orders the notes: A-Z (the default) or Z-A, Newest created or Oldest created, Recently updated or Least recently updated, or Most accessed. A note with no date comes last either way.
- Each result shows three lines, or the paragraph holding the searched words after a muted …. Show all opens the rest. Preview, in ⋯, chooses None, 3 lines, or Full.
- Searched words are marked, and each result’s header shows its file, line, and headings (folded in zen mode).
- Paging. Results show a page at a time with Previous, Next, page numbers, and the range (271–300 of 3,760). Notes and tasks page separately. Per page chooses 10, 30, 50, 100, or 200, starts at 30, and is remembered. Counts and Refine cover the whole search.
- ⋯, at the top right, holds Save search…, then, on a type’s rows, Add team… and Open Types/Team.md, or, on the page of a tag whose namespace has no type, Create type from #team…; then Export notes… and Export tasks… while the search found notes or tasks, and Copy as Markdown while a tag’s Story is shown; the view: Tabs or Side by side, Group by none, tag, or heading, rendered or Markdown source (Format → Source, remembered), and one to four columns for notes and for tasks; Theme…, Zen and Page width; and Help on this page and Keyboard shortcuts.
- Save search…, the first row of ⋯, keeps the search in the box, whether or not Enter has run it, then offers Show Results on Home (a widget of its results) or Open Home. A saved search of tags follows them when they are renamed. Until there is a search to save, it stays in place, and says so when focused.
- Opening results. Select an entry to jump to its heading. A click opens a preview tab, reused by the next result; a double-click keeps the tab; Cmd/Ctrl-click opens it beside the page. This also holds on the Task board, Home, Stats, and the Notes Graph, where Alt-click opens beside it.
- ‹ and › beside ⋯, Alt+← and Alt+→, or the mouse’s back and forward buttons move through the page’s searches. ?, or Keyboard shortcuts in ⋯, lists the page’s keys.
Opening a tag’s page or a section records access for the access sort.
Taking a search’s results out
Export notes… and Export tasks… in a search page’s ⋯, and Export tasks… in the Task Board’s ⋯, copies or saves everything the search found as a Markdown table, a Markdown list of links, or CSV. With a search, it first offers Copy as live query block, which copies the search and its sort as a query block. Nothing else leaves the machine.
Editing a search’s results
Bulk edit, a small button beside the results it acts on (at the end of the Notes and Tasks tabs, or at each pane’s heading side by side), makes one edit to everything the search found. Refine the search until the results are the ones you mean, then:
| Results | What can be done to them |
|---|---|
| Tasks | Complete, Reopen, Set a status, Set a due date, Set a scheduled date, Set a start date, Shift dates…, Set a priority, Add a tag, Remove a tag, Replace a tag, Move to… |
| Notes | Add a tag, Remove a tag, Replace a tag, on each heading line |
- Deckard lists the results, all chosen; unpick any to leave alone.
- Completing works as a checkbox does, including done dates and a repeating task’s next occurrence.
- A date takes plain words, and an empty answer clears it. Each is written in the line’s format, 📅 or
[due:: …]. - Shift dates… asks which dates to move, Due, Scheduled, and Start, each saying how many of the results have one, then how many days:
3or+3moves them later,-2earlier. Each task moves the chosen dates it has; a date read from a task’s words has nothing to move. - Set a priority writes 🔺 to ⏬, or
[priority:: …], or takes it off with No priority. - A tag goes at the end of the line, and a line that already has it is left alone.
- Remove a tag and Replace a tag list the tags the results write on their own lines, the most written first. A tag a result has from a heading above it or its note’s front matter is written there, so it is not listed; change it where it is written. Replace writes the new tag where the old one stood, or only takes the old one off a line that already has the new one. A person in a task’s 👤 field is who it is for, not a tag, and stays.
- Move to… moves the chosen tasks and their steps under another heading, into today’s note, or into a new note, leaving a link, as Move to… does, with its own Undo.
- A task or heading edited since Deckard indexed it is skipped and counted.
- The edit is one write: previewed when it reaches more than one note, and undone by
Deckard: Undo Last Change. - It applies to the whole search, not the page on screen. A page with no search of its own (every note) edits only the results shown.
- To move notes into a folder, use the Explorer; Deckard carries their links along.
Hub notes
A hub note describes a tag and opens at the top of its overview. Add describes: to the note’s front matter:
---
describes: project/atlas
status: active
owner: "@dana"
---
# Atlas
Migration of billing onto the new ledger.
- The
#project/atlasoverview shows the note first, with its other front-matter fields as properties. Tag values such as@danaopen their own overviews. The hub’s entries are not listed again below. - A typed tag’s hub shows its fields as the Note page does, then, under From other notes, reverses such as a team’s members, each saying where it is set. Edit fields…, beside Open in the card’s header, opens the form that edits them, and a field’s name opens it at that field. A typed tag with no hub note gets a Fields card in the hub’s place: No note describes @alex-rivera yet. with Add fields…, which opens the form for its hub note, then what other rows say of it: owned by: Payments (lead Alex Rivera · on-call Sam Okafor). See Fields on a tag’s page.
- Write the tag without
#, or quote it; YAML reads an unquoted#as a comment. Quote people:describes: "@dana". A list such asdescribes: [project/atlas, proj/atlas]describes several tags. - An overview without a hub offers a Create hub note link under its title, which also says the tag has no hub; Zen leaves it drawn, and
Deckard: Create Hub Note for Tag…does the same from the palette. It writes one to the notes folder, never overwriting a note, starting from a template named after the tag’s namespace (such asproject.md) if there is one; see Templates. - When several notes describe a tag, the first by path leads and the others are listed beneath it.
- Hovering the tag in the editor names its hub, renaming the tag updates
describes:, and filtered and query views leave the hub out. - Select the hub’s title row to collapse or expand it. A hub starts open, and the next tag’s page starts the way you left the last one.
- Progress. A tag with tasks shows a bar under its hub, and how far along they are: 2/6 done (33%) · 1 overdue · next due in 3 days. Each part is a link that searches just those tasks: the done ones, the overdue ones, the ones that need a new date, or the ones due next. A task more than 30 days past due counts as needing a new date rather than overdue, as Home’s Overdue figure counts it (
deckard.tasks.needsNewDateAfterDays). Its tasks are those a search for the tag finds, steps aside. The hub note says the same on its first line in the editor (deckard.editor.hubProgress), and Home’s Progress widget lists every project’s. - Parts. A tag written on headings with tagged headings under them, such as
# Checkout v2 #project/checkout-v2over## Design #phase/designand## Build #phase/build, lists those parts under its progress, each with how far along its own tasks are: #phase/design 2/3 done (67%) · #phase/build 1/3 done (33%). A part gathers its tasks from every note that writes it under the project, and a heading tagged further down counts in its part. Each is a link that narrows the page to that part, keeping the project’s page; selected again, it goes back to the whole project. - Narrowing a tag’s page. A search that adds terms to one tag, such as 1 overdue above or a Refine choice, is still that tag’s page: the hub stays, folded so the results sit near the top, and the bar still counts all of the tag’s tasks. The part of the words you searched is outlined; select it again to go back to the tag. A search of two tags, such as
#project/atlas @dana, is a plain search. Entries that only link to the hub are listed on the tag’s plain page alone. - Untagged mentions. For a tag name of three letters or more, the top of Refine (or, while Refine is in the Context sidebar, a line under the search box) says how many entries write it as a plain word: 12 entries mention “atlas” without the tag. Show them runs
text = atlas -#project/atlas, without the hub, so Bulk edit → Add a tag can tag them.@danacounts “dana” the same way. - Hub links. The page also lists entries and tasks that link to the hub note without the tag, marked Links the hub note, with a line under the hub: Also listing 5 entries that link to Atlas plan without the tag. Counts, tabs, pages, Bulk edit, and Export include them.
Since you last looked
A tag’s page remembers what it held when you last had it open. Come back more than a day later, and if something changed, a band under the page’s bar says so: Since you last looked · Fri, Oct 2, 12 days ago, then a chip for each kind of change, such as 4 new mentions, 1 field changed, 2 tasks done, 1 task added, and 1 question answered.
- A visit counts once the page has been in front for five seconds; Mark seen counts it at once and clears the band. Leaving a page after that marks it seen: the band is gone the next time you come back.
- A new mention is an entry with the tag written or changed since, its tasks aside. A task is added or done since. A question is answered since when an
Answer:line was written under it, whenever it was asked. A field is a value in the hub’s front matter or a typed row’s fields, its reverses among them. - A chip narrows the Notes, Tasks, or Questions tab to what it counts, as a Refine value does, and shows that tab; select it again to show everything. N fields changed opens the hub card instead.
- Notes new since then are listed first, under New since Fri, Oct 2, the rest under Earlier, each with a New mark; an added task has one too. A changed field shows its old value once, after its value now: changed · was Alex Rivera.
- Only the page of one tag on its own has the band. A first visit draws none; it only records.
- Deckard keeps one visit for each tag, the last, in VS Code’s storage for the workspace, never in your notes. It drops the visits of tags that are gone, and keeps at most 500.
- With Zen on, the date and the counts stay; Mark seen waits for the pointer or Tab.
Between you and a person
A person’s page, such as @sam-okafor’s, lists every open line between you and them in a Between you card, under its fields and above the tabs, ready for a one-to-one:
| Group | Lists |
|---|---|
| You owe Sam | Open tasks of yours, assigned to you or to nobody, that mention Sam |
| Sam owes you | Open tasks assigned to Sam with 👤, and tasks of yours on hold, such as Waiting [w], that mention Sam |
| To ask Sam | Open questions that mention Sam on their own line |
- Yours is what
is:minefinds: setdeckard.meto the tag you write for yourself, such as@david. Until then the card says so, with Set who you are…, and only tasks for nobody count as yours. - A task assigned to someone else is theirs, and shows on their page, whoever it mentions. Done, cancelled, and parked tasks leave the card.
- Each group lists what is overdue first, then the oldest, ten at a time. A row’s box completes the task, and the row opens its line. A question’s row opens its line too, with Answer…, as on the Questions tab. A group’s name opens it as a search page, as Show all does when it holds more than ten; To ask Sam’s search,
is:unanswered @sam-okafor, also finds the questions under a heading or in a note that names Sam. - Copy as agenda copies the groups as Markdown,
## You owe Samand then a- [ ]line for each task with its due date, and## To ask Samwith a- [?]line for each question, to paste into a one-to-one note. - A person with nothing open between you gets no card, and neither does your own page or a search that narrows a person’s page.
- With Zen on, the counts and dates stay; Copy as agenda waits for the pointer or Tab.
The story so far
A tag’s page has a Story tab after Notes and Tasks, Story (48): every line about the tag on one timeline, by month, so a project’s months of daily notes read in one scroll.
- What goes in. Every line that carries the tag, or sits under a heading, at any level, or in a note whose front matter does: prose, list items, tasks, and questions. Headings, blank lines, front matter, code, and query blocks are left out, and so is the tag’s hub note, which is its summary. A search that narrows the tag, such as a Refine choice, narrows its story too.
- Its date. A line is dated by its daily note’s day, else its note’s
created:field, else the day its file was made. A day’s lines keep their order in the note; a day’s notes go by path. - Each row is its date, a mark, the line as written, cut to two lines, and, muted at the right, the heading it is under, or its note’s name. Lines indented under it, such as a task’s steps or a question’s
Answer:line, are read with it, smaller. Select a row to open its line; a task’s box completes it, as on the board. - Marks. A task’s box, done or open; D for a decision, a line in a note whose
type:isdecision, or under a heading tagged with a row of a type named Decision; ? for a question, open or answered; and · for anything else. A cancelled task is marked ·. - Filters, a row of chips over the rows: All, Decisions, Done, and, when the story holds a question, Questions, and Oldest first, since the newest come first. Select a chosen filter again for every row.
- The tab draws the first 100 rows; Show more adds 100 more. Copy as Markdown, in ⋯ while the tab is shown, copies the rows shown under their months, each as
- 2026-10-14 · the line (Heading). - Side by side, the story is drawn under the notes and tasks.
- With Zen on, the dates, marks, counts, and filters all stay.
The Hubs view
The Hubs view in the Deckard sidebar is a tree of your projects, people, and other topics, each with the notes about it filed underneath, like pages under pages in Notion’s sidebar. A topic appears once it has a hub note. It starts collapsed; expand it, or drag it where you like. With no hub note yet, it says A hub note gathers a project’s or person’s notes., with Create Hub Note for Tag….
HUBS
▾ People
▸ Dana Reyes
▾ Projects
▾ Atlas 1/2 done (50%)
Kickoff
▸ Ledger migration
Vendor review
▸ Borealis
- Each tag namespace with a hub note heads a group: Projects for
#project/…, People for@tags, and Other tags for a hub of a tag without one. Select the heading of a namespace a type has, such as Teams, to open the type’s rows. - Under each hub are the notes about its tag: those whose front matter or first heading carries it. A line that mentions the tag in passing, such as in a daily note, does not file its note there; the tag’s page still finds it.
- A note can name its place outright with
up:in its front matter, such asup: "[[Ledger migration]]"or a list of several. It is then filed only there, whatever its tags. A note named byup:that is no hub is listed under Other notes. - A hub goes under another hub only when its
up:names it, as a sub-project’s does. The tags in a hub’s own front matter, such as a team’sregulars:or a person’steam:, describe it and do not move it. A note about two projects is under both. - A parked note is left out of the tree, and a parked task out of a hub’s count, as a search leaves them out.
- Select a hub to open its tag’s search page, with the hub note on top and everything the tag finds under it; the hub’s Open Hub Note button opens the note itself, in the editor or on the note page as
deckard.openNotesInsays, and its right-click menu offers the other way. Select any other note to open it. A hub shows how far along its tag’s tasks are. - What’s new. Each hub says how much is new since you last opened its page, as its band counts it, 9 new, or else when you saw it, seen today or seen Fri, Oct 9, or never opened. Sort Hubs By…, in the view’s ⋯, puts the hubs with the most new first on each level, or goes back to Name.
- Breadcrumbs. A note’s first line says where it sits, such as Projects › Atlas › Ledger migration › Cutover plan, and opens the note above it.
deckard.editor.breadcrumbsturns them off.
Merging tags
Rename a tag to one that exists, or select Merge beside a lookalike or a tag used once in Stats. Deckard shows how many entries each tag has, how many have both, and the kept tag’s new total, and asks first: renaming back cannot separate them.
- Where both tags sit on the same heading, task line, or front-matter list, the old one is removed. Inside a sentence it is replaced.
- Favorites, access counts, Home’s tag selections, and saved searches move to the kept tag, as they do on a plain rename.
Previewing and undoing a write
Renaming a tag, merging tags, and renaming a heading rewrite notes you never opened.
- Preview. A write reaching more than one note opens in VS Code’s refactor preview, each change under its note. Uncheck any to leave it out, then apply. Deckard reports only what landed.
- Deckard: Undo Last Change restores the notes from before that write, after saying how many. A note changed since, in the editor or on disk, is left alone and counted. A move made with Move to…, tasks carried forward, and a heading renamed with its links go back together or not at all: if one of their notes changed since, Undo puts nothing back and names that note, and works again once the note is as Deckard left it. Favorites and saved searches that followed a renamed tag move back.
- Only the last write is kept. For anything earlier, use version control.
← Search · All topics · Query blocks →