Stephen Cross3k downloadsLightweight keyword-based task tracker using Logseq style keywords.
Keyword-based task management for Obsidian. No checkboxes required.
TODOseq ("to-do-seek") scans your vault for tasks marked with simple state keywords like TODO, DOING, and DONE, then presents them in a unified Task List view. Inspired by Logseq and Org-mode, it lets you capture tasks naturally within your notes without disrupting your writing flow.

Most task managers force you into a separate system. TODOseq meets you where you already work—inside your Obsidian notes. Type TODO Write report anywhere in your vault, and it appears instantly in your Task List. No switching contexts, no special syntax to remember, no checkboxes to click.
Natural Task Capture — Write tasks as plain text using keywords: TODO, DOING, DONE, LATER, NOW, WAIT, and more. Add priorities [#A], [#B], [#C] and dates SCHEDULED: <2025-03-15> using familiar Logseq-style syntax.
Unified Task List — See all tasks from across your vault in one searchable, sortable panel. Filter by state, priority, date, tags, or use advanced boolean queries. Sort by urgency to surface what matters most right now.
Works Everywhere — Tasks remain functional in both Edit mode and Reader view. Click any keyword to cycle through states. Right-click for direct state selection. Use Ctrl+Enter to toggle tasks from your keyboard.
Code-Aware — Extracts tasks from code block comments in 20+ languages. Capture // TODO Refactor this from JavaScript, # TODO Optimize query from SQL, or <!-- TODO Update docs --> from HTML.
Embedded Lists — Render filtered task lists directly in your notes using todoseq code blocks. Create dynamic dashboards showing "High Priority Work Tasks" or "Overdue Items" that update automatically.
Subtasks — Break down complex tasks with indented checkbox items. The Task List shows subtask progress as [1/3] indicating completed and total subtasks.
Repeating Tasks — Automatically advance scheduled and deadline dates when completed. Use .+1d, ++1w, or +1m syntax to create recurring tasks.
Closed Date Tracking — Optional CLOSED date on completed tasks, following Org-mode syntax. Records when tasks were marked as done and automatically manages the date when tasks are reactivated.
Logseq Compatible — Use the same task format across both tools. Existing Logseq tasks work without modification. Dual-use your vault or migrate at your own pace.
Experimental Features — Additional capabilities including Org-mode file support are available as experimental features. See documentation for details.
TODO [#A] Finish quarterly report #work
SCHEDULED: <2025-03-15>
DOING [#B] Review pull requests #coding
DONE Submit expense report
DEADLINE: <2025-03-10>
TODO, DOING, DONE, etc. in any notepriority:high deadline:this weekSettings → Community plugins → Browse → Search "TODOseq" → Install → Enable
cd /path/to/your/vault/.obsidian/plugins
git clone https://github.com/scross01/obsidian-todoseq.git todoseq
cd todoseq
npm install
npm run build
Then enable "TODOseq" in Settings → Community plugins.
Comprehensive documentation is available at scross01.github.io/obsidian-todoseq
TODO Draft proposal
DOING Review feedback
DONE Submit final version
TODO [#A] Critical security patch
DEADLINE: <2025-03-12>
DOING [#B] Update documentation
SCHEDULED: <2025-03-15>
# TODO Add input validation
# FIXME Handle edge case when user is null
def process_user(user):
pass
Note: Org-mode support is an experimental feature. Enable it in Settings → TODOseq → Experimental features.
* TODO [#A] Critical security patch
DEADLINE: <2025-03-12>
** DOING [#B] Update documentation
SCHEDULED: <2025-03-15>
*** DONE Submit expense report
```todoseq
search: tag:work priority:high
sort: urgency
show-completed: hide
limit: 10
title: High Priority Work
```
MIT License — see LICENSE for details.