Aaron Penne361 downloadsAutomatically move completed tasks to the bottom of their checkbox group
Yet another Obsidian plugin that moves completed tasks to the bottom of the list when you check them off. This one behaves like Apple Notes, Todoist, and Noteplan.

It does two things:
Delay, placement, subtask handling, which checkbox characters count as "done", and more are all configurable.
Community plugins: Settings > Community plugins > Browse, search "Move Completed Tasks", Install, Enable. Or install directly.
Manual: Grab move-completed-tasks.zip from the latest release, unzip into <vault>/.obsidian/plugins/, enable in Settings > Community plugins.
BRAT: Add aaronpenne/move-completed-tasks.
Check a task and it moves to the bottom of its group, subtasks and all. Subtasks stay with their parent; a nested checkbox never jumps out of its parent list.
A "group" here means any unbroken run of checkboxes at the same indent level. Blank lines, headings, code fences, or non-checkbox content end a group. This matches what the plugin's settings UI calls a group.
Open the command palette (Ctrl/Cmd+P) and search "Move completed":
| Command | What it does |
|---|---|
| Move all completed tasks down (scoped) | Goes through every group in the document and pushes completed tasks to the bottom. Handles nesting. Keeps relative order. |
| Collect all completed tasks to end of document | Pulls every completed task out of the body and drops them under a configurable ## Completed heading at the end of the note. |
Both can be bound to hotkeys in Settings > Hotkeys.
| Option | Default | What it does |
|---|---|---|
| Enable | On | Master toggle for auto-move on check |
| Move with subtasks | On | Move nested items as a block with their parent |
| Skip subtasks with open parent | Off | Don't move a completed subtask if its parent task is still open |
| Placement | Above completed | Where newly completed tasks land: above other completed items, or absolute bottom of the group |
| Excluded characters | ?!*"lbiSIpcfkwud |
Checkbox characters that count as statuses, not completions (Minimal theme decorators by default) |
| Completed heading | Completed | Heading text used when collecting completed tasks to the end of the document |
| Section-aware collection | Off | When collecting, group completed tasks under sub-headings that mirror the original document structure |
| Highlight moved task | On | Brief visual flash at the task's new position |
| Move delay | 0s | Seconds to wait before moving (0 = instant). Uncheck before the delay fires to cancel. |
Add move-completed: false to a note's frontmatter to disable all auto-move and bulk commands for that note:
---
move-completed: false
---
Works with any theme that uses standard markdown checkboxes. Themes like Minimal, AnuPpuccin, and ITS Theme add alternative checkbox states ([?] for question, [!] for important, etc.), and the excluded characters setting keeps those from being treated as completed. The default exclusion list covers all Minimal theme decorators:
[?] question [!] important
[*] star ["] quote
[l] location [b] bookmark
[i] info [S] savings
[I] idea [p] pros
[c] cons [f] fire
[k] key [w] win
[u] up [d] down
There are a lot of great task plugins for Obsidian. Here's what else is out there: