⚡️ 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 |
|---|---|---|---|
+10m | minutes | +30m | 30 minutes from now |
+2h | hours | +2h | 2 hours from now |
+1d | days | +1d | 1 day from now |
+1w | weeks | +2w | 2 weeks from now |
+1M | months (30 days) | +6M | 6 months from now |
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 | @9am | 10:00 today |
@10:30pm | @10:30pm | 22:30 today |
@22:30 | @22:30 | 24-hour time |
@now | @now | This exact moment |
@10am tomorrow | @8am tmw | tomorrow at that time (tmw works too) |
@8pm mon | @6pm fri | next Monday/Friday at that time |
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-dd | 2026-08-07 |
yyyy/MM/dd | 2026/08/07 |
MM/dd/yyyy | 08/07/2026 |
dd/MM/yyyy | 07/08/2026 |
✨ Putting it together
The modifier lives at the end of the task text. Anything before it becomes the task title.
🗓 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:
| Command | What it does |
|---|---|
list | List tasks (filter by list/view/status) |
lists | List all task lists |
add "<text>" | Add a task (--list, --due, --time, --notes) |
update <id> | Edit a task |
done / undone | Set complete/incomplete (idempotent) |
rm <id> | Delete a task |
search "<kw>" | Fuzzy search tasks |
mklist / rmlist | Create / delete a list |
The --due flag uses the same scheduling syntax as the GUI:
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.