Obsidian/Feature/Task_Lists
Properties
Task lists — checkboxes & todos (Obsidian)
Overview
- Core feature: GitHub-Flavored Markdown task lists in any vault note—each line is a list item with a checkbox in the brackets. Obsidian calls these task lists in help; people also say checklists, checkboxes, or todos.
- Storage: Plain markdown on disk (
- [ ]/- [x]). No separate task database in core. - States in core: Incomplete (
inside brackets) and complete (x, or other characters—see syntax). No built-inTODO/DOING/DONEkeywords like Logseq; see Obsidian/Q/Does Obsidian have the ability to handle kanban-style TODO DOING DONE todos? for plugin and migration paths.
Official documentation
- Primary: Basic formatting syntax — Task lists (same page as Editing and formatting / Basic formatting syntax)
- List nesting (indent): same guide, Nesting lists —
Tab/Shift+Tabon selected list items - Customizable command hotkeys: Hotkeys
- OS-level editing keys (not rebindable in Obsidian): Editing shortcuts
- Parser details: Obsidian Flavored Markdown
Syntax
- Minimal task line: hyphen, space, opening bracket, space, closing bracket, space, description.
- Incomplete:
- [ ] Buy milk - Complete:
- [x] Buy milk(lowercasexis conventional; Obsidian treats other characters inside the brackets as “checked” too) - Custom markers (still one checkbox): e.g.
- [?] Maybe,- [-] Cancelled— any character in the brackets can represent done/custom state in core; plugins may assign meaning (e.g. Tasks uses/for in progress) - Nesting: indent subtasks with a tab (or spaces consistent with the parent list). Mix ordered, unordered, and task lists in one outline.
- Not core: leading
TODO/DOINGkeywords, due dates on the line, vault-wide task queries, or kanban columns—those need community plugins or a different tool surface.
Where it applies
- Any markdown note in the vault (including daily notes if you use them).
- Live Preview and Source mode: edit the markdown; checkbox UI appears in Live Preview where supported.
- Reading view: click the checkbox to toggle; Obsidian rewrites the bracket character in the file (help — Task lists).
- Publish: task list syntax renders on Obsidian Publish sites as normal HTML checkboxes (interactivity depends on publish settings).
- Embeds / transclusions: task lines in embedded content follow the same markdown rules as the source note.
- Outside core: Tasks, Dataview, TODOseq, obsidian-kanban, etc. add query UIs, extra statuses, or boards on top of this syntax—see Obsidian/Q/Does Obsidian have the ability to handle kanban-style TODO DOING DONE todos?.
Keyboard shortcuts & commands
- Discover or rebind:
Ctrl+P/Cmd+P(Command palette) shows each command’s current hotkey; Settings → Hotkeys lists all bindings (Hotkeys). - Toggle checkbox status (core): default
Ctrl+L(Windows/Linux) /Cmd+L(macOS). Cycles/creates checkbox state on the current line; rebindable. (Older builds usedCtrl+Enter/Cmd+Enterfor this; current default moved link-opening to that chord—see Obsidian 1.2.10 desktop changelog.) - Indent / outdent list items (including tasks):
Tab/Shift+Tabon selection (Nesting lists). - New line inside a list item without breaking numbering:
Shift+Enter(Lists). - Toggle bullet ↔ numbered list (optional): command Toggle bullet/numbered list — assign in Hotkeys if you convert plain bullets to tasks often.
- Reading view only: no default “clickless” hotkey beyond toggling via Toggle checkbox status or pointer click on the checkbox.
- Common plugin override: Tasks recommends replacing Toggle checkbox status with Tasks: Toggle task done (often mapped to
Ctrl+Enter/Cmd+Enter) for multi-state tasks (Tasks plugin).
- Discover or rebind:
Behavior notes
- Creation: type
- [ ]manually, paste templates, or run Toggle checkbox status on a line to introduce checkbox syntax. - Completion:
x(or another chosen character) inside[ ]; clicking in Reading view updates the file. - Queries: core has no “all open tasks in vault” view; use search (
task:/path:operators in search, or plugins). - Logseq contrast: Logseq uses block-level
TODO/DOING/DONEmarkers and built-in task queries; plain- [ ]in Logseq is not the same workflow as Obsidian’s primary task model.
- Creation: type
Examples