Skip to content

Checkboxes

riomoo edited this page Apr 8, 2026 · 1 revision

Checkboxes

nt has first-class support for Markdown checkboxes — you can check, uncheck, and interactively toggle tasks from the command line without opening an editor.


Checkbox Syntax

Inside a note, checkboxes follow standard GitHub-Flavoured Markdown:

- [ ] Unchecked item
- [X] Checked item

Indentation is supported for nested tasks:

- [ ] Top-level task
  - [ ] Sub-task A
  - [X] Sub-task B (done)

nt check

Marks the first checkbox whose text matches <pattern> (case-insensitive).

nt check <note> <pattern>
nt check meeting "Follow up with Alice"
# ✓ Checked item matching 'Follow up with Alice'

nt uncheck

Reverses a checked item back to unchecked.

nt uncheck <note> <pattern>
nt uncheck meeting "Follow up with Alice"
# ✓ Unchecked item matching 'Follow up with Alice'

nt toggle — Interactive TUI

Displays all checkboxes in a note as a numbered list and lets you toggle them by entering the item number. Press q to quit.

nt toggle <note>

Example session:

Checkboxes in 'meeting'  (enter number to toggle, q to quit)

  1. [ ] Follow up with Alice
  2. [✓] Book conference room
  3. [ ] Send agenda

Toggle #: 1
  Checked ✓
Toggle #: q

Changes are written to the file and committed after each toggle.


How Matching Works

Both check and uncheck use a case-insensitive substring match against the full checkbox line. If multiple lines match the pattern, all of them are updated. Use a more specific pattern if you need to target a single item.

# Updates ALL items containing "Alice"
nt check meeting "alice"

# More specific — targets only this exact task
nt check meeting "Follow up with Alice by Friday"

Clone this wiki locally