Documentation

CLI

Daynode from the command line.

Create, read, change, and delete the same local items used by the Daynode app.

Install

The CLI currently supports Apple silicon Macs. It needs Node.js 18 or newer.

npm install -g @daynode/cli

Check the install and list your items.

daynode --version
daynode list

Database

By default, the CLI opens the desktop app database. Close Daynode before large scripted changes and keep a backup.

~/Library/Application Support/com.daynode.desktop/daynode.sqlite

Use --db or DAYNODE_DB_PATH for another file.

daynode path
daynode --db /tmp/daynode.sqlite list
DAYNODE_DB_PATH=/tmp/daynode.sqlite daynode list

Commands

list
List items, with optional filters.
show
Show one item by ID.
add
Add an event, note, or task.
edit
Change an existing item.
delete
Delete an item.
path
Print the database path.

Add --help after any command to see its flags.

List items

daynode list
daynode list --kind event
daynode list --calendar Work --from 2026-07-01 --to 2026-07-31
daynode list --json
--kind <event|note|task>
Only show one item type.
--calendar <name>
Only show one calendar.
--from <YYYY-MM-DD>
Only show items on or after this date.
--to <YYYY-MM-DD>
Only show items on or before this date.
--json
Print JSON for scripts.

Show one item

daynode show <item-id>
daynode show <item-id> --json

Add an item

daynode add \
  --title "Planning" \
  --date 2026-07-10 \
  --start 09:00 \
  --end 10:00 \
  --calendar Work \
  --location "Office"
daynode add --kind task --title "Send notes" --date 2026-07-10
daynode add --kind note --title "Ideas" --body-file ./ideas.md
daynode add --title "Launch day" --date 2026-07-10 --all-day
--kind <event|note|task>
Item type. Defaults to event.
--title <text>
Item title. Required.
--date <YYYY-MM-DD>
Local date. Defaults to today.
--start <HH:MM>
Start time. Defaults to 09:00.
--end <HH:MM>
End time. Defaults to one hour after start.
--all-day
Create an all-day event.
--calendar <name>
Calendar name. Defaults to Daynode.
--color <hex>
Calendar color.
--location <text>
Event location.
--body <text>
Markdown body.
--body-file <path>
Read the Markdown body from a file.
--reminder-minutes <number>
Reminder time before the item.
--json
Print the created item as JSON.

Edit an item

daynode edit <item-id> --title "Updated title"
daynode edit <item-id> --date 2026-07-11 --start 14:00 --end 15:30
daynode edit <item-id> --clear-location --clear-reminder
--kind <event|note|task>
Change the item type.
--title <text>
Change the title.
--date <YYYY-MM-DD>
Move the item to a date.
--start <HH:MM>
Change the start time.
--end <HH:MM>
Change the end time.
--all-day / --timed
Switch between all-day and timed.
--calendar <name>
Change the calendar.
--color <hex>
Change the color.
--location <text>
Set the location.
--clear-location
Remove the location.
--body <text>
Set the Markdown body.
--body-file <path>
Read the Markdown body from a file.
--clear-body
Remove the body.
--reminder-minutes <number>
Set the reminder time.
--clear-reminder
Remove the reminder.
--json
Print the changed item as JSON.

Delete an item

Daynode asks before deleting. Use --yes to skip the prompt in a script.

daynode delete <item-id>
daynode delete <item-id> --yes

Formats and scripts

  • Dates use local time in YYYY-MM-DD format.
  • Times use the 24-hour HH:MM format.
  • Notes and item bodies support Markdown.
  • list, show, add, and edit support JSON output.
  • A failed command writes an error to stderr and exits with code 1.