User Manual

Everything Taskly can do

Scheduling shortcuts, lists, editing, the CLI, and sync — in one place.

⚡️ Scheduling shortcuts

Type a task, then add a scheduling modifier at the end. Taskly extracts the modifier, parses it into a date and time, and leaves the rest as the task text. No calendars to scroll, no dials to turn.

There are two modifiers: + for relative time, and @ for an exact time of day. You can use one or both.

➕ Relative time

A + followed by a number and a unit means "that much time from now."

Syntax Unit Example Meaning
+10mminutes+30m30 minutes from now
+2hhours+2h2 hours from now
+1ddays+1d1 day from now
+1wweeks+2w2 weeks from now
+1Mmonths (30 days)+6M6 months from now
⚠️ Note the units
Lowercase m = minutes, uppercase M = months. h = hours, d = days, w = weeks. The number may be omitted (e.g. +d means 1 day).

⏰ Exact time

A @ followed by a time sets a specific moment today. You can pin it to tomorrow or a weekday.

Syntax Example Meaning
@10am@9am10:00 today
@10:30pm@10:30pm22:30 today
@22:30@22:3024-hour time
@now@nowThis exact moment
@10am tomorrow@8am tmwtomorrow at that time (tmw works too)
@8pm mon@6pm frinext Monday/Friday at that time
🕒 Already passed? Tomorrow it is.
If the time today has already passed and no weekday is given, Taskly silently rolls it forward to the same time tomorrow.

Weekday abbreviations: mon, tue, wed, thu, fri, sat, sun.

📅 Absolute dates

In the detail dialog or with the CLI --due flag, you can type a full date instead of a modifier. These always set the date with no time.

Format Example
yyyy-MM-dd2026-08-07
yyyy/MM/dd2026/08/07
MM/dd/yyyy08/07/2026
dd/MM/yyyy07/08/2026

✨ Putting it together

The modifier lives at the end of the task text. Anything before it becomes the task title.

买牛奶 +1d → → tomorrow, same time
Standup @9am → today 9:00
Ship release @5pm fri → next Friday 17:00
Call mom @8pm tmw → tomorrow 20:00
Reply to email +30m → in 30 minutes

🗓 Smart lists

The four tiles at the top of the sidebar are automatic views, built from every list:

Today

Tasks due today or overdue.

Planned

Everything with a future date or time.

All

Every task, grouped by list.

Completed

Finished tasks, kept for review.

Each tile shows a count badge. Click any tile to filter the task pane.

📂 Custom lists

Below the smart tiles, create your own lists to separate Work, Life, Ideas, and so on. Each list gets an emoji icon and a color.

Create

Click the + next to "My Lists." A default emoji (📋) and blue color are applied if you skip them.

Edit

Double-click a list to rename it or change its icon/color.

Move a task

Right-click a task → "Move to list" → pick the target.

Delete a list

Deleting a list removes all tasks in it (cascade).

✏️ Editing tasks

Taskly has two editing surfaces: a quick inline editor, and a full detail dialog.

Inline editing

Complete / uncomplete

Click the round checkbox. Instant, no mode.

Edit text + date + notes

Double-click the task row. Press Enter to save, Esc to cancel.

Detail dialog (ⓘ)

Open

Click the ⓘ button on any task row.

Fields

Task text, notes, date, and time — all editable.

Date & time

Click the date/time buttons to open pickers. Clear to remove.

Delete

Delete button asks for confirmation first.

⌘ Command-line interface

The same Taskly binary is also a CLI. Run it with a subcommand and it never boots the GUI — perfect for scripts and AI agents. Every command speaks JSON.

Install the taskly command to your PATH once:

# install the CLI (macOS/Linux: ~/.local/bin · Windows: user PATH) $ taskly install-cli
Command What it does
listList tasks (filter by list/view/status)
listsList all task lists
add "<text>"Add a task (--list, --due, --time, --notes)
update <id>Edit a task
done / undoneSet complete/incomplete (idempotent)
rm <id>Delete a task
search "<kw>"Fuzzy search tasks
mklist / rmlistCreate / delete a list

The --due flag uses the same scheduling syntax as the GUI:

# schedule with the same + and @ modifiers $ taskly add "Standup" --due @9am --list "Work" --json $ taskly add "Buy milk" --due +1d $ taskly add "Review PRs" --due 2026-08-07 --time 17:00

Exit codes: 0 success · 1 generic error · 2 validation failed · 3 not found · 4 database error.

🔄 Cloud sync

Taskly stores everything in a single local SQLite database file. To sync across devices, put the .db file in any cloud-synced folder — iCloud, Dropbox, Syncthing — and point each device at it.

🔒 WAL mode keeps it safe
Taskly runs SQLite in WAL mode, so concurrent reads and writes from cloud-sync daemons won't corrupt your data. No account, no cloud lock-in.