davison46 downloadsSort tasks by completion or due date at the current list level, and clear completed tasks from a list or the whole note.
An Obsidian plugin with four commands: Sort completed tasks to bottom, Sort by due date, Clear completed tasks, and Clear completed tasks in current document. In the command palette they appear as Organise Tasks: Sort completed tasks to bottom and so on.
It reorders the task list at the level your cursor is on, or at the shallowest list level touched by your selection. Completed tasks sink to the bottom and everything else keeps its order.
Sort by due date orders incomplete tasks soonest first using 📅
due dates, falling back to ⏳ scheduled dates. Undated incomplete tasks follow
dated ones. Completed tasks move to the bottom using the completed-task sorting
rules described below. Overdue tasks are not specially grouped or highlighted.
You can optionally limit sorting to dates within a number of days from today.
Clear completed tasks removes [x] / [X] items at the same list
level and within the same cursor or selection scope as sorting. Children and
annotations are removed with their parent, including unfinished children.
Cancelled items are kept by default. The edit can be undone in one step.
Clear completed tasks in current document applies the same clearing rules to every list in the active document, including nested tasks. When a completed parent is removed, its whole subtree is removed with it.
[x] / [X] (done) or [-] (cancelled).CANCELLED in its core or custom status settings
also count as cancelled. For example, [>] counts as cancelled when its type
is CANCELLED, regardless of its name. Settings are read each time a command
runs, so changes apply without reloading Organise Tasks. This also works when
Tasks is disabled. Without Tasks installed, [-] remains the only cancelled symbol.✅ YYYY-MM-DD) or cancelled (❌ YYYY-MM-DD) date. Tasks without a date
follow the dated ones, in their original order.[ ], [/], other status symbols, and plain bullets.These are the defaults. Settings → Organise Tasks can adjust the rules below without changing any of the above until you touch a setting.
ChrisDavison/organise-tasks.main.js and manifest.json from the latest
GitHub release.<vault>/.obsidian/plugins/organise-tasks/. The folder
name must match the plugin ID in manifest.json.Version 2.0.0 changed the plugin ID from todo-sort-completed to
organise-tasks. Install Organise Tasks, copy data.json from
.obsidian/plugins/todo-sort-completed/ into .obsidian/plugins/organise-tasks/
to keep your settings, rebind any hotkeys, then remove the old plugin.
Run Sort completed tasks to bottom from the command palette, or bind a hotkey to it. Run Sort by due date to order incomplete tasks by their due or scheduled date. The two clear commands remove completed tasks from the current list scope or the whole active document.
There is no build step and no dependencies. main.js is the complete source.
Run the tests with node --test.
Not handled: ordered lists and multiple cursors. Those are reported rather than edited.
This project is licensed under the MIT License. See LICENSE for the full license text.