Find answers to common questions about TodoMode
There are several ways to create a task:
o to create a task below the current lineO (Shift+O) to create a task above the current lineEnter when on a task to create a new one belowTodoMode is designed for keyboard warriors. Press ? in the app to see all shortcuts, but here are the essentials:
j / k — Move down / upi / a — Edit at beginning / endSpace — Toggle task completionD — Delete task (to the trash)dd / p — Cut a task, then paste that same task somewhere elses — Set due dateu / Ctrl+R — Undo / redo. — Repeat the last changeo / O — Create task below / above: — Open command mode1 2 3 — Set priority (high / medium / low)Esc — Exit current modeType :h and the command or key, the way vim does: :h move, :h dd, :h CTRL-R. Help opens right above the command line; Esc closes it. :move ? (a ? after any command) shows the same, :set weekstart? shows a setting's value, and :h then Tab lists everything there is help for.
Use command mode to create projects:
: to enter command modenew ProjectName and press Enter:switch ProjectNamegh to go to the project listYes! Every new account gets a 7-day free trial with full access to all features. No credit card required to start.
TodoMode offers two pricing plans:
Both plans include:
Absolutely! You can cancel your subscription at any time from your account settings. Your access continues until the end of your current billing period. No questions asked, no cancellation fees.
We use Dodo Payments for secure payment processing. It accepts major credit and debit cards, plus other payment methods depending on your country.
Select a task and press s to open the due date picker (the same key works on the Agenda, the week view and the Kanban board). You can:
Yes! TodoMode supports unlimited projects. Create projects with :new ProjectName, switch between them with :switch, and delete with :delete. Each project maintains its own task list.
Yes! TodoMode is a full Progressive Web App (PWA) with offline support. When you lose your connection:
Some actions like search, sharing, and billing require an internet connection.
Yes! Use the :export command to download all your tasks and projects. Three formats are available: :export markdown, :export json and :export csv. This ensures you always have a backup and can migrate to other tools if needed.
Yes. While editing a task, type [[ and a few letters of the task you want, then pick it from the list. You can also write [[Exact title]] in a title or a note and it becomes a link when you save. Links work across projects, in notes too, and always show the other task's current title, so renaming or moving it never breaks them.
Click a link (or press gd on the task) to go there. Press gf on any task to see Linked from — every task that links to it — or type :backlinks to jump to one. A red, dashed link points to a deleted task (it works again if you restore it from the trash), and (private link) points to a task in a project you cannot open, whose title is never shown to you.
Yes. Select a task and press m and a letter to mark it, then ' and the same letter jumps back to it from any project, the Agenda or Home. Marks are saved to your account, so they follow you to every device; :marks lists them. Ctrl+O and Ctrl+I step back and forward through the places you jumped to, and '' returns to where your last jump started.
To replace text in titles, type :s/old/new/ for the selected task, or :%s/old/new/g for every task in the project (i ignores case, n only counts). One u (or Ctrl+Z) undoes the whole replacement, and links between tasks are never changed by it.
Yes. Type :vsplit and a project's name (:vs for short, Tab completes it) and that project opens in a second pane on the right. :vsplit on its own shows the project you are in twice, so you can zoom each pane into a different part of it. Each pane works like the whole app.
ww moves the keyboard between the panes (wh and wl pick the left or right one), or just click in one. To move a task across, press dd on it, ww, and p in the other pane — it keeps its subtasks, notes and files, and u puts it back. Both panes always show the latest changes. :q closes the right pane; :only keeps just the one you are in.
The window keys start with w rather than vim's Ctrl+W because Ctrl+W closes the browser tab and no website can stop it. Split view needs a window at least 900 pixels wide, so it is not available on phones.
TodoMode supports two ways to set reminders:
remind:3pm or r:tomorrow 9am directly in your task textrr on any task to open the picker with quick options and a custom datetime selectorReminders support natural language: remind:in 30 minutes, r:friday 10am, remind:next monday 8am, and more. You can combine them with other syntax: Buy milk remind:3pm due:tomorrow !high #shopping
Select several tasks first (press V for visual mode) and rr sets the same reminder on all of them at once.
Yes — that's what a relative reminder is for. Instead of naming a fixed moment, you anchor the reminder to the due date:
r:due — on the due dater:due-1d — one day beforer:due-1w — one week beforer:due-2h — two hours beforer:due+3h — three hours after, as a chase-upIf a deadline slips from the 31st to the 15th of next month, a fixed reminder still fires on the 30th — useless, and nothing warns you near the real deadline. A relative reminder moves with the task automatically.
Relative reminders fire at 9:00 AM on the day they land. If a task doesn't have a due date yet, the reminder shows as pending and arms itself as soon as you add one.
Yes. Open the project and run :reminders -1d. Every task in it that has a due date and no reminder of its own is now reminded a day before — including tasks you add later.
Because the project stores a rule rather than a timestamp, changing the default later (say to -2d) updates every inheriting task at once. Run :reminders off to clear it.
Individual tasks always win over the project default:
rr and choose Use project default to start following the project again.Reminder bells with a dashed border come from the project default; solid ones were set on the task itself.
TodoMode can notify you via:
Configure your preferences in Profile Settings → Preferences → Notifications. You can enable one, both, or neither.
Go to Profile Settings → Preferences → Notifications and enable "Push notifications." Your browser will ask for permission to show notifications. Push notifications work best when TodoMode is installed as a PWA (Add to Home Screen on mobile, or install via the browser address bar on desktop).
Note for iOS: Push notifications require iOS 16.4+ and TodoMode must be installed as a PWA via "Add to Home Screen" in Safari.
Yes. In Settings → Integrations, create your private calendar link and subscribe to it from your calendar app (Google: Other calendars → From URL; Apple: New Calendar Subscription; Outlook: Subscribe from web). Every task with a due date appears as an event; completed, deleted and archived tasks are left out, and a repeating task shows its next date.
The feed is read-only, and calendar apps decide how often to refresh it — Apple can check every 15 minutes, Google and Outlook usually every few hours. Task notes are included only if you choose. Treat the link like a password: anyone who has it can read your dated tasks, and “Make a new link” turns the old one off at once.
Yes — turn on the daily digest in Settings → Integrations and pick a time. Each morning you get what is overdue and what is due today (with times), plus how many more are due this week. On days with nothing due, no email is sent. Every digest has a one-click link to turn it off.
By email: Settings → Integrations gives you a private address. Send or forward a message to it and it becomes a task in your Inbox project: the subject is the task (you can write Pay rent due:fri #home), the message becomes its note, and images and PDFs up to 5 MB are attached. No reply is ever sent. If the address starts receiving junk, make a new one.
From the Share menu (Android): install TodoMode as an app, and it appears when you share a link or text from other apps. You check the task, pick a project (your Inbox by default) and save. iPhone and iPad do not allow web apps in the Share menu, so use email there.
Security is our priority. We use:
Go to Profile Settings → Account → Two-Factor Authentication. Scan the QR code with your authenticator app (Google Authenticator, Authy, etc.) and enter the verification code to enable 2FA.
Yes. Go to Profile Settings → Account → Delete Account. This permanently deletes all your data within 30 days. Make sure to export your data first if you want to keep it.
After cancellation, your access continues until the end of your billing period. After that, your account becomes read-only and you have 30 days to export your data before it's deleted.
TodoMode works best on modern browsers:
JavaScript and cookies must be enabled.
TodoMode is installable as a Progressive Web App (PWA) on any device. On your phone or tablet, open TodoMode in your browser and tap "Add to Home Screen" (or "Install App" on Android). You'll get a native app-like experience with:
Yes. TodoMode has a REST API, so your own scripts, a command line or an AI assistant can read and add tasks for you. Create a personal API token in Settings → API — read-only, or read and write, with an optional expiry — and send it with each request. New tasks understand the same shorthand as the app (due:fri, #tag, !high, @weekly), and you can revoke a token at any time.
Everything is documented in the API reference. You may not need to write any code: there is a command line tool and an MCP server for AI assistants (below).
Yes. TodoMode runs a hosted MCP (Model Context Protocol) server at https://app.todomode.com/mcp. Connect Claude Code, Claude Desktop, Cursor or any other MCP client with a personal API token, and the assistant can see your projects and agenda, search, and — if you give it a read-and-write token — add, update and complete tasks. In Claude Code it is one command:
claude mcp add --transport http todomode https://app.todomode.com/mcp --header "Authorization: Bearer tm_…"
When you create a token in Settings → API, TodoMode shows this command with your token filled in. A read-only token lets an assistant look but never change anything; deleted tasks go to the trash either way, and you can revoke a token at any time. See setup for every client.
Yes: todomode, a single-file command line tool that needs only Python 3. Add tasks with the same shorthand as the app (todomode add "Fix login due:fri #work"), list a project as an outline, see today's agenda, tick tasks off by number, edit notes in your own editor, and pipe markdown lists in. Every command can print JSON for scripts.
Install it with one line from the command line guide, then run todomode login with a token from Settings → API.
We're here to help! Reach out to our support team.