Obsidian Tasks, Dataview and nokko's files
A nokko task is an Obsidian Tasks line: a checkbox, emoji dates and priority marks, with custom values written as Dataview inline fields. The Tasks and Dataview plugins can query nokko's files as they are, and nokko needs neither plugin.
For Mac Β· Last checked
The task line
- [ ] Order samples [Budget:: 900] [est:: 3h] π― β« π every week π« 2026-08-01 β³ 2026-08-04 π
2026-08-14 #fitoutMost of that is optional: - [ ] Order samples is a complete task. A board is a file with type: project in its frontmatter, ## headings are its groups, and an indented task is a subtask.
Order matters. nokko and the Tasks plugin both read marks from the end of the line. Both stop at the first thing they do not know. So keep [Name:: value] fields to the left of the emoji. nokko writes them in that order: text, fields, π―, π, β, priority, π, π, β, π«, β³, π
, β, β
, then a block link.
Every mark nokko reads and writes
| Mark | Meaning | What nokko does | Dataview field |
|---|---|---|---|
| π | MeaningDue date | What nokko doesReads and writes. Also reads π and π, and writes π . | Dataview fielddue |
| β³ | MeaningScheduled date | What nokko doesReads and writes. Also reads β. | Dataview fieldscheduled |
| π« | MeaningStart date | What nokko doesReads and writes. | Dataview fieldstart |
| β | MeaningCreated date | What nokko doesReads, and writes it on quick add. | Dataview fieldcreated |
| β | MeaningDone date | What nokko doesReads, and writes it when you finish a task. | Dataview fieldcompletion |
| β | MeaningCancelled date | What nokko doesReads, and writes it when you cancel a task. | Dataview fieldNone |
| πΊ β« πΌ π½ β¬ | MeaningPriority, highest to lowest | What nokko doesReads and writes. | Dataview fieldNone |
| π | MeaningRepeat rule | What nokko doesReads and writes. Acts on the rules in dates and repeats, and copies any other rule forward unchanged. | Dataview fieldNone |
| π β | MeaningTask id and depends-on | What nokko doesReads and writes. The timeline draws them as arrows. | Dataview fieldNone |
| π | MeaningOn completion | What nokko doesReads and keeps it. | Dataview fieldNone |
^block-id | MeaningBlock link | What nokko doesReads and keeps it last on the line. | Dataview fieldNone |
#tag | MeaningTag | What nokko doesReads it anywhere in the text. | Dataview fieldtags |
| π― | MeaningMilestone | What nokko doesnokko's own mark, read anywhere on the line. The Tasks plugin shows it as a plain character. | Dataview fieldNone |
| β± | MeaningTime entry | What nokko doesnokko's own, on a line under the task. See the time entry format. | Dataview fieldList text only |
The checkbox holds the status: [ ] open, [/] in progress, [>] waiting, [x] or [X] done, [-] cancelled. Any other single character is kept as written and counts as open. What the Tasks plugin calls /, - and > depends on your settings in that plugin. A symbol it does not know counts as TODO.
The inline fields
| Field | What it holds | In Dataview |
|---|---|---|
[Name:: value] | What it holdsA custom column declared in the board's columns:. | In DataviewName, on the task. |
[est:: 2h30m] | What it holdsEstimate, written as 2h30m, 3h or 45m. Needs no column. | In Dataviewest, as a duration. |
[status:: In review] | What it holdsA custom status, from the board's statuses:. | In DataviewHidden: status on a task is always the checkbox character. |
[type:: Bug] | What it holdsTask type. | In Dataviewtype |
[remind:: 2026-11-23 09:30] | What it holdsA reminder at that minute. | In Dataviewremind |
[files:: a.pdf, b.png] | What it holdsFiles in the workspace, by path. | In Dataviewfiles |
nokko reads the bracket form only, so (key:: value) is plain text to it. It will not create a column named est, status, type, or any field name the Tasks plugin's Dataview format owns: due, start, scheduled, created, completion, cancelled, priority, repeat, id, dependsOn, onCompletion. If a file already has one, nokko keeps it and warns.
One limit from Dataview: it refuses a field name containing brackets. So the [Logged (ClickUp):: 1h30m] column from a ClickUp import works in nokko but is invisible to Dataview.
A Tasks query over nokko's files
Paste this into any note in the vault. It lists what is due today or overdue in one folder, grouped by board. Change Client work/ to your own folder.
```tasks
not done
due on or before today
path includes Client work/
sort by due
group by filename
```If nokko's tasks do not appear, look at the Global Filter in the Tasks plugin's settings. With a filter set, Tasks only counts lines that contain it. nokko has no such filter and does not add that text to the tasks it writes.
Dataview queries over nokko's files
```dataview
TASK
FROM "Client work"
WHERE !completed AND status != "-" AND due AND due <= date(today) + dur(7 days)
SORT due ASC
``````dataview
TABLE WITHOUT ID T.text AS "Task", T.est AS "Estimate", T.Budget AS "Budget"
FROM "Client work"
FLATTEN file.tasks AS T
WHERE !T.completed AND T.status != "-" AND T.est
```Dataview reads the date emoji as due, scheduled, start, created and completion. It does not read priorities or repeats, and its text field includes the raw marks. To query hours, see Query them with Dataview.
What nokko leaves untouched
An edit changes only the characters it has to. Move a due date and that one date changes in the file. Your prose, links, blank lines, indentation and any mark nokko does not recognise stay byte for byte.
nokko does not read or change .obsidian, your plugins or your themes. It adds one hidden folder, .nokko, at the top of the workspace for its index and view settings.
Open an existing vault
On the Mac
- Choose Workspace βΈ Open Workspaceβ¦. On first launch the button is Open an Existing Folderβ¦.
- Pick the vault folder. Obsidian can stay open on it.
- Open Inbox. Tasks in notes that are not boards yet are listed there, grouped by file.
- Use Make Project on a file's group to turn that note into a board.

Make Project adds type: project to the file's frontmatter, and βZ removes it. Nothing else changes in your notes. A file with no type and no tasks lists as a doc. A file with a type nokko does not know is left as it is, though its tasks still count.
A vault in iCloud Drive or Dropbox
On the Mac
The vault opens, and nokko warns you once for that vault on each Mac. The same warning covers iCloud Drive, Dropbox, Google Drive, OneDrive and other cloud folders. Those services can replace a file underneath nokko or leave a placeholder where a file was. Their conflict copies also appear as extra boards.
The safest setup is a vault in an ordinary local folder, with nokko's own sync carrying it between devices. If you use Obsidian Sync today, read sync without Obsidian Sync.
What nokko's sync carries
Sync carries your Markdown, not the whole vault. It copies every .md file, plus png, jpg, jpeg, tiff, heic and pdf files inside People/ and Invoices/.
It does not copy .obsidian, dot-folders or attachments anywhere else. An image in your vault's attachments folder stays on the Mac it is on, so it will be missing on another device. Keep Obsidian's own settings and attachments in step some other way if you need them there.
Questions
- Do I need the Tasks or Dataview plugin to use nokko?
- No, nokko reads and writes the task lines itself and installs nothing in Obsidian. The notation is compatible, so if you already use the Tasks or Dataview plugin it can query nokko's files. Without them, Obsidian shows the same lines as ordinary checkboxes with emoji and bracketed fields in the text.
- Will nokko change my existing Obsidian notes?
- Only when you ask, because nokko just reads your notes when it opens the vault. It adds a hidden .nokko folder of its own. An edit you make changes just the characters involved. Everything else in the file stays byte for byte, including syntax nokko does not recognise.
- Does nokko read Dataview's round-bracket fields?
- No, nokko reads the square-bracket form, [Name:: value], and treats (key:: value) as plain text, because brackets in ordinary task wording are too common to guess at. The text stays in the file and Dataview still reads it. Use square brackets for any value you want to see as a column.