A full task manager, living inside your wiki. Click the ☑ Tasks button in the toolbar and MojoPad becomes the to-do app you already know how to use: an Inbox for quick capture, a Today view with an overdue section and one-click Reschedule, priorities, due dates with times and durations, repeating tasks, projects, and a board and calendar for planning. Underneath, every task is an ordinary checklist line on a page — which means your tasks survive in plain Markdown, travel with your document, and can live right next to the thinking that produced them.
Use it the way you'd use a standalone task app:
Open any task app and you'll find projects. MojoPad starts one rung higher, from a simple observation about the work itself: everything you do is either a single task, a task that's part of a project, or a task in service of a goal. The sidebar is that sentence, standing up — and it reads top to bottom like one:
Link a project to a goal (right-click it) and it tucks in underneath; the goal's count rolls up every open task below it. One glance at the sidebar answers the question that matters: is anything actually moving toward what I care about?
Two deliberate absences. There's no shelf for reference material — a folder of reading never asks anything of you, and in a wiki, reference lives where it always did: in your pages, linked and searchable. And there's no archive — the Done view already holds your history, struck through on the very page where each task was finished. Nothing needs to be moved to be remembered.
And every task belongs somewhere in your life — that's what areas are for. Capture into the Inbox when you don't want to decide yet; the ladder is there when you do.
Hover a section header (GOALS, PROJECTS, AREAS, TAGS) and a small + appears — it opens the create dialog. A section that's still empty shows a dashed + Create… row instead, as the standing invitation; the moment the first entry exists, the row retires and the header's + takes over. Either door opens the same small dialog: a name, a colour (eight ready swatches plus a full colour wheel — or none for the quiet default), a Show in sidebar switch, and a live preview of the row you'll get. The colour tints that entry's mark everywhere — projects wear a folder, goals a target, areas a dot, tags a # — so a glance at the sidebar tells you where you are. For a new project or goal, typing an existing page's name elevates that page; a new name creates one.
Right-click any row for Color & appearance… (recolour or tuck it out of the sidebar — hidden entries keep working in pickers and filters) and Delete…. Deleting an area or tag also sweeps it off every task carrying it — the confirmation counts them first, and the tasks themselves stay. Deleting a goal sets its linked projects loose; deleting a project takes the page off the shelf — the page and its checklists always stay in your wiki. Hidden something and want it back? Right-click the section header (GOALS, PROJECTS, AREAS, TAGS) and choose it from the list.
Tasks that haven't been given an area gather under Unassigned — a one-click sweep list for filing them into their place in life.
From the Tasks surface: the + Add task row (bottom of the list, or the button at the top of the sidebar) opens the composer. Type naturally — "call the plumber tomorrow 9am" sets the date and time, "p1"–"p4" or the ⚑ chip sets priority, #errands attaches a tag. The chips below the field (Date, Priority, Area, Tags) fine-tune anything, and the selector at bottom-left chooses where the task lives: the picker lists your goals (◎) and projects (⌂) — each wearing its colour — with Tasks (inbox) on top as the "nowhere yet" choice. Type any page name, or a new name to create a project on the spot. A task can serve a goal directly — no project wrapper needed for "draft the five-year outline". Return adds and keeps the composer open for the next one.
From anywhere on your Mac: press the Bucket shortcut (⇧⌘7), start
with task: and write naturally — task: renew passport friday —
and it lands in your Tasks inbox, parsed and dated, without MojoPad ever
taking focus. Everything else you jot in the Bucket still goes to your
Bucket page; the prefix is the switch.
From your pages: checklists you write in notes stay page content — they are not tasks until you say so. The sidebar's ⇢ Import tasks from pages… lists every plain checkbox line in the wiki; tick the ones that are really tasks and they move to your inbox.
Today is the morning view: an Overdue section with a one-click Reschedule that sweeps everything to today, then the day's list. Upcoming groups by day. Inbox is the unfiled queue — every task you haven't yet filed onto a project or goal, dated or not; file one and it leaves the Inbox that moment, and a task's home chip reads ⌂ Inbox until you do. Recurring shows everything on a repeat. Done is the archive — nothing is ever moved to get there. The Journal opens each day with a Due today card (complete tasks right from it; turn it off in Settings if you prefer a quieter page).
Found an arrangement you love — say, the board grouped by area, filtered to this week? + Save current view pins it by name in the sidebar's VIEWS section. One click restores the whole arrangement; right-click deletes it.
Click a task to open its detail window: rename the title in place, add sub-tasks (they become nested checklist lines under the task) — they sit under a Sub-tasks heading that shows how many are done (2/5) and folds away behind a chevron when you want the task's other details front and center — and keep a running comment log — each note is stamped with the moment you wrote it, and lives in the page right under the task, visible wherever the page is read. Web addresses and app links in a comment are clickable, so "waiting on https://…" is one click to check. Tasks carrying comments show a 💬 count in every list. The rail on the right edits Project / Goal, Date, Priority, Area, Tags, and Reminder. In a list, the colored chips edit in place, and right-click any task for the full menu — including Delete task, which names any sub-tasks and comments it would take with it before you commit. (Done is history; Delete is for the task that should never have existed.)
Tasks that already exist can nest, too. You wrote "get panel estimate" and "call the electrician" as separate tasks, then realized one belongs inside the other: drag one row onto the other — the target lights up as a container, and the dropped task becomes its sub-task. (In a manually-sorted project, a row's top edge still means reorder above; its body means nest inside.) Or right-click and choose ⤷ Make sub-task of… — a type-to-filter picker lists every open task (the ones on the same page first, each showing its home), and picking one tucks the task underneath it as its last sub-task. The whole block travels: the task's own sub-tasks and comments ride along, and a parent on a different page works — the task moves to that page and nests there in one stroke. The inverse lives in the same menu on any sub-task: ⇱ Promote to full task lifts it out one level, landing it right after its old parent.
And the lists honor what you built. A page holds an outline, so the views draw one: sub-tasks sit indented under their parent, glued to it in page order no matter how the list is sorted, as deep as you nest them. When a sub-task earns its own place in a view but its parent doesn't — "get teeth cleaned" is due today, "find a dentist" isn't due at all — it appears as a full row wearing a quiet ⤷ breadcrumb back to its parent; click the breadcrumb to open the parent's detail. The rule underneath: a sub-task with a date is a first-class citizen of Today and the calendar — it never hides just because its parent didn't make the cut.
A task carrying five or six sub-tasks can own more of the list than you want to look at, so the tree folds. A parent task carries a small disclosure chevron in the left gutter (it whispers until you hover; a folded one always shows). Click ▾ and the sub-tasks tuck away; the parent's title gains a small done-count badge — 2/5 — so a folded task always confesses how much is behind it. If anything behind the fold is due today or overdue, the badge turns red: a fold can hide rows, never a deadline. Click ▸ to open it back up. Folds are remembered per task, so the lists stay the shape you left them.
You wrote "get an estimate to replace the electrical panel" and walked away. That task needs five smaller tasks before it moves — and the details that matter (the deadline, the budget) are sitting in your own notes. Right-click the task and choose ✦ Break it down (it's also in the detail window, next to Add sub-task). Your local AI reads the task, its comments, and the pages in your wiki that touch the same subject, then proposes the concrete next steps — each one a checkbox, all on by default. Untick the ones that aren't right, press Add, and the keepers land as real sub-tasks: nested checklist lines under the task, on its page, yours to edit like anything else you wrote.
If the task is sitting unfiled in the Inbox, the proposal may end with one more row: File under the project or goal it clearly serves — chosen only from shelves you already have, never invented. Accept it and the task moves there first, sub-tasks following. Everything runs on your Mac: the task, your notes, and the model never leave it. (If nothing happens, the AI isn't running — the window will say so; MojoPad's AI features need a local model, set up in Settings ▸ AI.)
And a small pleasure you'll meet the same day: finishing feels finished. Checking a task off pops the circle with a ring and the row settles away — and completing the last open task in Today, the Inbox, or a project earns a quiet beat across the screen: Today, cleared.
The date picker is the one your hands know: quick rows (Today, Tomorrow, Next week, Next weekend), a type-anything field, and a month calendar. ◷ Time opens the time panel — pick from fifteen-minute increments or type one, and give the task a duration ("30 min", "1 hour") that shows on the task and sizes its block in the Day view.
Reminders are real notifications. Give a task a reminder time and macOS notifies you at that moment — the app can even be closed; clicking the notification opens your tasks. The reminder panel speaks two modes: Before task (at the time of the task, or 10 minutes, 30 minutes, an hour, or a day before — these follow the task when it reschedules) and Date & time, a natural-language moment of your own. A bare time like "08:30" means that time on the task's due day.
Repeats come in two families. Every week counts from the due date — right for deadlines; miss a few and completing catches you up to the next real slot. Every 3 days after done counts from the moment you finish — right for habits like watering plants, where the clock restarts when you act. Completing a repeating task never strikes it out; it reschedules and tells you when it went.
The Display button (top right) switches layouts and remembers your choices per document. List offers grouping (by date, priority, tag, area, page) and sorting — including Manual, where dragging rows in a project view rearranges the page's actual lines. Board turns the Group key into lanes; drag a card across lanes to re-file it (its area, priority, tag, date, or page changes for real), and every lane has its own + Add task. Group by Status for a working board — To do · Doing · Done · Parked: drag into Done to complete, out of it to reopen, and mark a card ◐ Doing or ⏸ Parked from its right-click menu. Calendar shows Month, Week, and Day — drag tasks between days to reschedule, double-click a day to add, and keep the Unscheduled panel beside you for planning. The Day view is an hour grid: tasks with times appear as blocks sized by their duration — set times and durations and it becomes your day plan.
Planning tomorrow in two minutes: open Calendar ▸ Day, keep the Unscheduled panel beside you, and drag tasks onto the hours. Give each a duration from the time panel ("30 min", "1 hour") and the blocks size themselves — when the column is full, your day is honestly full, which is the whole point. Anything still sitting in Unscheduled at the end is tomorrow's honest backlog, not today's quiet guilt.
Every task is a checklist line on a page. The inbox is a page. A project is a page you've filed tasks onto. A goal is a page on a higher shelf. Pages born on the task surface — the Tasks inbox, and projects or goals you create there — file themselves into a Task Board folder in the sidebar, so they never clutter Unfiled. (Pages you elevate to projects stay wherever you keep them, and anything can be dragged out of Task Board without losing its role.) That means your tasks survive as plain text in your own document — exportable, searchable, linkable — and a task can sit inside the very note that explains it. Right-click a project to link it to a goal (it nests underneath, and the goal's count rolls up everything it serves), to unlink it, to recolour it, or to delete it from the shelf — the page and its checklists stay exactly as they were.
Because a task is a text line, everything the task manager knows about it is written after the text, in small tokens. You never have to type them — every picker and chip writes them for you — but they're yours to read, edit, or type by hand, and they survive every export, sync, and backup, because they're just words on your page:
@due(2026-07-21 09:00) — the due date, with a time when one is set@every(3 days) — a repeat counted from the due date; add
after done — @every(3 days after done) — to count from the
moment you finish, for habits@remind(30 min before), @remind(at task time), or a
concrete @remind(2026-07-21 08:00) — the reminder@for(45 min) — the duration that sizes the task's block in the
Day view@area(Home) — the area of life#errands — a tag (as many as you like)!critical / !high / !medium / !low — the
priority (p1–p4 work as quick-add shorthand)@status(doing) / @status(parked) — the Status board's
columnDelete a token and that fact is simply gone; move the line to another page and everything travels with it. In the task views the tokens dress up as the chips you click — on the page, they're honest text. This is the quiet guarantee under the whole feature: your tasks are readable by anything that can read text, decades from now included.