The TaskNotes plugin transforms task management by treating each task as an individual Markdown note enriched with YAML frontmatter. It supports extensive metadata like due dates, statuses, priorities, contexts, and project links, allowing users to create deeply connected and highly customizable workflows. With multiple views including calendar, kanban boards, filtered lists, and daily agendas, it fits both simple to-do tracking and complex project planning. Time tracking features like start/stop timers, session history, and an integrated pomodoro timer help monitor productivity. Tasks can also recur with per-instance tracking, and the plugin supports ICS feed subscriptions for syncing with external calendars. The ability to extend frontmatter for custom fields enhances compatibility with other Obsidian tools like Bases.
- Gabriel Amaro HernandezReviewed on Feb 19th, 2026★★★★★The only one thing i change of this plugin. Its the tutorial, for the rest its amazing
- Julian VenturaReviewed on Jan 3rd, 2026★★★★★No review text provided.
- Stefi ButlerReviewed on Nov 27th, 2025★★★★★No review text provided.
- PrakashReviewed on Nov 24th, 2025★★★★★No review text provided.
TaskNotes 4.4.0
Added
- Mdbase type generation now includes
tn_roleannotations so external tools can identify each field's role even when frontmatter names are customized - (#1618) Mdbase type matching now follows your task identification settings (tag or frontmatter property), with fallback to tag matching when needed
- Thanks to @jimbo108108 for reporting
- Mdbase type status fields now include
tn_completed_valuesso external tools can reliably identify which status values count as completed
- (#1576) Added an optional
Checklist Progresstask-card property that renders a compact progress bar andcompleted/totalcount from top-level markdown checkboxes- Uses metadata cache list items and excludes nested checklist entries so progress reflects top-level task steps
- In Bases views, map
tasks(file.tasks) toChecklist Progress - Existing
.basefiles needfile.tasksadded to the vieworderYAML manually - Newly generated
.basetemplates now includefile.tasksin vieworderby default - Thanks to @phortx for opening #1576 and for the earlier implementation PR, and @piyushaswani55 for feedback in the issue discussion
Changed
- Mdbase type generation no longer overwrites
mdbase.yamlif the file already exists, preserving user customisations - Webhooks now fire consistently regardless of whether updates come from the UI, HTTP API, or MCP
- Webhook runtime state now syncs automatically when plugin settings change
- Shared HTTP response/body parsing utilities are now consolidated in a dedicated
httpUtilsmodule - Release notes now include a reminder on every release page that default generated
.basetemplate changes never overwrite existing user.basefiles, and that users can regenerate templates from Settings to pick up updates
Fixed
- (#1608) Fixed task title frontmatter being removed when
storeTitleInFilenameis enabledtitleis now retained in frontmatter while filename derivation from title remains unchanged- Thanks to @victoraraujo105 for the PR
- (#1602) Fixed time tracking statistics showing incorrect or zero values for Today/Week/Month due to UTC-anchored date range boundaries in Stats View
- Updated range calculations to use local calendar-day boundaries consistently
- (#1602) Fixed inconsistent
timeEntriestimestamp formats across create/edit/drag/resize flows- Time entry timestamps are now written in canonical UTC ISO format (
toISOString()withZ) across all write paths
- Time entry timestamps are now written in canonical UTC ISO format (
- (#1602) Fixed denormalized
timeEntries.durationdrift after edits- Time tracking calculations now derive duration from
startTime/endTime - Time entry save paths now strip legacy
durationvalues instead of persisting them - Thanks to @dy66 for opening #1602
- Time tracking calculations now derive duration from