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/cliCheck the install and list your items.
daynode --version
daynode listDatabase
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.sqliteUse --db or DAYNODE_DB_PATH for another file.
daynode path
daynode --db /tmp/daynode.sqlite list
DAYNODE_DB_PATH=/tmp/daynode.sqlite daynode listCommands
- 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> --jsonAdd 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> --yesFormats 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.