back to blog
obsidianMay 29, 2026 · 4 min read

Obsidian Tasks: Query Your Entire Vault and Never Miss a Deadline

The Obsidian Tasks plugin turns scattered checkboxes into a vault-wide task management system — here's how to use its query syntax to build a dashboard that actually keeps you on top of things.

Dan Holloran
Dan Holloran
Senior Frontend & Fullstack Developer
Obsidian Tasks: Query Your Entire Vault and Never Miss a Deadline image

If you've been using Obsidian for a while, you've almost certainly accumulated tasks scattered across dozens of notes. A checkbox in a project file here, a to-do buried in a daily note there, a deadline jotted down in a meeting summary you haven't opened in two weeks. Plain Markdown checkboxes are great for capturing tasks in context, but terrible for getting a birds-eye view of what actually needs to happen today.

That's the problem the Tasks community plugin solves. It's one of the most downloaded plugins in the Obsidian ecosystem for good reason: it turns your scattered checkboxes into a queryable, cross-vault task system without forcing you to abandon the files-and-folders structure you already have.

Task Syntax: More Than a Checkbox

Once you install Tasks from the Community Plugins browser (Settings → Community plugins → Browse, search "Tasks"), your checkboxes get superpowers through emoji markers. A basic task might look like this:

markdown
- [ ] Write quarterly review 📅 2026-06-01 🔁 every month

Each emoji signals something specific to the plugin:

  • 📅 — due date
  • — scheduled date (when you plan to work on it, vs. when it's actually due)
  • 🛫 — start date (the task won't show in queries until this date)
  • 🔁 — recurrence rule
  • ⬆️ / 🔼 / 🔽 — priority (urgent / high / low)

The modal you get when you click the Tasks checkmark icon in the toolbar makes entering these painlessly — you don't need to remember every emoji. But once you start reading them inline, they're surprisingly scannable.

Recurrence deserves a closer look because it's genuinely useful for habit tracking and recurring professional duties. 🔁 every week on Monday or 🔁 every month on the 1st will automatically generate a new task when you check the current one off. You can also use completion-based recurrence — 🔁 every 7 days when done — so the next occurrence is calculated from when you actually finished, not from the original due date. This distinction matters a lot for tasks like "review inbox" that slip occasionally.

The Query Block: Your Personal Task Dashboard

The real magic of Tasks isn't the syntax — it's the query system. You can drop a fenced code block anywhere in your vault and filter tasks from across every single note:

markdown
```tasks
not done
due before tomorrow
sort by priority
```

That block will render a live list of every overdue or today-due task in your entire vault, sorted by priority. You can put this in your daily note, a dedicated "Today" dashboard file, or a weekly review template.

The query language is fairly readable once you know the keywords. Here are some examples that cover most common use cases:

markdown
```tasks
not done
due this week
path includes Projects
group by due
```

This one limits results to tasks inside your Projects folder, groups them by due date, and filters to the current week — useful for a project-level review. You can also filter by tags:

markdown
```tasks
not done
tags include #work
scheduled before next week
sort by scheduled
```

Combining scheduled and due dates is a workflow shift worth embracing. Due means the hard deadline; scheduled is when you intend to actually do the work. Filtering on scheduled in your daily note keeps you from staring at a wall of future deadlines that aren't actionable yet.

Building a Minimal Weekly Dashboard

A practical setup many Obsidian users land on is a single Dashboard.md file with a handful of query blocks stacked vertically — overdue tasks at the top, today's tasks next, then the rest of the week. Something like:

markdown
## Overdue

```tasks
not done
due before today
sort by due
```

## Today

```tasks
not done
due today
sort by priority
```

## This Week

```tasks
not done
due after today
due before in 7 days
sort by due
```

This gives you a Morning Pages-style anchor file to open every day. Because Tasks queries are live — they re-run each time the file is opened — it's always accurate without any manual maintenance.

One newer feature worth knowing: query presets. If you find yourself writing the same filter blocks repeatedly across templates, you can save them as named presets in the Tasks plugin settings and reference them by name. It cuts down on copy-paste drift when your filtering logic evolves.

Getting Started

If you haven't tried Tasks yet, the official documentation at publish.obsidian.md/tasks is thorough and well-organized — the Quick Reference page in particular is worth bookmarking once you're up and running. Start simple: install the plugin, add a 📅 date to your next few tasks, and create one query block in your daily note. The value compounds fast once your task data is consistent enough to query meaningfully.