Skip to content

Calendar

The Calendar is a way of looking at notes you already have. It has no list of its own, no events you enter into it, and no file of its own on disk. Every day it fills in comes from a date you typed into a task, in one of your notes.

If you take one thing from this page: the calendar never writes anything. Opening it costs you nothing and closing it loses you nothing.

Action macOS Windows / Linux
Toggle Calendar ⌘5 Ctrl+5

Also under View → Toggle Calendar, and in the command palette (⌘K / Ctrl+K) by typing “calendar”.

Getting something into it — the whole recipe

Section titled “Getting something into it — the whole recipe”

You need one dated task. A task is a Markdown checkbox; a date is @ followed by the day in YYYY-MM-DD.

  1. Open any note in your vault — it does not matter which, and it does not matter which folder it is in.

  2. Write a line like this:

    - [ ] Send the quote @2026-09-15
  3. Save (⌘S / Ctrl+S).

  4. Press ⌘5 / Ctrl+5 and move to September 2026 if you are not there.

The 15th now carries a small dot. Click the day and the task is listed under the grid. Click the task and the note opens, scrolled to that line.

That is the entire mechanism. There is no second step where you “add it to the calendar”.

  • Weeks start on Monday — the columns are Mon, Tue, Wed, Thu, Fri, Sat, Sun.
  • Today is marked.
  • A dot under the number means that day has at least one dated task. No dot means nothing is due — not “nothing loaded”.
  • The grid also shows the tail days of the neighbouring months, greyed out, so a week is never cut in half. Those days carry their tasks too: if the 1st of next month is visible in the last row, and something is due then, it gets its dot.
  • ‹ › move a month back and forward. There is nothing to load — the index is already in memory.

The tasks due that day appear in a list under the grid, each showing:

  • the text of the task
  • the note it lives in
  • and, on hover, the line number

Click one and mdai opens that note and scrolls to that task. From there you edit it like any other line of text, because that is all it is.

A day with a lot on it lists the first 20 tasks and then a +N more line. That is a display limit for the panel, not a limit on your notes.

Where the dates come from — and nowhere else

Section titled “Where the dates come from — and nowhere else”

Only from your own text. A task gets its day the moment you write a date on it, using the same @ date you would write for the Tasks panel:

- [ ] Renew the domain @2026-10-02
- [x] File the VAT return @2026-09-05 #admin
- [ ] Call back about the lease <- no date, never appears here

Change @2026-10-02 to @2026-10-09 in the note, and the task moves to the 9th. Delete the date and it leaves the calendar and stays in the Tasks panel under No date. Delete the line and it is gone from both. The note is always the original; the calendar is always the copy.

Both open and finished tasks are shown — a day you completed is still a day something happened on.

@YYYY-MM-DD and nothing else. @2026-09-15 works; @15.09.2026, @Sept 15 and @2026-9-15 are just text, and mdai will not guess at them. One unambiguous format is the reason a note written on one machine reads the same on another.

  • You cannot drag a task to another day. Moving it would mean rewriting your note behind your back. Change the date in the note; the calendar follows within the second.
  • There are no events, only dated tasks. A meeting becomes a task the moment you write it as one.
  • An empty month says “No tasks in this month.” That is the honest answer, not an error.
  • While a large vault is still being indexed, the grid is drawn straight away but the dots appear as the scan finishes. An empty grid during the first seconds means “still counting”, and it fills itself in.
  • Check the format — @2026-09-15, four-two-two, with dashes.
  • Check it is really a task: the line needs a checkbox, - [ ] or - [x]. A bare date in a paragraph is not a task and does not show up.
  • Check it is not inside a fenced code block. Code is left alone on purpose, so an example in your notes cannot become a real task.
  • Still nothing? View → Rescan Vault rebuilds the index from disk.