optimummost00140 downloadsAutomatically moves completed tasks to the bottom of their list, 5 seconds after check off.
An Obsidian plugin that automatically moves completed tasks to the bottom of their list — 5 seconds after you check them off.
When you tick a task checkbox, the plugin waits 5 seconds and then silently relocates that task — along with any sub-items nested beneath it — to the end of its sibling group. Incomplete tasks stay exactly where they are. The result is a continuously self-organizing list where finished work sinks to the bottom without any manual drag-and-drop.
If you change your mind and uncheck the task before the 5-second delay expires, the pending move is cancelled and nothing happens.
```) are never movedThe plugin recognises all standard Markdown task list syntax:
- [ ] Bullet dash
* [ ] Bullet asterisk
+ [ ] Bullet plus
1. [ ] Numbered list
Completion is detected for both lowercase and uppercase x:
- [x] completed (lowercase)
- [X] completed (uppercase)
Given this list:
- [ ] Buy groceries
- [x] Eggs
- [ ] Milk
- [ ] Bread
- [ ] Call the bank
Five seconds after checking Eggs, the list becomes:
- [ ] Buy groceries
- [ ] Milk
- [ ] Bread
- [x] Eggs
- [ ] Call the bank
Only the siblings inside Buy groceries are reordered. The top-level items are untouched.
main.js and manifest.json from the latest release.<your vault>/.obsidian/plugins/move-completed-tasks-down/.This plugin has no configuration options. It works automatically once enabled.
| Requirement | Version |
|---|---|
| Obsidian | 1.0.0 or later |
| Desktop | Yes |
| Mobile | Yes |
Will it move tasks I have already completed before installing the plugin? No. The plugin only reacts to tasks that are checked off while it is running. Pre-existing completed tasks are left in place.
What if I edit the file right after checking a task? The plugin re-reads the file when the 5-second timer fires, so it always operates on the latest content. It searches a small window around the original line number to locate the task even if lines shifted due to your edits.
Does it work with Dataview or Tasks plugin checkbox states like - [/] or - [-]?
No. Only [x] and [X] are treated as completed. All other custom states are ignored.
Can the 5-second delay be changed? Not currently. A settings panel to configure the delay is planned for a future release.
Is my vault modified unexpectedly? The plugin only writes to a file when at least one completed task is out of order in its sibling scope. If the list is already sorted, it does nothing.
Pull requests and issues are welcome. To build from source:
git clone https://github.com/<your-username>/obsidian-move-completed-tasks-down
cd obsidian-move-completed-tasks-down
npm install
# Development build (watches for changes)
npm run dev
# Production build
npm run build
Copy main.js and manifest.json into your vault's plugin folder to test.